They are deterministic




Download 1,82 Mb.
bet16/18
Sana12.02.2024
Hajmi1,82 Mb.
#155128
1   ...   10   11   12   13   14   15   16   17   18
Bog'liq
MD5





MD5 algoritmining yakuniy bosqichi, 64 ta operatsiyadan keyin


64-operatsiya o'zidan oldingilarning har biri kabi davom etadi, 63-operatsiyaning natijalarini I funktsiyasi uchun ishga tushirish vektorlari sifatida ishlatadi. Operatsiyaning har bir bosqichidan o'tgandan so'ng, u bizga A, B, C va D uchun yangi qiymatlarni beradi.
Aytaylik, bu qiymatlar:

  • A - 60cdceb1

  • B - 7d502063

  • C - 8b3d715d

  • D - 1de3a739

Birinchidan, biz yana kichraytiramiz va kattaroq MD5 algoritmini ko'rib chiqamiz:

Ushbu bosqichda biz "...ning 16 ta amali" degan pastki to'rtburchakni tugatdik. Agar siz pastga o'qlarni kuzatib boradigan bo'lsangiz, ular to'rtta modulli qo'shimcha hisob-kitoblar bilan qutiga ulanganligini ko'rasiz . Boshqa ma'lumotlar biz MD5 algoritmining boshida foydalangan ishga tushirish vektorlaridan keladi.
Bu bosqich uchun ularni asl ishga tushirish vektori A, B va hokazolar uchun OIV-A, OIV-B va hokazo deb nomlaymiz. Bu narsalarni aniq saqlashga yordam berishi kerak. Ushbu asl ishga tushirish vektorlari:

  • OIV-A - 01234567

  • OIV-B - 89abcdef

  • OIV-C - fedcba98

  • OIV-D - 76543210

Yana bir bor modulli qo'shish uchun tenglamamiz:
(X + Y) mod Z
Ushbu holatda:

  • X – 60cdceb1 (64-operatsiyadan keyin ishga tushirish vektor A uchun chiqish).

  • Y – 01234567 (OIV-A).

  • Z – 100000000 (bu 232).

Shuning uchun:
(60cdceb1 + 01234567) mod 100000000
Keling, modulli qo'shimchalar uchun onlayn kalkulyatorimizga qaytaylik . Yana bir bor, biz bu tenglamani bosqichma-bosqich bajarishimiz kerak, chunki kalkulyator qavslarga ruxsat bermaydi. Birinchi ikkita raqamni kiritish orqali qo'shamiz:
1   ...   10   11   12   13   14   15   16   17   18




Download 1,82 Mb.