|
They are deterministic
|
bet | 12/18 | Sana | 12.02.2024 | Hajmi | 1,82 Mb. | | #155128 |
Bog'liq MD5
Ikkinchi operatsiya oldingi operatsiya bilan bir xil naqshlardan o'tadi, ammo u turli qiymatlar bilan amalga oshiriladi. Nafaqat ishga tushirish vektorlari, balki ba'zi kirishlar ham farq qiladi. Operatsiya quyidagi yo'nalishlarda davom etadi:
B, C va D uchun yangi qiymatlar F funksiyasi orqali oldingi amaldagi kabi qo'yiladi.
Natijada modulli qo'shish orqali A ning yangi qiymatiga qo'shiladi.
Bu safar, kirish xabaridagi ikkinchi so'z M1 modulli qo'shilish bilan oldingi bosqichdagi natijaga qo'shiladi. Kirish M bo'limiga ko'ra, M1 - 54686579.
Modulli arifmetika yana bir marta ishlatiladi, bu safar oxirgi natija K2 bo'lgan doimiyga qo'shiladi. Operatsiyalar bo'limidagi K qiymatlari ro'yxatiga ko'ra K2 e8c7b756 hisoblanadi .
Keyin oxirgi qismdan natijani olamiz va uni chapga o'tkazamiz. Biroq, uni etti bo'shliqqa siljitish o'rniga, bu safar biz uni o'n ikkiga o'tkazamiz. Buning sababi shundaki, biz "Amallar" bo'limida chap bit-shiftlar uchun qo'ygan qiymatlar S2 ning 12 ekanligini belgilaydi. Bu ikkinchi operatsiyada 12 chapga siljiydi.
Keyinchalik bu natija modulli arifmetika bilan B vektorini ishga tushirish uchun yangi qiymatga qo'shiladi.
Natijada uchinchi operatsiya uchun yangi ishga tushirish vektor B bo'ladi. B, C va D qiymatlari ham o'ngga aylantiriladi, shuning uchun B boshlang'ich vektor C, C boshlang'ich vektor D va D boshlang'ich vektor A bo'ladi.
Keyingi operatsiyalar
Hozircha, siz har bir alohida operatsiyada nima sodir bo'lishini tushunib oldingiz deb umid qilaman. 3 dan 16 gacha bo'lgan operatsiyalarning har biri "boshlash vektorlari" sifatida oldingi operatsiyalar natijalari bilan boshlanadi. Biroq, bu natijalar har doim bir harf o'ngga siljigan.
Keyingi operatsiyalar quyidagilarni o'z ichiga oladi:
B, C va D qiymatlari F funksiyasidan o'tadi.
Natijalar modulli qo'shish orqali tegishli A qiymatlariga qo'shiladi.
Natijalar xabar kiritishning tegishli qismiga qo'shiladi, Mi.
Natijalar tegishli konstantaga qo'shiladi, Ki.
Si ga ko'ra, o'zgartirilayotgan natijalar ma'lum miqdordagi bo'sh joy qoldirdi.
Natijalar B initsializatsiya vektoriga qo'shiladi va bu qiymat keyingi bosqichda yangi ishga tushirish B vektoriga aylanadi.
Qolgan uchta qiymat bir bo'shliqqa o'ngga siljiydi.
Uchinchi operatsiyaning yakuniy qiymatlari to'rtinchi operatsiya uchun ishga tushirish vektorlariga, to'rtinchi operatsiyaning yakuniy qiymatlari esa beshinchi operatsiyani boshlash vektorlariga aylanadi. Ushbu naqsh 15-raund natijalarini ishga tushirish vektorlari sifatida ishlatadigan 16-operatsiyagacha davom etadi. 16-operatsiya natijalari ikkinchi turning birinchi operatsiyasi uchun "boshlash vektorlari" bo'ladi.
|
| |