PDA

View Full Version : رمز نگاری و رمز گشایی MD5



ztx4
چهارشنبه 11 اسفند 1389, 20:30 عصر
سلام دوستان
آیا می شه از روی یک داده ی رمزگذاری شده با MD5 درC# به داده ی اصلی رسید؟
یعنی راهی برای decryption وجود داره؟

من احتیاج دارم که این کارو انجام بدم.

2 تا سوال دیگه هم هست

1- آیا مقدار هایی که این الگوریتم تولید می کنه یکتاست؟
2- بهترین الگوریتم رمزگذاری چیه؟

ayub_coder
چهارشنبه 11 اسفند 1389, 21:06 عصر
md5 یک الگوریتم یک طرفه است و غیر قابل بازیابی

ztx4
چهارشنبه 11 اسفند 1389, 21:21 عصر
ببخشید من بعد از زدن این تاپیک تو وب چرخیدم به اینجا رسیدم.
(http://www.codeproject.com/KB/cs/Cryptography.aspx)این گفته ی شمارو نقض نمی کنه؟

Sajjad.Aghapour
چهارشنبه 11 اسفند 1389, 21:26 عصر
درباره نحوه کارکرد MD5 CR*A_CKER ها تحقیق کنید ببینید چگونه MD5 رو Decrypt میکنن...
در مورد اینکه مقادیر یکتایی تولید میکنن خوب بله.البته اکثر کدهای تولید شده توسط این الگوریتم ها توسط برنامه نویسان با Salt تلفیق میشن و ذخیره میشن.به همین دلیل ممکنه کارتون در Decrypt کردن مشکل بشه.
برای اینکه کدوم الگوریتم بهتر هستش هم بستگی به کار شما داره: مثلا سرعت، یک طرفه یا دوطرفه بودن و ....یه نگاهی به لینک زیر بندازید:
http://stackoverflow.com/questions/800685/which-hash-function-should-i-choose

ztx4
پنج شنبه 12 اسفند 1389, 23:47 عصر
درباره نحوه کارکرد MD5 CR*A_CKER ها تحقیق کنید ببینید چگونه MD5 رو Decrypt میکنن...
در مورد اینکه مقادیر یکتایی تولید میکنن خوب بله.البته اکثر کدهای تولید شده توسط این الگوریتم ها توسط برنامه نویسان با Salt تلفیق میشن و ذخیره میشن.به همین دلیل ممکنه کارتون در Decrypt کردن مشکل بشه.
برای اینکه کدوم الگوریتم بهتر هستش هم بستگی به کار شما داره: مثلا سرعت، یک طرفه یا دوطرفه بودن و ....یه نگاهی به لینک زیر بندازید:
http://stackoverflow.com/questions/800685/which-hash-function-should-i-choose

مرسی از جوابتون.
من خودم می خوام رمزنگاری رو انجام بدم و در بانکم ذخیره کنم.سپس اونو از بانک استخراج و رمز گشایی کنم.
ضمنا تو همین لینکی که شما دادید گفته شده که این الگوریتم ها برخورد دارند! و شما می فرمایید مقادیر یکتایی تولید می کنند.نظرتون راجع به این چیه؟
این Salt که فرمودید چی هست؟من متوجه نشدم.
مرسی.

Vahid_moghaddam
جمعه 13 اسفند 1389, 10:23 صبح
برای رمزنگاری از الگوریتم هایی مثل 3Des استفاده کنید. salt مقداریه که به طور تصادفی تولید می شه و به آیتمی که قراره hash بشه اضافه می شه. فرض کنید قراره کلمه LOVE هش بشه. الگوریتم هایی مثل md5 , sha256 و ... یک مقدار یکتا برای love ایجاد می کنند مثلا x اگر هکر برای یک مورد بفهمه x مقدار هش شده love هست بنابراین تمام love ها رو می شناسه. اما اگه کلمه love برای یک کاربر با مثلا qwe ترکیب بشه و برای کاربر دیگه با dfg اونوقت خروجی الگوریتم مقدار های مختلف خواهد داشت.

Sajjad.Aghapour
جمعه 13 اسفند 1389, 12:28 عصر
من خودم می خوام رمزنگاری رو انجام بدم و در بانکم ذخیره کنم.سپس اونو از بانک استخراج و رمز گشایی کنم.

بهتره از الگوریتم های دوطرفه استفاده کنید.همون طور که آقا وحید گفتن از DES میتونید استفاده کنید


ضمنا تو همین لینکی که شما دادید گفته شده که این الگوریتم ها برخورد دارند! و شما می فرمایید مقادیر یکتایی تولید می کنند.نظرتون راجع به این چیه؟

وجود Collision در الگوریتم های Hashing معمولی هستش.ولی احتمالات اونها متفاوته.در الگوریتم های Hashing چیزی به عنوان ضریب برخورد داریم که بستگی طول فضای ذخیره سازی، تعداد کلیدهای Hash شده و ... داره که البته در اینجا کمی این مفاهیم بی معنی هستن(اینها نظرات عقیدتی/شخصی بود D:).
اما با توجه به گفته هایی که وجود داره امنیت MD5 نسبت به بقیه کمتره(ماشالا دنیا پرشده از MD5 Cracker) و بعضی از الگوریتم ها بدون برخورد معرفی شده اند و ....ولی به هر حال فاکتورهای اصلی انتخاب باعث تشخیص یک الگوریتم خواهد شد.بطوریکه میبینید MD5 یک الگوریتم پرکاربرد هستش...

در مورد Salt هم تحقیق کنید چیزای زیادی گیرتون میاد:
http://en.wikipedia.org/wiki/Salt_(cryptography)

ztx4
یک شنبه 15 اسفند 1389, 00:10 صبح
مرسی دوستان از پاسختون
حالا چرا می گید از des لستفاده کنم؟چه مزیتی داره؟