|
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.
|
| |