standartlar
va
texnologiyalar
Milliy
instituti
(NIST)
tomonidan
ishlab
chiqilgan bo‘lib, 1992 yilda axborotni qayta ishlash federal standarti (RUB
FIPS 180) ko‘rinishida nashr qilindi. 1995 yilda bu standart qaytadan ko‘rib
chiqildi va SHA-1 deb nomlandi (RUB FIPS 180-1). SHA algoritmi MD4
algoritmiga asoslanadi va uning tuzilishi MD4
algoritmining tuzilishiga
juda yaqin. Bu algoritm DSS standarti asosidagi elektron raqamli imzo algoritmlarida
ishlatish uchun mo‘ljallangan. Bu algoritmda kiruvchi ma’lumotning uzunligi 264 bitdan
kichik bo‘lib, xesh qiymat uzunligi 160 bit bo‘ladi. Kiritilayotgan ma’lumot 512 bitlik
bloklarga ajratilib qayta ishlanadi.
Xesh qiymatni hisoblash jarayoni quyidagi bosqichlardan iborat:
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. 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.
2- bosqich. Ma’lumotning uzunligini qo‘shish.
1-bosqichning natijasiga berilgan ma’lumot uzunligining 64
bitlik qiymati
qo‘shiladi.
3- bosqich. Xesh qiymat uchun bufer initsializatsiya qilish.
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.