PDA

View Full Version : سوال: توابع الگریتم رمز نگاری



habibvafapour
شنبه 06 آبان 1391, 11:51 صبح
سلام دوستان
میخواستم بدونم توابعی بهتر از این دو توابع ()md5 و ()sha1 رو برای رمزنگاری کردن میشناسید که قدرتمند تر باشند.
من توابع رو برای رمزنگاری کردن پسورد احتیاج دارم .
ممنون میشم من رو راهنمائی کنید.

habibvafapour
شنبه 06 آبان 1391, 16:57 عصر
دوستان خوشحال میشوم کسی کمکم کنه
شاید به درد دیگران هم بخوره

eshpilen
یک شنبه 07 آبان 1391, 13:08 عصر
md5 و sha1 که ناامن هستن و دیگه نباید برای هش کردن پسورد کاربران استفاده بشن. بخصوص بدون key stretching و salt رندوم و اینها.

الگوریتم های مخصوصی برای این کار وجود دارن.
bcrypt.
scrypt.
ولی آدم خودش هم میتونه یک الگوریتم که خیلی بهتر از md5 و sha1 خالی باشه طراحی کنه.
این الگوریتم باید بر اساس اصول و تجربه های علم رمزنگاری باشه.
سه خصوصیت مهم هست که باید در این الگوریتم لحاظ بشه:
- key stretching
- سالت رندوم مناسب به ازای هر اکانت (حالا اینکه مناسب یعنی چی، داستان خودش رو داره)
- سالت ثابت و رندوم مناسب به ازای کل سایت
البته عدم استفاده از الگوریتم های ضعیف و سوراخی مثل md5 و sha1 هم مهمه، اما فکر میکنم مهمتر از همه اون سه تا خصوصیت باشه که گفتم.
بنده در پروژهء خودم از SHA256 استفاده کردم.

البته از نظر تخصصی و اصولیش استفاده از bcrypt یا scrypt (این یکی خفن ترینه) توصیه میشه، ولی بنده شخصا به دلایلی از الگوریتم خودم استفاده کردم که فکر میکنم حداقل فعلا از نظر امنیتی کفایت بکنه (مگر اینکه با امثال NSA یا نابغه ها و خبرگان علم رمزنگاری و احتمالا سخت افزار طرف باشیم).
ضمنا یادتون باشه اگر از bcrypt یا scrypt استفاده کردید، اینها سالت ثابت رو سرخود ندارن و باید خودتون به ورودیها اضافه کنیدش.

خب الگوریتم مورد استفادهء بنده رو میتونید در اینجا بررسی کنید: http://www.hamidreza-mz.tk/?p=519