رمزنگاری کردن پسورد و اطلاعات

پرسیده شده
فعالیت 1148 روز پیش
دیده شده 546 بار
0

سلام 

ببخشید درباره هش کردن پسورد چندتا سوال داشتم :

1. تو الگوریتم های هش کردن اطلاعات که امکان استفاده ازشون رو داریم بهترینش همین BYCRYPT هست یا بهتر از اون هم وجود داره ؟

2. این الگوریتم های هش کردن اطلاعات، الگوریتمش مشخص هست که مثلا بشه برش گردوند ؟

3. پیرو سوال قبلیم، آیا نیاز به هش کردن سایر اطلاعات کاربرا هم هست و اگر هش بکنیم امکان برگردوندنش وجود داره؟ چون دیدم استاد فرمودن برای برگردوندنش نیاز به کامپیوترهای قوی هست، پس چطور سیستم های چت آنلاین میان تموم چت های کاربرانشونو تماماً به صورت رمزنگاری شده نگه داری میکنن؟؟

فایل پیوست

امیر ابوئی
امیر ابوئی

18 اسفند 99

1
حذف شده

سلام.

الگوریتم های هش، برگشت پذیر نیستن و یک سویه هستن، منتهی با روش هایی مثل بروت فورس با داشتن پسورد لیست های بزرگ و سیستم های قوی هش های متفاوتی تولید میکنن و با هش سایت مورد نظر بررسی میکنن یا اینکه دیتا تیبل هایی از هش پسورد لیست هاشون درست میکنن و هر هشی رو بدید و اگر قبلا داخل دیتابیسشون وجود داشته باشه، رمز اصلیو بهت نشون میده.

مثلا الگوریتم md۵ که بعنوان یک الگوریتم سوراخ :دی نامبرده میشه، بعلت سرعت بالایی که در تولید هش داره، در زمان کمی میتونه تعداد زیادی هش تولید کنه. بنابراین یک نکته ی امنیتی الگوریتم های هش، زمان تولید هش هست.

هش md۵ عدد ۱۲۳ برابر:

202cb962ac59075b964b07152d234b70

و اگر این هش رو به این سایت بدید، عدد ۱۲۳ رو برمیگردونه. این به معنی دیکریپت شدن نیست. بخاطر وجود داشتن این هش در دیتابیسشونه. پس اگر کاربر در همین الگوریتم یک رمز قوی انتخاب کرده باشد، از کشف شدنش میشه جلوگیری کرد. برای مثال در همون سایت هش https://۷learn.com وجود نداره.

8e1a94b90339e37121e2a60c91b37ee4

در مورد برگشت ناپذیر بودن هش هم یک مثال بیارم، اگر یک کتاب پر از مطلب رو هم به الگوریتم md5 بدید، یک هش 32 کاراکتره برمیگردونه که مشخصا هر رابطه ای هم نمیتونه برگشت بزنه.

 

چند سال پیش کنفرانسی هشینگ رو میدیم یک مقایسه ای رو نشون داد که با یک سیستم کلاستر با ۲۵ gpu , در هر ثانیه ۳۰۰ هزار پسورد با الگوریتم pbkdf۲ رو چک کنه. 

در نتیجه الگوریتم pkbdf۲:

پسورد ۶ کاراکتری میتونست در ۲۸ روز 

و ۷ کاراکتری در ۷ سال 

و ۸ کاراکتری ۳۰۰ سال طول بکشه تا کشف بشه.

اما bcrypt: 

۶ کاراکتری: ۱۲۰ روز 

۷ کاراکتری: ۳۱ سال 

۸ کاراکتری: ۳۰۰۰ سال

مواردیرو باید هش کرد که نیاز به برگشتش نباشه وگرنه باید از encoding یا encryption استفاده کنید.

در مورد رمز نگاری که در سیستم هایی مانند چت انجام میشه، بر اساس پروتوکل نرم افزار، داده ها encrypt میشن که قابل decrypt شدن و برگشت پذر هستن.

فایل پیوست

محسن موحد

توسط

محسن موحد

19 اسفند 99