|
13 Amaliy ish Mavzu
|
bet | 2/4 | Sana | 19.09.2024 | Hajmi | 100,2 Kb. | | #271636 |
MD 5 xesh funksiyasi. MD 5 xesh funksiyasi algoritmi Massachusets texnologiya instituti professori Ronald Rivest tomonidan 1992 yilda ishlab chiqilgan. Bu algoritmda kiruvchi ma’lumot uzunligi ixtiyoriy bo‘lib, xesh qiymat uzunligi 128 bit bo‘ladi. MD 5 xesh funksiyasi algoritmida kiruvchi ma’lumot 512 bitlik bloklarga ajratilib, ular 16 ta 32 bitlik qism bloklarga ajratiladi va bular ustida amallar bajariladi.
Faraz qilaylik, bizga uzunligi b bit bo‘lgan, bu yerda b – ixtiyoriy nomanfiy butun son, ma’lumot berilgan bo‘lsin va bu ma’lumotning bitlari
m0 m1 … m(b-1)
tartibda yozilgan bo‘lsin.
Xesh qiymatni hisoblash uchun quyidagi beshta bosqich bajariladi:
1-bosqich. To‘ldirish bitlarini qo‘shish
Berilgan ma’lumot uzunligi 512 modul bo‘yicha 448 bilan
taqqoslanadigan (ma’lumot uzunligi 448 mod 512) qilib to‘ldiriladi, ya’ni, kengaytirilgan ma’lumotning uzunligi unga eng yaqin bo‘lgan 512 ga karrali bo‘lgan sondan 64 bitga kichik bo‘lishi kerak. To‘ldirish hamma vaqt, hattoki ma’lumot uzunligi 512 modul bo‘yicha 448 bilan taqqoslanadigan bo‘lsa ham bajariladi.
To‘ldirish quyidagi tartibda amalga oshiriladi: ma’lumotga 1 ga teng bo‘lgan bitta bit qo‘shiladi, qolgan bitlar esa 0 lar bilan to‘ldiriladi.
Shuning uchun qo‘shilgan bitlar soni 1 dan 512 tagacha bo‘ladi.
bosqich. Ma’lumotning uzunligini qo‘shish
1-bosqichning natijasiga berilgan ma’lumot uzunligining 64 bitlik qiymati qo‘shiladi. Agar ma’lumotning uzunligi 264 bitdan katta bo‘lsa, bu uzunlik mod 264 bo‘yicha olinib qo‘shiladi.
Shunday qilib, birinchi ikkita bosqich bajarilgandan keyin uzunligi 512 bitga karrali bo‘lgan ma’lumot olinadi, ya’ni kengaytirilgan ma’lumot uzunligi 16 ta 32 bitlik so‘zdan iborat blok uzunligiga karrali bo‘ladi. Natijada hosil qilingan ma’lumotning so‘zlarini M[0, ..., N-1] orqali belgilaymiz, u holda N soni 16 ga karrali bo‘ladi. Shunday qilib, N=L16
bo‘ladi.
Ushbu ikkita bosqichni quyidagicha tasvirlash mumkin:
|
| |