ЭЦПГОСТР 34.10-94 algoritmida
bu standart uzunlik 32 baytga teng bo’lishi talab qilinadi. Demak, xesh -
funktsiya algoritmining hal qilishi kerak bo’lgan asosiy masala - istalgan
uzunlikdagi va hajmdagi ma’lumotdan kerakli uzunlikdagi (
masalan, 32 baytli ) sonlar ketma-ketligini hosil qilishdir. Bunday talablarga javob
beradigan xesh-funktsiya algoritmini yaratish unchalik qiyin ish emas, ammo
bu funktsiya bir qancha talablarga javob berishi kerak. Eng avvalo, xesh-
funktsiya yordamida olingan natija boshlang’ich ma’lumotga birga-bir mos
kelsin va bu natija boshlangi’ch ma’lumotning har qanday o’zgarishida ham
unga yana birga-bir mos kelsin. Undan tashqari, xesh-funktsiya shunday
hisoblanilishi kerakki, har qanday
M ma’lumot uchun
h(M) =h(M*) bo’lgan
M* ma’lumotni tanlab olish yoki topish mumkin bo’lmasin. Boshqacha
so’zlar bilan aytganda,
h(M) =h(M*) shartni qanoatlantiruvchu
M ma’lumot
va uning xesh-funktsiyasi ma’lum bo’lganida,
M* ma’lumotni muvaffaqiyatli
hisoblashga ketadigan mehnat sarfi ma’lumotlarni to’g’ridan-to’gri saralash
uchun zarur bo’lgan mehnat sarfiga ekvivalent bo’lishi kerak. Bu shartning
bajarilmasligi
potentsial
firibgarga
imzoni
o’zgartimasdan
turib,
ma’lumotlarni almashtirib qo’yish imkoniyatini yaratishi mumkin. Boshqa
tomondan qaraganda, ko’pchilik ma’lumotlar uchun xesh-funktsiyalar bir xil
bo’lishi mumkin, chunki mumkin bo’lgan ma’lumotlar to’plami xesh-
funktsiyalarning mumkin bo’lgan to’plami sonidan ancha ko’p miqdorda
bo’ladi. Ya’ni, ma’lumotlar soni cheksiz miqdorda bo’lib, xesh-funktsiyalar
soni esa
2*N gateng bo’ladi, bu yerda N – xesh funktsiyaning bitlardagi
uzunligi. Xozirgi paytda eng keng tarqalgan xesh-funktsiyalar algoritmlari
sifatida quyidagilarni ko’rsatishimiz mumkin:
Rossiyada qo’llaniladigan standart