نمایش نتایج 1 تا 17 از 17

نام تاپیک: مقاله: MD5 چیست؟

  1. #1
    . آواتار oxygenws
    تاریخ عضویت
    دی 1382
    محل زندگی
    تهران/مشهد
    پست
    6,333

    مقاله: MD5 چیست؟

    مقاله ای که اینجا می نویسم، ترجمه اکثر RFC مربوط به MD5 می باشد.
    اگر ترجمه اش مزخرفه، عذر می خوام.

    ************************************************** ***

    1- خلاصه:
    در این مقاله با الگوریتم "خلاصه پیام MD5" آشنا می شویم. این الگوریتم یک رشته با طول متفاوت را به عنوان ورودی می گیرد و یک "خلاصه پیام MD5" یا "اثر انگشت" با طول 128 بیت می سازد.
    در این روش اینکه دو پیام مختلف دارای یک "خلاصه پیام" باشند یا اینکه یک رشته از روی یک "خلاصه پیام" ساخته شود غیر ممکن می باشد. این الگوریتم برای امضاهای دیجیتال مناسب است، جایی که احتیاج به خلاصه کردن یک فایل بزرگ در یک رشتهء امن و فشرده، قبل از کد کردن آن متن، در سیستم های کدینگ، با کلید های خصوصی و عمومی آن سیستم مانند RSA (Rivest Shamir Adelman)
    الگوریتم MD5 برای داشتن سرعت بالا در ماشین های 32 بیتی طراحی شده است در عین حال احتیاجی به جانشینی ها در جداول بزرگ ندارد. این الگوریتم را با کدهای بسیار کمی می توان نوشت.
    الگوریتم MD5 توسعه ای از الگوریتم MD4 می باشد با این تفاوت که MD5 کمی کندتر از MD4 عمل می کند اما در طراحی آن بسیار محافظه کارانه عمل شده است.
    MD5 به این دلیل طراحی شد که حس کردند MD4 به عنوان سرعت بالایی که داشت پذیرفته شده و از امنیت بالایی در شرایط بحرانی برخوردار نمی باشد. MD4 برای سرعت بالا طراحی شده ولی احتمال شکست آن در رمز کردنی موفق وجود دارد. MD5 کمی در سرعت کند شده با این تفاوت که بیشترین امنیت را داراست. این الگوریتم حاصل تاثیر دادن نظرات تعدادی از استفاده کنندگان MD4 به همراه مقادیری تغییر در ساختار الگوریتم برای افزایش سرعت و قدرت آن می باشد. الگوریتم MD5 در این مکان عومی قرارگرفته تا از آن استفاده و در صورت امکان استاندارد شود.

    2- شرایط و نکات لازم:
    در این متن منظور از « کلمه» تعداد 32 بیت و «بایت» تعداد 8 بیت داده می باشد. یک صف از بیت ها دارای خصوصیات طبیعی یک صف از بایتها می باشند که هر گروه هشت تایی متوالی از بیتها یک بایت را تشکیل می دهند که پرارزش ترین بیت در ابتدا قرار دارد. یک صف از بایت ها دقیقا مشابه یک صف 32 بیتی از کلمات پردازش می شود. جایی که گروهی 4 تایی از توالی بایتها پردازش می شوند، کم ارزش ترین بایت اولین بایت می باشد.
    اجازه بدهید از x_i بجای xi (x اندیس i ) استفاده کنیم و اگر مقدار اندیس یک عبارت محاسباتی بود آن را در {} محدود می کنیم، مانند: x_{i-1} . همچنین از ^ به عنوان علامت توان استفاده می کنیم، پس x^i یعنیx به توان i .
    اجازه بدهید از علامت «+» برای اضافه کردن دو کلمه به هم استفاده کنیم. از x<<<5 به عنوان عملگر چرخش بیتی در کلمات استفاده می شود کهx به اندازه 5 بیت به چپ چرخش می کند.
    از not (x) به عنوان عملگر نقیض بیتی، از X v Y به عنوان عملگر فصل (or) و از X xor Y به عنوان عملگر exclusive or و از XY به عنوان عملگر عطف (and) استفاده می کنیم.

    3- توضیحات الگوریتم MD5:
    فرض کنید ما b بیت پیام به عنوان ورودی داریم و تصمیم داریم خلاصه پیام آن را بدست آوریم. b در اینجا یک عدد نا منفی و صحیح است، b می تواند مقدار صفر داشته باشد و هیچ محدودیتی برای مضرب هشت بودن آن نیست و به هر اندازه می تواند بزرگ باشد. فرض کنید بیت های این پیام را بشود به صورت زیر نوشت:
    m_0 m_1 ... m_{b-1}

    برای آوردن خلاصه پیام 5 مرحله زیر را انجام می دهیم:

    گام 1- اضافه کردن بیتهای نرم کننده:
    طول پیام مورد نظر به 448 به پیمانه 512 توسعه پیدا می کند به این معنی که اگر به طول پیام 64 بیت اضافه شود، طولش مضربی از 512 خواهد بود. عمل توسعه دادن همیشه اجرا می شود مگر اینکه طول پیام به صورت 448 به پیمانه 512 باشد.
    عمل توسعه پیام یا نرم کردن آن به صورت زیر انجام می شود:
    یک بیت [1] سپس تعدادی بیت [0] به پیام اضافه می شود.اضافه شدن بیت های 0 تا زمانی که طول رشته به 448 بر پایه 512 برسد، ادامه پیدا می کند. در این عمل حداقل یک بیت و حداکثر 512 بیت اضافه خواهد شد.

    گام 2- افزایش طول:
    یک نمایش 64 بیتی از b بیت پیام اولیه به آخر نتیجه گام قبل اضافه می شود. در بدترین حالت، b بزرگتر از 64 بیت خواهد بود. در این حالت فقط 64 بیت کم ارزش b استفاده خواهد شد.
    هم اکنون طول پیام بدست آمده دقیقا معادل مضربی از 512 خواهد بود. مشابه اینکه بگوییم، این پیام طولی معادل مضربی از16 کلمه دارد اجازه بدهید M[0…N-1] را نمایانگر کلمات پیام بدست آمده بدانیم. (N مضربی از 16 می باشد.)

    گام 3- یین بافر برای MD:
    برای محاسبه خلاصه پیام یک بافر 4 کلمه ای (A,B,C,D) استفاده می شود. هر کدام از A، B، Cو D یک ثبات 32 بیتی می باشند. این ثبات ها مطابق جدول زیر مقدار دهی می شوند ( بایتهای کم ارزش در ابتدا قرار دارند )
    word A: 01 23 45 67
    word B: 89 ab cd ef
    word C: fe dc ba 98
    word D: 76 54 32 10


    گام 4- پردازش پیام در بلاک های 16 کلمه ای:
    در ابتدا 4 تابع کمکی تعریف می کنیم که هر کدام به عنوان ورودی سه کلمهء 32 بیتی می گیرد و برای خروجی یک کلمهء 32 بیتی تولید می کند.
    F(X,Y,Z) = XY v not(X) Z
    G(X,Y,Z) = XZ v Y not(Z)
    H(X,Y,Z) = X xor Y xor Z
    I(X,Y,Z) = Y xor (X v not(Z))

    در هر موقعیت بیتی، F به عنوان شرط عمل می کند: اگر X آنگاه Y در غیر این صورت Z. تابع F می توانست طوری تعریف شود که به جای استفاده از v از + استفاده کند چون XY و not(X) هرگز یک هایی در موقعیت بیتی یکسان نخواهد داشت. جالب است به یاد داشته باشید که اگر بیت های X، Y و Z مستقل و غیر مرتبط باشند، هر بیت از F(X, Y, Z) مستقل و غیر مرتبط خواهد بود.
    توابع G، H و I شبیه تابع F هستند، به طوری که آنها در "توازی بیتی" کار می کنند تا خروجی شان را از بیت های X، Y و Z تولید کنند. در چنین روشی اگر بیت های متناظر X، Y و Z مستقل و غیر مرتبط باشند، آنگاه هر بیت از G(X, Y, Z)، H(X, Y, Z) و I(X, Y, Z) مستقل و غیر مرتبط خواهند بود.
    توجه داشته باشید که تابع H، تابع XOR یا توازن بیتی از ورودی هایش است. این گام از یک جدول 64 عنصری T[1…64] ساخته شده از یک تابع مثلثاتی، استفاده می کند. اجازه دهید T[i]، I-امین عنصر جدول را مشخص می کند که برابر است با قسمت صحیح حاصلضرب 4294967296 در abs(sin(i))، به طوری که I به رادیان باشد.
    کارهای زیر را انجام می دهید:

    /* Process each 16-word block. */
    For i = 0 to N/16-1 do

    /* Copy block i into X. */
    For j = 0 to 15 do
    Set X[j] to M[i*16+j].
    end /* of loop on j */

    /* Save A as AA, B as BB, C as CC, and D as DD. */
    AA = A
    BB = B
    CC = C
    DD = D

    /* Round 1. */
    /* Let [abcd k s i] denote the operation
    a = b + ((a + F(b,c,d) + X[k] + T[i]) <<< s). */
    /* Do the following 16 operations. */
    [ABCD 0 7 1] [DABC 1 12 2] [CDAB 2 17 3] [BCDA 3 22 4]
    [ABCD 4 7 5] [DABC 5 12 6] [CDAB 6 17 7] [BCDA 7 22 8]
    [ABCD 8 7 9] [DABC 9 12 10] [CDAB 10 17 11] [BCDA 11 22 12]
    [ABCD 12 7 13] [DABC 13 12 14] [CDAB 14 17 15] [BCDA 15 22 16]

    /* Round 2. */
    /* Let [abcd k s i] denote the operation
    a = b + ((a + G(b,c,d) + X[k] + T[i]) <<< s). */
    /* Do the following 16 operations. */
    [ABCD 1 5 17] [DABC 6 9 18] [CDAB 11 14 19] [BCDA 0 20 20]
    [ABCD 5 5 21] [DABC 10 9 22] [CDAB 15 14 23] [BCDA 4 20 24]
    [ABCD 9 5 25] [DABC 14 9 26] [CDAB 3 14 27] [BCDA 8 20 28]
    [ABCD 13 5 29] [DABC 2 9 30] [CDAB 7 14 31] [BCDA 12 20 32]

    /* Round 3. */
    /* Let [abcd k s t] denote the operation
    a = b + ((a + H(b,c,d) + X[k] + T[i]) <<< s). */
    /* Do the following 16 operations. */
    [ABCD 5 4 33] [DABC 8 11 34] [CDAB 11 16 35] [BCDA 14 23 36]
    [ABCD 1 4 37] [DABC 4 11 38] [CDAB 7 16 39] [BCDA 10 23 40]
    [ABCD 13 4 41] [DABC 0 11 42] [CDAB 3 16 43] [BCDA 6 23 44]
    [ABCD 9 4 45] [DABC 12 11 46] [CDAB 15 16 47] [BCDA 2 23 48]

    /* Round 4. */
    /* Let [abcd k s t] denote the operation
    a = b + ((a + I(b,c,d) + X[k] + T[i]) <<< s). */
    /* Do the following 16 operations. */
    [ABCD 0 6 49] [DABC 7 10 50] [CDAB 14 15 51] [BCDA 5 21 52]
    [ABCD 12 6 53] [DABC 3 10 54] [CDAB 10 15 55] [BCDA 1 21 56]
    [ABCD 8 6 57] [DABC 15 10 58] [CDAB 6 15 59] [BCDA 13 21 60]
    [ABCD 4 6 61] [DABC 11 10 62] [CDAB 2 15 63] [BCDA 9 21 64]

    /* Then perform the following additions. (That is increment each
    of the four registers by the value it had before this block
    was started.) */
    A = A + AA
    B = B + BB
    C = C + CC
    D = D + DD

    end /* of loop on i */


    گام 5- خروجی:
    خلاصه پیامی که به عنوان خروجی تولید می شود و عبارت است از A، B، C و D، که ما با کم ارزش ترین بیت A شروع می کنیم و به با ارزش ترین بیت D خاتمه می دهیم. این تعریف MD5 را کامل می کند.

    4- نتیجه:
    الگوریتم خلاصه پیام MD5 به سادگی قابل اجرا می باشد و یک "اثر انگشت" یا "خلاصه پیام" از پیام با طول اختیاری تولید می کند. گمان برده می شود که امکان مواجه شدن با دو پیام که خلاصه پیام مشابهی دارند از رتبهء 64^2 و برای هر پیامی که به آن یک خلاصه پیام داده شده است از رتبهء 128^2 می باشد.
    الگوریتم MD5 برای نقاط ضعف به دقت بررسی شده است. به هر حال این الگوریتم نسبتا جدید است و تحلیل امنیتی بیشتری را طلب می کند، مشابه طرح های مشابه در این رده.

    5- پانویس:
    این مقاله اطلاعاتی برای جامعهء اینترنتی مهیا کرده و البته هیچ استانداردی را مشخص نمی کند. انتشار این مقاله به هر تعداد آزاد می باشد.

    ************************************************** ***

    - بعضی از بخش های این RFC که از اهمیت کمتری برخوردار بود حذف شده.
    - می تونید فایل doc رو از اینجا بگیرید: http://www.oxygenws.com/md5.doc
    - هر نوع کپی برداری با نام مترجم بلامانع است.

    موفق باشید، امید
    ایمیل من
    سایت من

    عضویت در جامعه‌ی اهدای عضو

    Direct PGP key: http://tinyurl.com/66q5cy
    PGP key server: keyserver.ubuntu.com
    PGP name to search: omidmottaghi

  2. #2
    آقای متقی خسته نباشید و ممنون از مقالتون :flower:

  3. #3
    بسیار عالی بود آقا دمت گرم
    الگوریتم نسبتا ساده است اگر کسی از دوستان بصورت کامپوننت بنویسد امکان استفاده و تستش هم هست.

    نکته: فکر میکنم در بخش 3 آخر گام اول جمله
    در این عمل حداقل یک بیت و حداکثر 512 بیت اضافه خواهد شد
    باید به صورت
    در این عمل حداقل یک بیت و حداکثر 448 بیت اضافه خواهد شد
    اصلاح شود.
    :oops: :oops: :oops: :oops: :oops: :oops:

  4. #4
    راستی اینا میگن یه نرم افزار برای هک کد های hash شده MD5 هست.
    http://www.simorgh-ev.com/security/m...ile.php?lid=14

  5. #5
    . آواتار oxygenws
    تاریخ عضویت
    دی 1382
    محل زندگی
    تهران/مشهد
    پست
    6,333
    نقل قول نوشته شده توسط MM_Mofidi
    بسیار عالی بود آقا دمت گرم
    الگوریتم نسبتا ساده است اگر کسی از دوستان بصورت کامپوننت بنویسد امکان استفاده و تستش هم هست.

    نکته: فکر میکنم در بخش 3 آخر گام اول جمله
    در این عمل حداقل یک بیت و حداکثر 512 بیت اضافه خواهد شد
    باید به صورت
    در این عمل حداقل یک بیت و حداکثر 448 بیت اضافه خواهد شد
    اصلاح شود.
    :oops: :oops: :oops: :oops: :oops: :oops:
    ممنون از همه دوستان. این مطلب رو یه سالی می شه ترجمه کردم، اصلا یادم نبود که اون عدد چنده، خودم هم حوصلهء خوندن و درک دوباره نداشتم!!! رفتم خود RFC 1321 رو خوندم. این هم دقیقا همون مطلب:
    In all, at least one bit and at most 512 bits are appended.

    :) پس درسته :) اگر هم اشتباهه، تقصیر من نیست!!! :)
    ممنون
    ایمیل من
    سایت من

    عضویت در جامعه‌ی اهدای عضو

    Direct PGP key: http://tinyurl.com/66q5cy
    PGP key server: keyserver.ubuntu.com
    PGP name to search: omidmottaghi

  6. #6
    . آواتار oxygenws
    تاریخ عضویت
    دی 1382
    محل زندگی
    تهران/مشهد
    پست
    6,333
    نقل قول نوشته شده توسط MM_Mofidi
    راستی اینا میگن یه نرم افزار برای هک کد های hash شده MD5 هست.
    http://www.simorgh-ev.com/security/m...ile.php?lid=14
    کلا الگوریتم MD5 از اونجایی که اطلاعات رو مخدوش می کنه، قابل بازیابی نیست، یعنی کلا یه الگوریتم یک طرفه یه. با طرز نوشتن تو سایت سیمرغ (هه هه هه، رو سرور خودم هم هستند :) ) فکر کردم که ادعا کرده می تونه هک کنه!!!

    آموزش رو گرفتم.... روشی جز brute force نبود که از قدیم هم تنها راه هک کردن رمز های MD5 بوده. همونطور که توی آموزش می بینی این برنامه با یک سیستم با فلان قدر (یعنی خیلی زیاد) پردازنده و رم. رمز های عبور 6 رقمی که توش فقط حرف و کاراکتر های حروف کوچیک انگلیسی باشه رو تو 10 دقیقه پیدا می کنه. دقیقا به همین دلیله که 8 کاراکتر برای رمز عبور یه مقدار استاندارد شده. چون با این برنامه که به قول سیمرغ "خیلی خوب از CPU استفاده می کنه" کرک رمز عبوری که فقط عدد و حروف کوچک انگلیسی داشته باشه و طولش 8 کاراکتر باشه چیزی حدود 13 هزار دقیقه طول می کشه (یعنی 216 ساعت و 9 روز) که همچین زمانی با مصرف 100% CPU طرف رو رو هر سرور و شبکه ای رسوا می کنه!!!

    به هر حال، می تونید مطمئن باشید که راهی برای کرک کردن این نوع انکودینگ نیست، چون اطلاعات در زمان انکود کردن از بین رفته.

    موفق باشید، امید
    ایمیل من
    سایت من

    عضویت در جامعه‌ی اهدای عضو

    Direct PGP key: http://tinyurl.com/66q5cy
    PGP key server: keyserver.ubuntu.com
    PGP name to search: omidmottaghi

  7. #7
    با توجه به RFC 1321 آیا فکر میکنید 512 درست است یا 448؟؟؟

  8. #8
    . آواتار oxygenws
    تاریخ عضویت
    دی 1382
    محل زندگی
    تهران/مشهد
    پست
    6,333
    نقل قول نوشته شده توسط MM_Mofidi
    با توجه به RFC 1321 آیا فکر میکنید 512 درست است یا 448؟؟؟
    سلام،

    خوب، طول پیام باید برابر X*512+448 بشه، درسته؟؟ که X هم هر مقداری می تونه باشه.
    همانطور که تو متن می بینید:
    عمل توسعه پیام یا نرم کردن آن به صورت زیر انجام می شود:
    یک بیت [1] سپس تعدادی بیت [0] به پیام اضافه می شود.
    یعنی حتما حداقل یک عدد "1" قرار خواهد گرفت. حال فرض کنید طول رشتهء اولیهء ما 448 باشد. با اضافه شدن "1" طولش 449 می شود و برای رسیدن به 512+448 باید 511 عدد دیگر هم به آخرش اضافه کنیم که در مجموع می شود 512 رقم.
    پس:
    در این عمل حداقل یک بیت و حداکثر 512 بیت اضافه خواهد شد.
    موفق باشید، امید
    ایمیل من
    سایت من

    عضویت در جامعه‌ی اهدای عضو

    Direct PGP key: http://tinyurl.com/66q5cy
    PGP key server: keyserver.ubuntu.com
    PGP name to search: omidmottaghi

  9. #9

    دست شما درد نکنه........

    باسلام و با تشکر از مقاله قشنگتون.
    سئوال:شما درباره نقطه ضعفهای radius چیزی میدونید؟
    با تشکر
    :?:

  10. #10
    . آواتار oxygenws
    تاریخ عضویت
    دی 1382
    محل زندگی
    تهران/مشهد
    پست
    6,333
    خواهش می کنم، لطف دارید.
    راستش من اصلا نمی دونم radius چیه!!
    ایمیل من
    سایت من

    عضویت در جامعه‌ی اهدای عضو

    Direct PGP key: http://tinyurl.com/66q5cy
    PGP key server: keyserver.ubuntu.com
    PGP name to search: omidmottaghi

  11. #11
    مرسی از مقاله. تو جونم رسیدیت!!!!

  12. #12
    کاربر دائمی آواتار CodeMasterX
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    Iran, Shiraz
    سن
    35
    پست
    960
    نتونستم به یه تشکر بسنده کنم!
    دستتون درد نکنه، مقاله فارسی از MD5 نخونده بودم.در مورد سوال اون دوستمون و نوشته سایت سیمرغ (هه هه!) که گفته بود میشه این الگوریتم رو کرک کرد من هم باید بگم فقط بحث زمان و تعداد کاراکتر ها و فرمت داده ها مهم نیست، اصلا این روش امکان پذیر نیست.برگشتی در کار نیست، اصلا کدینگ یعنی همین، اگر مقدار برگشتی میخوان باید برین سراغ رمزنگاری (Encryption) که با استفاده از یه کلید خاص داده ها رو رمزنگاری می کنه، و قابل بازگشت هم هست.

    حدود 1 ماه پیش یه کتاب خریدم از انتشارات نص به اسم "امنیت داده ها" که یکی از استادان هیات علمی دانشگاه علم و صنعت تهران نوشته (اگر درست یادم باشه).کتاب خیلی خوبی بود و تلفیقی ار ترجمه چندی کتاب هست که تمام روش ها رمزنگاری و کدینک و غیره رو توضیح داده و مثال زده.بزگترین حال خرید این کتاب سی دی همراهش هست که حدود 100 تا eBook توش داره درمورد Cryptography,Encryption,hashing,Coding و چیزهای دیگه مربوط به امنیت داده.

    کتاب خوبیه، ما که استفاده کردیم.

  13. #13
    کاربر دائمی آواتار Hadizadeh
    تاریخ عضویت
    اردیبهشت 1382
    محل زندگی
    World of Machine
    پست
    326
    از این md5 میشه به عنوان قفل نرم افزاری هم استفاده کرد؟

  14. #14
    کاربر تازه وارد آواتار Devilprogramer
    تاریخ عضویت
    آبان 1385
    محل زندگی
    خونمون
    پست
    68
    اول اینکه آقای متقی تشکر که این مطلب ارزنده رو گذاشتین ..

    گفتم یکی دو مورد رو بگم یکی از دوستان گفته بودن
    اصلا این روش امکان پذیر نیست.برگشتی در کار نیست، اصلا کدینگ یعنی همین
    md5 یکی از روشهای Hashing هه با coding فرق داره .. hash در حقیقت یک digest از متن مورد نظر ما رو در اختیارمون قرار می ده .. راه برگردوندن نداره چون تابع یکطرفست .. مورد استفادش اینه که وقتی یک متنی رو با مقدار hash اش می فرستید در مقصد دوباره اون عملیات مربوطه روی متن انجام می شه و مقدار hash جدید بدست آمده بامقدار hash فرستاده شده مقایسه می شه و اگر این دو یکی بودن معنیش اینه که پیغام درست رسیده .. حالا اون متن می تونه encrypt شده باشه یا اینکه encode شده باشه .. در امضاهای دیجیتال که با public key ها و ca ها طرفیم هم به روشی مشابه استفاده می شه ..
    راجع به شکسته شدن md5 حدود دو سال پیش روشهای حمله کارآمدی برای حمله بهش پیدا شد .. میدونید که md5 در router ها بسیار زیاد استفاده می شد .. با تغییراتی تونستن این الگوریتم رو بهبود بدن اما مساله اینه که سرعتش پایین تر میاد .. الان ورژن های آخری SHA امن تر هستند

  15. #15
    کاربر تازه وارد آواتار small_programmer
    تاریخ عضویت
    بهمن 1383
    محل زندگی
    تهران
    پست
    81
    با سلام و تشکر از مقاله جالبتون
    فقط یک نکته:
    احتمال اینکه دو تا ورودی غیر یکسان کد md5 یکسان تولید کنند منتفی نیست هر چند احتمال بسیار کمی داره و
    برای کمتر شدن این احتمال از روش sha1 یا sha256 یا sha512 یا ... می شه استفاده کرد. ولی سرعت md5 بیشتره.
    فکر کنم روشهای rainbow برای وقتی که کد md5 رو می دونیم و می خواهیم یکی از متنهای مولد اونو تولید کنیم می تونه
    کمی کار رو سریعتر تر کنه.(برای اطلاعات بیشتر به wikipedia مراجعه کنید)

    ممنون

  16. #16
    . آواتار oxygenws
    تاریخ عضویت
    دی 1382
    محل زندگی
    تهران/مشهد
    پست
    6,333
    احتمال اینکه دو تا ورودی غیر یکسان کد md5 یکسان تولید کنند منتفی نیست هر چند احتمال بسیار کمی داره و
    برای کمتر شدن این احتمال از روش sha1 یا sha256 یا sha512 یا ... می شه استفاده کرد. ولی سرعت md5 بیشتره.
    درسته منتفی نیست، این هم منتفی نیست که همین الان یک در هواپیما از هواپیما جدا بشه و بخوره تو سر شما! :)

    فکر کنم روشهای rainbow برای وقتی که کد md5 رو می دونیم و می خواهیم یکی از متنهای مولد اونو تولید کنیم می تونه کمی کار رو سریعتر تر کنه.
    در این تاریخ که من می نویسم، روش rainbow قطعیت نداره، در حالی که BF قطعیت داره. یعنی rainbow با توجه به جداول موجود ممکنه پیدا بکنه و ممکنه نکنه، اما BF به هر حال پیدا می کنه (حالا چندین میلیارد میلیارد میلیارد قرن!)

    اگر عبارت md5 توی rainbow باشه که خوب زود پیدا میشه، اما اگر نباشه، اصلا پیدا نمی شه.

    ضمن اینکه rainbow رو میشه با روش هایی پیچوند (یعنی احتمال قطعیتش رو کم کرد)، مثل افزودن نمک (salt) به رمز عبور کاربران. افزودن یه سری کاراکتر عجیب غریب، یا تولید یک عبارت عجیب از ID یک کاربر و یا ...
    ایمیل من
    سایت من

    عضویت در جامعه‌ی اهدای عضو

    Direct PGP key: http://tinyurl.com/66q5cy
    PGP key server: keyserver.ubuntu.com
    PGP name to search: omidmottaghi

  17. #17

    نقل قول: مقاله: MD5 چیست؟

    سلام دوستان
    كسي ميتونه چند مثال بزنه از عباراتي كه كد توليد شده توسط MD5 براي اونها يكسان است؟

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •