|
They are deterministic
|
bet | 16/18 | Sana | 12.02.2024 | Hajmi | 1,82 Mb. | | #155128 |
Bog'liq MD5
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:
|
| |