|
bosqich. Ma’lumotning uzunligini qo‘shish
|
bet | 201/216 | Sana | 19.07.2024 | Hajmi | 7,52 Mb. | | #267965 |
Bog'liq 5ffd2d83d9d2c (1) bosqich. Ma’lumotning uzunligini qo‘shish.
1-bosqichning natijasiga berilgan ma’lumot uzunligining 64 bitlik qiymati qo‘shiladi.
Xesh funksiyaning oraliq va oxirgi natijalarini saqlash uchun 160 bitlik buferdan foydalaniladi. Bu buferni beshta 32 bitlik A, B, C, D, E registrlar ko‘rinishida tasvirlash mumkin. Bu registrlarga 16 lik sanoq sistemasida quyidagi boshlang‘ich qiymatlar beriladi:
A=0x67452301, B=0xEFCDAB89, C=0x98BADCFE, D=0x10325476, E=0xC3D2E1F0.
Keyinchalik bu o‘zgaruvchilar mos ravishda yangi a, b, c, d va e o‘zgaruvchilarga yozib olinadi.
bosqich. Ma’lumotni 512 bitlik bloklarga ajratib qayta ishlash.
Bu xesh funksiyaning asosiy sikli quyidagicha bo‘ladi: for (t = 0; t < 80; t++){ temp = (a <<< 5) + ft(b, c, d) + e + Wt + Kt ; e = d; d = c; c = b <<< 30; b = a; a = temp; }, Bu yerda <<< - chapga siklik surish amali. Kt lar 16 lik sanoq sistemasida yozilgan quyidagi sonlardan iborat:
ft(x, y, z) funksiyalar esa quyidagi ifodalar bilan aniqlanadi:
Wt lar kengaytirilgan ma’lumotning 512 bitlik blokining 32 bitlik qism bloklaridan quyidagi qoida bo‘yicha hosil qilinadi:
Asosiy sikl tugagandan keyin a, b, c, d va e larning qiymatlari mos ravishda A, B, C, D va E registrlardagi qiymatlarga qo‘shiladi hamda shu registrlarga yozib qo‘yiladi va kengaytirilgan ma’lumotning keyingi 512 bitlik blokini qayta ishlashga o‘tiladi.
|
| |