|
They are deterministic
|
bet | 6/18 | Sana | 12.02.2024 | Hajmi | 1,82 Mb. | | #155128 |
Bog'liq MD5Modulli qo'shimcha
Agar siz F qutisidan chiqadigan o'qni ko'rsangiz, u oynaga o'xshash boshqa kvadratga ishora qilayotganini ko'rasiz. Ushbu qutiga A dan o'q ham kiradi. Quti belgisi modulli qo'shimchani bildiradi .
MD5 haqidagi boshqa maqolamizda modulli operatsiyalarni taqdim etdik . Agar sizga tezkor eslatma kerak bo'lsa, o'sha bo'limni qayta ko'rib chiqishingiz mumkin. Biroq, modulli arifmetika bo'yicha keyingi maqolaga murojaat qilish foydaliroq bo'lishi mumkin , chunki modulli qo'shilish biz avval aytib o'tgan modul operatsiyalaridan biroz farq qiladi.
Algoritmning ushbu bosqichi uchun formula:
(X + Y) mod Z
Qayerda:
X – 01234567 (initsializatsiya vektori A, biz MD5 algoritmining Initializatsiya vektorlari bo‘limida muhokama qilgan oldindan belgilangan qiymat)
Y - fedcba98 (oldingi bosqichdagi F funktsiyasining natijasi)
Z - 100000000 (bu 2 32 ga ekvivalentdir (bu tenglamaning natijasi sakkiz belgidan oshmasligini ta'minlaydi)
Biz hamma narsani formulamizga kiritsak, biz quyidagilarni olamiz:
(01234567 + fedcba98) mod 100000000
Biz modul operatsiyasini bajarish uchun ushbu onlayn kalkulyatordan foydalanamiz .
Birinchidan, "Raqam a turi", "Raqam b turi", " C turi" va "Hisoblash natijasini a ga aylantirish" uchun o'n oltilik raqamni tanlang. Yana bir bor operatsiyani qismlarga bo'lishimizga to'g'ri keladi, chunki bu kalkulyator qavslarga ham ruxsat bermaydi.
Kiriting:
01234567 raqamini "Qiymatni raqamlash" ga kiriting .
fedcba98 ni " B raqamining qiymati" ga kiriting.
“Hisoblash tenglamasi” degan maydonga “ add(a,b) ” ni kiriting. Bu shunchaki kalkulyatorga biz A va B uchun kiritgan raqamlarni qo'shishni aytadi. Bu bizga quyidagi natijani beradi:
ffffffff
Keyingi qadam uchun quyidagilarni kiriting:
ffffffff "Qiymatni raqamlash" ga kiriting .
100000000 “ b raqami qiymati”ga.
|
| |