|
ta operatsiyadan to'rtta tur
|
bet | 4/18 | Sana | 12.02.2024 | Hajmi | 1,82 Mb. | | #155128 |
Bog'liq MD516 ta operatsiyadan to'rtta tur
Ushbu jarayon 16 ta operatsiya uchun tsiklda davom etadi. Har safar yuqorida ko'rsatilgan ma'lumotlar ularning tegishli ishlashi uchun ishlatiladi. 17-operatsiya ikkinchi turning boshlanishi bo'lib, jarayon xuddi shunday davom etadi, faqat uning o'rniga G funksiyasidan foydalaniladi.
Uchinchi raund davomida H funksiyasidan foydalanilganda, 33-operatsiyada vaziyat yana o'zgaradi. To'rtinchi raund 49-operatsiyada boshlanadi va uning o'rniga I funktsiyasi qo'llaniladi.
To'rtinchi bosqich va uning 64-operatsiyasi yakunlangandan so'ng, natijalar biz yuqorida sanab o'tgan dastlabki ishga tushirish vektorlariga qo'shiladi. Ushbu hisob-kitobning natijasi bizning kiritishimizning yakuniy MD5 xeshidir.
Keling, F funktsiyasini o'rganishdan boshlaylik.
F funktsiyasi
F funksiyasi bitli amaldir (G, H va I funktsiyalari ham shunday). Bular asosan kompyuterlar uchun ikkilik bilan arifmetikani bajarishning tez va oson usullari. Kompyuterlar o'z ishlarini ikkilik tizimda bajarsa-da, biz asosan o'n oltilik tizimga yopishib olamiz, chunki uni o'qish osonroq. Agar sizga bu nima ekanligini chuqurroq tushunish kerak bo'lsa, MD5 haqidagi boshqa maqolamizdagi o'n oltilik bo'limiga qarang .
F funktsiyasi:
F(B, C, D) = (B∧C)∨(¬B∧D)
Agar siz ilgari mantiqiy algebrani o'rganmagan bo'lsangiz , bu belgilar biroz chalkash bo'lishi mumkin. Boolean algebrasining to'liq muhokamasi bizni juda ko'p tangenslardan xalos qiladi, ammo bu asosan hisoblashda ko'p ishlatiladigan algebraning maxsus turi.
Siz bilishingiz kerak bo'lgan belgilar quyidagilardir:
∧– VA
∨– YOKI
¬ – YO‘Q
⊕ - XOR, bu asosan ikkalasini ham anglatadi, lekin ikkalasini ham emas.
Endi biz Initializatsiya vektorlari bo'limida muhokama qilgan ishga tushirish vektorlari uchun raqamlarni kiritishimiz mumkin :
F (89abcdef, fedcba98, 76543210) = (89abcdef VA fedcba98) YOKI (NOT-89abcdef VA 76543210)
Ushbu hisobni onlayn mantiqiy kalkulyator bilan yakunlashimiz mumkin . Biroq, biz uni alohida bosqichlarga bo'lishimiz kerak, chunki bu kalkulyator tenglamani to'g'ri tartiblash uchun qavslardan foydalanishga imkon bermaydi.
Agar siz buni o'zingiz sinab ko'rmoqchi bo'lsangiz:
Javob Operatsiya natijasi yonida paydo bo'ladi:
|
| |