logo

Xesh-funksiyalarning umumiy oilasi

Yuklangan vaqt:

12.08.2023

Ko'chirishlar soni:

0

Hajmi:

722.794921875 KB
I. Xesh-funksiyalarning umumiy oilasi 
II. MUNDARIJA
III. KIRISH …………………………………………………………..  3
IV. Xesh funksiyalar …………………………………………………  5
V. Kriptografik xesh funksiyalar …………………………………..  9
VI. Xesh  funksiyasining  xususiyatlari ……………………………..  14
VII. Raqamli imzoni tekshirish muolajasi .…………………………..  18
VIII. Xesh funksiyalarini tuzish usullari ……………………………… 23
IX. Hesh funksiyasini yaratish algoritmlarini ko’rib chiqish ……… 32
X. 8.  Xulosa ……………………………………………………………… 36
XI. 9.  Foydalingan adabiyotlar ………………………………………….  37
1 KIRISH 
Dolzarbligi     Ko'pincha, torrentlarni  yoki  to'g'ridan -to'g'ri  fayllarni  o'zlari  yuklab
olayotganda,   tavsifda   “ad33e486d0578a892b8vbd8b19e28754”   ( masalan,   ex.ua
da )   kabi   narsalar   bo'ladi,   ko'pincha   "md5”   yozuvli.   Bu   xesh   -kod   -   bu   kiruvchi
ma'lumotlarni qayta ishlashdan so'ng xash funksiyasi ishlab chiqaradigan natijadir.
Ingliz   tilidan   tarjima   qilingan   xash   chalkashlik,   marixuana,   o't   yoki   mayda
tug'ralgan   go'sht   va   sabzavotlardan   iborat   idishni   bildiradi.   juda,   juda   qiyin,
deyishimiz   mumkin,   bu   deyarli   imkonsiz.   Keyin   savol   tug'iladi:   "Bularning
barchasi bizga nima uchun kerak, ular hali ham tushunib bo'lmaydigan tushunarsiz
so'zlarni berishadi?" 
Xash funktsiyasi nima va u qanday ishlaydi
Bu   funksiya   har   qanday   katta   hajmdagi   kiruvchi   ma'lumotlarni   belgilangan
uzunlikdagi   natijaga   aylantirish   uchun   mo'ljallangan.   Bunday   o'zgartirish
jarayonining   o'zi   xash,   natijasi   esa   xesh   yoki   xesh   kod   deb   ataladi.   Ba'zida
"barmoq  izi"  yoki   "xabar   hazm  qilish"  so'zlari   haligacha  ishlatiladi,   lekin  amalda
ular kamroq tarqalgan. Ma'lumotlar massivini ma'lum uzunlikdagi belgilar ketma -
ketligiga   aylantirish   uchun   juda   ko'p   turli   xil   algoritmlar   mavjud.   Eng   keng
tarqalgan md5 algoritmi bo'lib, u 1991 yilda ishlab chiqilgan. Bugungi kunda md5
biroz   eskirgan   va   foydalanish   uchun   tavsiya   qilinmaganiga   qaramay,   u   hali   ham
ishlatilmoqda   va   ko'pincha   "xash   kod"   so'zining   o'rniga,   saytlar   md5   yozadi   va
kodning o'zini ko'rsatadi.
Nega xash funktsiyasi kerak
Natijani bilib, dastlabki ma'lumotlarni aniqlash deyarli mumkin emas, lekin bir xil
kirish   ma'lumotlari   bir   xil   jamlanmani   beradi.   Shuning   uchun,   xash   funktsiyasi
(konvulsiyalar   funktsiyasi   deb   ham   ataladi)   ko'pincha   saqlash   uchun
ishlatiladi   muhim   ma’lumotlar   ,   parol,   login,   identifikatsiya   raqami   va   boshqalar
kabi   Shaxsiy   ma’lumot ...   Foydalanuvchi   kiritgan   ma'lumotni   ma'lumotlar   bazasida
saqlanayotgan ma'lumotlar bilan solishtirish o'rniga, ularning xeshlari solishtiriladi.
Bu   tasodifan   ma'lumot   sızıntısı   bo'lsa,   hech   kim   muhim   ma'lumotlardan   o'z
maqsadlari   uchun   foydalana   olmasligini   ta'minlaydi.   Hash   -kodni   taqqoslab,
Internetdan   fayllarni   yuklash   to'g'riligini   tekshirish   ham   qulay,   ayniqsa   yuklash
paytida ulanish uzilgan bo'lsa.  
2 Kurs ishini maqsadi : Xesh-funksiyalarning umumiy oilasi
Kurs ishi vazifalari:
 Xesh funksiyalar
 Kriptografik xesh funksiyalar
 Xesh funksiyasining  xususiyatlari 
 Raqamli imzoni tekshirish muolajasi.
 Xesh funksiyalarini tuzish usullari 
   Hesh funksiyasini yaratish algoritmlarini ko’rib chiqish
Kurs ishini tarkibi :  Kus ishini tarkibi,Kirish , Xulosa, foydalanilgan adabiyotlar
ro’yxati va ilovalardan iborat .
3 I. Xesh funksiyalar
Xash funktsiyalari: ular nima
 1-rasm
Maqsadiga qarab xash funktsiyasi uch turdan biri bo'lishi mumkin:
1. Axborotning yaxlitligini tekshirish funktsiyasi
Tarmoq   orqali   amalga   oshirilganda,   paketning   xeshi   hisoblab   chiqiladi   va   bu   natija   fayl
bilan   birga   yuboriladi.   Qabul   qilinganidan   so'ng,   xash   kodi   qayta   hisoblab   chiqiladi   va
tarmoq   orqali   olingan   qiymat   bilan   solishtiriladi.   Agar   kod   mos   kelmasa,   bu   xatolarni
ko'rsatadi   va   buzilgan   paket   yana   uzatiladi.   Bunday   funksiya   tez   hisoblash   tezligiga   ega,
lekin   oz   miqdordagi   xesh  qiymatlari   va  barqarorligi  past.   Bu   turga   misol:   CRC32,  u   faqat
232 xil qiymatga ega.
2. Kriptografik funksiya
(ND)   dan   himoya   qilish   uchun   ishlatiladi.   Ular   tarmoq   orqali   fayllarni   uzatish   paytida   ND
natijasida   ma'lumotlar   buzilganligini   tekshirishga   imkon   beradi.   Bu   holda   haqiqiy   xash
hamma   uchun   ochiqdir   va   natijada   olingan   faylning   xeshini   turli   xil   dasturlar   yordamida
hisoblash mumkin. Bunday funktsiyalar uzoq va barqaror hayotga ega va to'qnashuvlarni
qidirish   (har   xil   kirish   ma'lumotlari   natijasida   mumkin   bo'lgan   tasodiflar)   juda   qiyin.
Ma'lumotlar bazasida parollar (SH1, SH2, MD5) va boshqa qimmatli ma'lumotlarni saqlash
uchun aynan shu funktsiyalar ishlatiladi.
3. Ma'lumotlarning samarali tuzilishini yaratish uchun mo'ljallangan funksiya
Uning maqsadi - xash -jadval deb nomlangan maxsus tuzilmada ma'lumotlarni ixcham va
adolatli   tartibga   solish.   Bunday   jadval   qo'shish   imkonini   beradi   yangi   ma'lumotlar ,
ma'lumotlarni o'chiring va kerakli ma'lumotlarni juda yuqori tezlikda qidiring.
(ba'zan   xesh)   -   ixtiyoriy   uzunlikdagi   kirish   ma'lumotlari   qatorini   belgilangan   uzunlikdagi
chiqish   bitli   qatoriga   aylantirish.   Bunday   o'zgartirishlar   xash   funktsiyalari   yoki   katlama
4 funktsiyalari   deb   ham   ataladi   va   ularning   natijalari   xash,   xesh   -kod   yoki   xabarlar   hazm
qilish deyiladi.
Ma'lumotlarni   taqqoslash   uchun   xashing   ishlatiladi:   agar   ikkita   massivda   turli   xil   xesh
kodlari bo'lsa, massivlar boshqacha bo'lishi kafolatlanadi; agar ular bir xil bo'lsa, massivlar
bir   xil   bo'lishi   mumkin.   Umumiy   holda,   xash   funktsiyalarining   qiymatlari   soni   kirish
massivining  variantlari   sonidan  kam   bo'lganligi   sababli,  boshlang'ich  ma'lumotlar va  xash
kod o'rtasida birma-bir yozishmalar yo'q; bir xil xash kodlarini beradigan ko'plab massivlar
mavjud  -  to'qnashuvlar.  To'qnashuv ehtimoli  xash funktsiyalari  sifatini baholashda  muhim
rol o'ynaydi.
Turli xil xususiyatlarga ega bo'lgan ko'p xesh algoritmlari mavjud (bit chuqurligi, hisoblash
murakkabligi,   kriptografik   kuch   va   boshqalar).   Muayyan   xesh   funktsiyasini   tanlash   hal
qilinayotgan muammoning o'ziga xos xususiyatlari bilan belgilanadi. Hash funktsiyalarining
eng oddiy misollari - bu nazorat yig'indisi yoki CRC.
CHEKSUMS
Tekshirish   summasi   boshqa   raqamli   ma'lumotlar   blokidan   olingan   kichik
o'lchamdagi   ma'lumotlar   bloki   bo'lib,   uni   uzatish   yoki   saqlash   vaqtida   kiritilgan
xatolarni aniqlash uchun mo'ljallangan. O'z-o'zidan, nazorat summalari ko'pincha
ma'lumotlar   yaxlitligini   tekshirish   uchun   ishlatiladi,   lekin   ma'lumotlarning
haqiqiyligini tekshirishda foydalanilmaydi.
Ushbu   nazorat   summasini   yaratuvchi   protsedura   nazorat   summasi   funktsiyasi
yoki  nazorat  yig'indisi  algoritmi  deb  ataladi. Dizayn maqsadlariga  qarab,  yaxshi
nazorat   yig'indisi   algoritmi   odatda   kirishga   kiritilgan   kichik   o'zgarishlar   uchun
ham sezilarli darajada farq qiladigan qiymatni chiqaradi. Bu, ayniqsa, kriptografik
xesh-funksiyalar uchun to'g'ri keladi, ular ko'plab ma'lumotlarni buzish xatolarini
aniqlash   va   umumiy   ma'lumotlar   yaxlitligini   tekshirish   uchun   ishlatilishi
mumkin;   joriy   ma'lumotlarni   kiritish   uchun   hisoblangan   nazorat   summasi   ilgari
hisoblangan   nazorat   summasining   saqlangan   qiymatiga   mos   keladigan   bo'lsa,
ma'lumotlar   tasodifan   o'zgartirilmagan   yoki   buzilmagan   bo'lishi   ehtimoli   juda
yuqori.
Tekshirish   summasi   funktsiyalari   xesh   funktsiyalari,   barmoq   izlari,
randomizatsiya   funktsiyalari   va   kriptografik   xesh   funktsiyalari   bilan   bog'liq.
Biroq,   bu   kontseptsiyalarning   har   biri   turli   xil   ilovalar   va   shuning   uchun   turli
dizayn   maqsadlariga   ega.   Misol   uchun,   satrning   boshlanishini   qaytaruvchi
funktsiya ba'zi  ilovalar  uchun mos keladigan xeshni  berishi  mumkin, lekin hech
qachon   mos   nazorat   summasi   bo'lmaydi.   Tekshirish   summalari   kattaroq
autentifikatsiya   algoritmlarida   kriptografik   primitivlar   sifatida   ishlatiladi.   Ushbu
ikkita   o'ziga   xos   dizayn   maqsadiga   ega   kriptografik   tizimlar   uchun   [aniqlash
kerak],   HMAC   ga   qarang.   Tekshirish   raqamlari   va   paritet   bitlari   kichik
ma'lumotlar bloklari (masalan, ijtimoiy sug'urta raqamlari, bank hisob raqamlari,
5 kompyuter   so'zlari,   bitta   baytlar   va   boshqalar)   uchun   mos   keladigan   nazorat
summalarining   maxsus   holatlaridir.   Ba'zi   xatolarni   to'g'rilash   kodlari   maxsus
nazorat   summalariga   asoslangan   bo'lib,   ular   nafaqat   keng   tarqalgan   xatolarni
aniqlaydi, balki ba'zi hollarda asl ma'lumotlarni qayta tiklashga imkon beradi.
Shunday   qilib,   xuddi   shunday   qilib,   men   USB/DWC/SD-karta   yordamida
cheksumlarni   o'chirmasdan   PanelDue   portiga   g-kodni   yuborishni   xohlardim.
M575   P1   S0   ga   satr   raqami   va   xor   nazorat   summasini   qo'shish,   men   qilishim
kerak bo'lgan  narsa,  bu qo'lda  xor  qilish  mumkin, va  men  turli  onlayn  cheksum
kalkulyatorlarini   sinab   ko'rdim.   N1   M575   P1   S0*39   ishlagan   va   yaroqli
cheksum'langan   g-kodni   ishlab   chiqarish   uchun   ba'zi   jsfiddlardan   nusxa
ko'chiring  va   joylashtirdi   va   boshqa   kirishlar   uchun   ham   haqiqiy   cheksum   hosil
qiladi   (menimcha).   Satr   raqamini   qo'shishim   kerakligini   bilish   uchun   biroz   vaqt
talab   qildim,   bu   to'g'riligida
[https://duet3d.dozuki.com/Wiki/Gcode#Section_Checking]   sahifasida   aniq
ko'rsatilgan   (lekin   haqiqiy   misolga   ega   bo'lish   foydali   bo'lishi   mumkin.   N123
[...G Kod bu yerda...] *71?)   Ehtimol, kimdir buni foydali deb topadi, siz qachon
o'zingizni   mikro   usb   kabelisiz   yoki   boshqa   qiyin   ahvolda   ekanligingizni   hech
qachon   bilmaysiz.   (Men   uzatish   tezligini   qoldirdim,   chunki   u   birinchi   navbatda
ulanish   uchun   ma'lum   bo'lishi   kerak)   Tahrirlash:   Men   RealTerm   muallifiga
RealTerm-ga RRF-mos keladigan nazorat  summalarini  qo'shish  uchun xususiyat
so'rovini yubordim, u kodni taqdim  etganiga ijobiy munosabatda bo'ldi  (ishlashi
mumkin),  lekin men  Delphi  kodini   va testini  qura olmadim.  Agar  u  ishlaydigan
versiyani   yaratsa,   men   yangilayman.Edit2:   3.01-RC11   holatiga   ko'ra   PanelDue
portida   xom   seriyali   bo'lish   imkoniyati   qisman   yumshatilgan   -   lekin   u   hali   ham
sozlashni talab qiladi. Edit3: PanelDue porti 3.01-RC12 dan keyin sukut bo'yicha
yoqilmagan. Shunday qilib, bundan keyin USB yoki SD karta kerak bo'ladi.
Tasodifiy   buzilishlardan,   shu   jumladan   apparat   xatolaridan   himoya   qilish
uchun  ishlatiladigan  murakkab  bo'lmagan,   juda  tez  va  oson  bajariladigan
apparat   algoritmlari . Hisoblash   tezligi   nuqtai   nazaridan,   bu   kriptografik
xash funktsiyalaridan o'nlab va yuzlab baravar tezroq va apparatni amalga
oshirishda   ancha   sodda.   Bunga   pul   to'lang   yuqori   tezlik   Kriptografik
kuchning   yo'qligi   -   xabarni   oldindan   belgilangan   miqdorga
moslashtirishning   oson   qobiliyati.   Bundan   tashqari,   odatda,   nazorat
sumlarining  bitligi  (odatiy  soni:   32  bit)   kriptografik  xeshlardan  past   bo'ladi
(odatda   raqamlar:   128,   160   va   256   bit),   bu   esa   tasodifan   to'qnashuvlar
ehtimolini bildiradi. Bunday algoritmning eng oddiy misoli- xabarni 32 yoki
16 bitli so'zlarga bo'lish va ularni yig'ish, masalan, TCP / IP da ishlatiladi.
Odatda,   bunday   algoritm   ma'lum   bir   uzunlikdagi   ketma   -ket   ketma   -ket
xato   bitlari   kabi   odatiy   apparat   xatolarini   kuzatish   uchun   talab   qilinadi.
Algoritmlar   oilasi.   "Tsiklik   zaxira   kodlari"   bu   talablarga   javob   beradi.
Bularga,   masalan,   Ethernet   apparatida   ishlatiladigan   CRC32   va   siqilgan
ZIP fayl formati kiradi.
6 7 II. KRIPTOGRAFIK XASH FUNKTSIYALARI
Ko'p   mavjud   xash   funktsiyalari   orasida   kriptografiyada   ishlatiladigan   kriptografik   jihatdan
kuchli   bo'lganlarni   ajratish   odat   tusiga   kiradi.   Hash   funktsiyasini   bajarish
uchun   H   Kriptografik   jihatdan   kuchli   hisoblangan,   u   kriptografiyada   xash   funktsiyalaridan
ko'p foydalanishga asoslangan uchta asosiy talabni bajarishi kerak:
 Qaytarilmaslik:   berilgan   xash   qiymati   uchun   m   ma'lumotlar   blokini   topish   uchun
hisoblash imkonsiz bo'lishi kerak   X , buning uchun   H (X) = m .
 Birinchi   turdagi   to'qnashuvlarga   chidamlilik:   ma'lum   bir   xabar   uchun   M   boshqa
xabarni   olish   uchun   hisoblash   imkonsiz   bo'lishi   kerak   N. ,   buning   uchun   H   (N)  =   H
(M) .
Ikkinchi   turdagi   to'qnashuvlarga   qarshilik:   bir   juft   xabarni   olish   imkonsiz   bo'lishi
kerak   (M, M ")   bir xil xashga ega.
 Bu talablar mustaqil emas:
 Qaytariladigan funksiya birinchi va ikkinchi turdagi to'qnashuvlarga chidamli emas.
 Birinchi   turdagi   to'qnashuvlarga   chidamli   bo'lmagan,   ikkinchi   turdagi
to'qnashuvlarga chidamli  bo'lmagan funksiya; qarama -qarshilik haqiqat emas .
Ta'kidlash joizki, qaytarilmaydigan  xash funktsiyalarining  mavjudligi  isbotlanmagan,  buning
uchun   berilgan   xesh   funktsiyasi   qiymatining   har   qanday   oldindan   ko'rinishini   hisoblash
nazariy jihatdan imkonsizdir .  O'zaro javobni topish odatda hisoblash qiyin bo'lgan vazifadir.
Tug'ilgan kun hujumi sizga qiymatlar uzunligiga ega xesh funktsiyasi uchun to'qnashuvlarni
topishga imkon beradi   n   taxminan 2 ta n / 2 xash hisobida bitlar. Shunung uchun   n -bit xesh
funktsiyasi, agar to'qnashuvlarni topishning hisoblash murakkabligi 2 n / 2 ga yaqin bo'lsa,
kriptografik jihatdan kuchli hisoblanadi.
Kriptografik   xash   funktsiyalari   uchun,   agar   argument   ozgina   o'zgarsa,   funktsiyaning
qiymati   keskin   o'zgarishi   muhim   (ko'chki   effekti).   Xususan,   xesh   qiymati,   hatto
argumentning alohida bitlari  haqida ham ma'lumot  bermasligi kerak.  Bu  talab kalitni  olish
uchun   foydalanuvchining   parolini   o'z   ichiga   olgan   xesh   algoritmlarining   kriptografik
kuchining kalitidir.
KRIPTOGRA FIK  X A SH FUN KTSIY A LA RI: FOY DA LA N ISH HOLLA RI
Firefox   brauzerining   so'nggi   versiyasini   yuklab   olishingizni   ayting.   Qanday
bo'lmasin,   uni   Mozilla-dan   boshqa   saytdan   yuklab   olishingiz   kerak   edi.   Siz
ishonadigan   saytga   joylashtirilmayapsizmi,   faqatgina   yuklab   olingan   o'rnatish
fayli Mozilla-ning taklifi bilan bir xil ekanligiga ishonch hosil qilishni xohlaysiz.
To'lovlarni   hisoblash   kalkulyatoridan   foydalanib,   ma'lum   bir   kriptografik   xash
funktsiyasidan   foydalangan   holda   (SHA-2)   bir   summasini   hisoblab   chiqing   va
Mozilla saytida e'lon qilingan ma'lumotni solishtiring. Agar ular teng bo'lsa, sizda
8 mavjud   bo'lgan   yuklab   olish   sizning   maqsadingiz   bo'lgan   Mozilla   ekanligiga
ishonchingiz komil bo'lishi mumkin.
KRIPTOGRAFIK XASH FUNKTSIYALARI TIKLANISHI MUMKINMI?
Kriptografik   xash   funktsiyalari   asl   matnlarni   qayta   tiklash   uchun   mablag'larni
qaytarib olish qobiliyatini oldini olish uchun mo'ljallangan. Ammo, ular qaytarib
olish deyarli mumkin emas bo'lsa-da, bu ma'lumotlarni 100% kafolatlanganligini
anglatmaydi.Bir summaning to'g'ri matnini tezda aniqlash uchun   kamalak stol   deb
ataladigan   bir   narsa   ishlatilishi   mumkin.   Rainbo'yin   jadvallari,   asosan,   minglab,
millionlab   yoki   hatto   milliardlab   kishilarni   ularning   to'g'ri   keladigan   matnli
qiymatlarini   ro'yxatlaydigan   lug'atlardir.Bu   kriptografik   xash   algoritmini   texnik
jihatdan   aylantirmayotgan   bo'lsa-da,   bu   juda   oson   bo'lishi   mumkin.   Haqiqatda,
hech qanday kamalak jadvalida mavjud bo'lgan har qanday chexiyning ro'yxatini
bera olmagani uchun, ular oddiy iboralar uchun odatda "foydali" ... zaif parollar
kabi.
SHA-1   kriptografik   xash   funktsiyasidan   foydalanishda   qanday   ishlashini
ko'rsatish uchun kamalak jadvalining soddalashtirilgan versiyasi:
Oddiy matn
SHA-1 checksumi
12345 8cb2237d0679ca88db6464eac60da96345513964
parol1 e38ad214943daad1d64c102faec29de4afe9da3d
ilovemydog a25fb3505406c9ac761c8428692fbf5d5ddf1316
Jenny400 7d5eb0173008fe55275d12e9629eef8bdb408c1f
dallas1984 c1ebe6d80f4c7c087ad29d2c0dc3e059fc919da2
    
Ushbu   qadriyatlarni   checksum   yordamida   aniqlab   olish   uchun   hacker   ularni
yaratish   uchun  qanday   kriptografik  xash   algoritmini   ishlatishini   anglashini   talab
qiladi.
Qo'shimcha   himoyalanganlik   uchun,   foydalanuvchi   parollarini   saqlaydigan   ba'zi
bir   veb-saytlar   qiymat   hosil   bo'lgandan   keyin,   lekin   saqlanmasdan   oldin
kriptografik   xash   algoritmiga   qo'shimcha   funktsiyalarni   bajaradi.   Bu   faqat   veb-
brauzerni   tushunadigan   va   original   checksumga   mos   kelmaydigan   yangi   qiymat
hosil qiladi.
Misol   uchun,   parol   kiritilgandan   va   summa   hosil   bo'lgandan   keyin   u   bir   necha
qismlarga   bo'linadi   va   parol   bazasida   saqlanmasidan   oldin   tartibga   solinishi
mumkin   yoki   ba'zi   belgilar   boshqalar   bilan   almashtirilishi   mumkin.
Foydalanuvchi   keyingi   safarga   kirishni   tekshirishga   urinib   ko'rganida,   bu
qo'shimcha   funktsiya   keyinchalik   veb-server   va   foydalanuvchi   maxfiy   so'zining
9 haqiqiyligini   tekshirish   uchun   qayta   tiklanadigan   asl   summalarni   qayta   tiklaydi.
Buning amalga oshirilishi,  barcha  checksumlar  o'g'irlanadigan  joyning foydasini
cheklashga yordam beradi.
Shunga qaramay, bu erda g'oyaning noma'lum bo'lgan funktsiyani bajarish, ya'ni 
agar hacker kriptografik xash algoritmini bilsa, lekin bu odatiy emas, shundan 
so'ng parol to'plamlarini bilish foydasizdir.
PAROLLAR VA KRIPTOGRAFIK XASH FUNKTSIYALARI
Rainbow jadvaliga o'xshash ma'lumotlar bazasi foydalanuvchi parollarini qanday
saqlab   qoladi.   Sizning   parolingiz   kiritilganda,   summa   ishlab   chiqariladi   va
foydalanuvchi ismingiz bilan rekord bilan solishtiriladi. Siz ikkalasi bir xil bo'lsa,
ularga   ruxsat   beriladi.   Kriptografik   xash   funktsiyasi   qayta   tiklanadigan
checksumni ishlab chiqaradigan bo'lsa, demak siz parolingizni   12345   ,   12 @	 34	 $
5   o'rniga   oddiy   deb   hisoblaysizmi?   Bu,   albatta,   yo'q   va   shuning   uchun     Ko'rib
turganingizdek, bu ikkala parol ham chexiy qismida faqatgina kodni tekshirishga
imkon bermaydi:
12345 uchun MD5:   827ccb0eea8a706c4c34a16891f84e7b
12 @ 34 $ 5 uchun MD5:   a4d3cc004f487b18b2ccd4853053818b
Shunday   qilib,   birinchi   qarashda   siz   ushbu   parollardan   birini   qo'llash   mutlaqo
yaxshi   deb   o'ylashingiz   mumkin.   Agar   tajovuzkor   sizning   parolingizni   MD5
checksum (bu hech kim qilmaydi) deb taxmin qilish orqali aniqlab olsa, bu to'g'ri
ish emas, ammo agar qo'pol kuch yoki lug'at hujumi amalga oshirilgan bo'lsa (bu
umumiy   taktika).   Bir   qo'g'irchoq   kuch   hujumi   parolni   aniqlashda   bir   nechta
tasodifiy nishonlarni qabul qilishdir. Bunday holda, "12345" ni taxmin qilish oson
kechadi,   biroq   tasodifan   boshqasini   tushunish   juda   qiyin.   Agar   lug'at   hujumi,
tajovuzkor   har   bir   so'zni,   raqamni   yoki   iborani   umumiy   (va   kamroq
ishlatiladigan)   parollar   ro'yxatidan   sinab   ko'rishga   o'xshaydi,   "12345",   albatta,
sinab ko'rilishi mumkin.. Shunday qilib, kriptografik xash funktsiyalari imkonsiz
taxminan   checksumsni   qiyinlashtirsa   ham,   siz   barcha   onlayn   va   mahalliy
hisoblaringiz uchun murakkab parolni ishlatishingiz kerak .
KRIPTOGRAFIK X ASH FUNKTSIY ALARI HAQIDA
BATAFSIL MA'LUMOT
Kriptografik xash funktsiyalari shifrlash bilan bog'liq, ammo ikkita ish juda
boshqacha   tarzda   ko'rinishi   mumkin.   Shifrlash   -   bu   ikki   tomonlama   jarayon
bo'lib,   u   erda   biror   narsa   o'qib   bo'lmaydigan   bo'lib   shifrlangan,   keyin   esa
keyinchalik   qayta   ishlatilishi   mumkin.   O'zingiz   saqlagan   fayllarni   shifrlashingiz
mumkin,   shuning uchun ularga kiradigan har bir kishi ularni ishlata olmaydi, yoki
siz   tarmoqqa   ko'chiradigan   fayllarni   shifrlash   uchun   faylni   uzatish
shifrlashidan   foydalanasiz,   masalan   siz   yuklagan   yoki   onlayndan   ko'chirmalar.
Yuqorida   tavsiflanganidek,   kriptografik   xash   funktsiyalari   turli   xil   ishlaydi,
10 chunki   checksumlar   shifrlangan   fayllarni   maxsus   parolni   parol   bilan   qanday
o'qilgani   kabi   maxsus   buzilgan   parol   bilan   almashtirishni   nazarda   tutmaydi.
Kriptografik   xash   funktsiyalarining   yagona   maqsadi   -   ikki   dona   ma'lumotni
solishtirish,   masalan,   fayllarni   yuklab   olish,   parollarni   saqlash,   ma'lumotlar
bazasidan   ma'lumotlarni   olish   va   boshqalarni   solishtirish. Kriptografik   xash
funktsiyasi   turli   xil   ma'lumotlar   uchun   bir   xil   checksumni   ishlab   chiqishi
mumkin.   Bu   sodir   bo'lganda,   bu   to'qnashuv   deb   ataladi.   Ko'rinib   turibdiki,   bu
kriptografik   xash   funktsiyasining   butun   nuqtasini   hisobga   olgan   holda   katta
muammo   bo'lib,   unda   kiritilgan   har   bir   ma'lumot   uchun   mutlaqo   noyob
summalarni  amalga oshirish  hisoblanadi. Buning  sabablari  to'qnashuvlar  bo'lishi
mumkin,   chunki   har   bir   kriptografik   xash   funktsiyasi   kirish   ma'lumotidan   qat'i
nazar,   belgilangan   uzunlikdagi   qiymatni   ishlab   chiqaradi.   Misol   uchun,   MD5
kriptografik   hash   funktsiyasi   butunlay   boshqa   ma'lumotlar   bloklari   uchun
827ccb0eea8a706c4c34a16891f84e7b,   1f633b2909b9c1addf32302c7a497983   va  
e10adc3949ba59abbe56e057f20f883e   ishlab chiqaradi.
Birinchi   summa   12345   dan,   ikkinchisi   esa   700   dan   ortiq   harflar   va   raqamlar,
uchinchisi esa   123456 dan	 iborat   . Barcha uch kiritma turli xil uzunliklarga ega,
ammo MD5 ishlatilganidan buyon natijalar faqat 32 belgidan iborat.
Ko'rib turganingizdek, tuzilishi mumkin bo'lgan chegirmalar soniga deyarli hech
qanday   chegara   yo'q,   chunki   kiritilgan   har   bir   kichik   o'zgarish   mutlaqo   boshqa
checksum   ishlab   chiqarishi   kerak   edi.   Ammo,   cheksiz   miqdordagi   chegara
miqdori   cheklanganligi   sababli,   bitta   kriptografik   xash   funktsiyasi   ishlab
chiqarilishi   mumkin,   har   doim   siz   to'qnashuvga   duch   kelasiz.   Shuning   uchun
boshqa   kriptografik   xash   funktsiyalari   yaratildi.   MD5   32   belgigacha   bo'lgan
qiymat hosil qilganda, SHA-1 40 ta belgini ishlab chiqaradi va SHA-2 (512) 128
hosil   qiladi.   Hisoblagich   mavjud   bo'lgan   belgilar   soni   qanchalik   ko'p   bo'lsa,
noyob qadriyatlar.
2-rasm   Umumlashtirilgan xesh funksiya yaratish sxemasi
Odatda,   xesh   funktsiyasini   qurishda   murakkabroq   tizim   qo'llaniladi.
Simmetrik   bloklarni   shifrlash   algoritmining   umumlashtirilgan   sxemasi   rasmda
ko'rsatilgan. 2.
11 Shunday   qilib,   biz   qisqarish   funktsiyasini   qurish   uchun   64   variantni   olamiz.
Ularning   aksariyati   ahamiyatsiz   yoki   xavfsiz   emas.   Quyida   barcha   turdagi
hujumlar uchun to'rtta eng xavfsiz sxemalar keltirilgan.
3-rasm to’rtta xavfsiz xeshlash funksiyasi
Blok   algoritmlari   asosida   ishlab   chiqilgan   xesh-funksiyalarning   asosiy
kamchiligi   ularning   past   tezligidir.   Kerakli   kriptografik   quvvatga   kirish
ma'lumotlari bo'yicha kamroq miqdordagi operatsiyalarda ham erishish mumkin.
Kriptografik   kuch   talablaridan   kelib   chiqib,   noldan   mustaqil   ravishda   ishlab
chiqilgan   tezroq   xeshlash   algoritmlari   mavjud   (ulardan   eng   keng   tarqalganlari
MD5, SHA-1, SHA-2 va GOST R 34.11-94).
12 III. Xesh  funksiyasining  xususiyatlari
Endi men Hash funktsiyalarining xususiyatlari haqida gaplashaman, shunda
sizga   Hash   qaerda   ishlatilishini   va   nima   uchun   kerakligini   tushunish   osonroq
bo'ladi. Lekin, birinchi navbatda, yana bir ta'rif.
To'qnashuv   bu   ikki   kishilik   vaziyat   turli   matnlar   bir   xil   xash   summasi   olinadi.
O'zingiz   tushunganingizdek,   sobit   uzunlikdagi   blokdan   beri   u   cheklangan
miqdordagi   mumkin   bo'lgan   qiymatlarga   ega   va   shuning   uchun   takrorlash
mumkin.
Va endi Hash funktsiyalarining o'ziga xos xususiyatlari:
 Kirish   har   qanday   o'lchamdagi   matn   bo'lishi   mumkin,   va   chiqish
aniqlangan uzunlikdagi ma'lumotlar bloki. Bu ta'rifdan kelib chiqadi.
 Xuddi   shu   matnlarning   xash-summasi   bir   xil   bo'lishi   kerak.   Aks   holda,
bunday funktsiyalar shunchaki foydasiz - bu tasodifiy songa o'xshaydi.
 Yaxshi funksiya      konvulsiyalar yaxshi taqsimotga ega bo'lishi kerak. Qabul
qiling,   agar   Hash   chiqishining   o'lchami,   masalan,   16   bayt   bo'lsa,   agar
funksiya har qanday matn uchun atigi 3 xil qiymatni qaytarsa, unda bunday
funksiyada   hech   qanday   ma'no   yo'q   va   bu   16   bayt   (16   bayt   -   2   ^   128
variant, bu taxminan 3, 4 * 10 ^ 38 daraja).
 Funktsiya   dastlabki   matndagi   eng   kichik   o'zgarishlarga   qanchalik   yaxshi
javob   beradi.   Oddiy   misol.   10   GB   hajmdagi   faylda   1   ta   harf   o'zgartirildi,
funktsiya   qiymati   boshqacha   bo'lishi   kerak.   Agar   bunday   bo'lmasa,   unda
bunday funktsiyadan foydalanish juda muammoli.
 To'qnashuv   ehtimoli.   Muayyan   sharoitlarda   hisoblangan   juda   murakkab
parametr. Ammo, uning mohiyati shundan iboratki, agar xash yig'indisi tez
-tez bir -biriga to'g'ri kelsa, xash funktsiyasining ma'nosi nima.
 Xashni   hisoblash   tezligi.   Agar   hisoblash   uchun   uzoq   vaqt   kerak   bo'lsa,
konvulsion   funktsiyadan   nima   foyda?   Yo'q,   chunki   fayl   ma'lumotlarini
solishtirish yoki boshqa yondashuvdan foydalanish osonroq.
 Hash   qiymatidan   dastlabki   ma'lumotlarni   tiklashning   murakkabligi.   Bu
xususiyat   umumiydan   ko'ra   o'ziga   xosdir,   chunki   bu   har   doim   ham   talab
qilinmaydi.   Biroq,   eng   mashhur   algoritmlar   uchun   bu   xususiyat   taxmin
qilinadi.   Masalan,   asl   fayl   siz   bu   funktsiyadan   deyarli   chiqa   olmaysiz.
Ammo,   agar   to'qnashuv   muammosi   bo'lsa   (masalan,   siz   bunday   Xashga
mos   keladigan   matnni   topishingiz   kerak   bo'lsa),   unda   bunday
xarakteristikaning   ahamiyati   katta   bo'lishi   mumkin.   Masalan,   parollar,
lekin keyinroq ular haqida.
 Bunday funksiyaning ochiq yoki yopiq manba kodi. Agar kod ochiq manba
bo'lmasa,  ma'lumotlarni  qayta  tiklashning  murakkabligi,  ya'ni   kriptografik
kuch, savol ostida qoladi. Bu qisman shifrlash bilan bog'liq muammo.
13 Endi siz "bu nima uchun kerak?" Degan savolga o'tishingiz mumkin
Statistik xususiyatlar va talablar haqida
Aytganimdek, xash funktsiyalari uchun asosiy talab argument qiymatlarini 
tasodifiy tanlash uchun ularning qiymatlarini bir xil taqsimlashdir. Kriptografik 
xash funktsiyalari uchun argumentdagi eng kichik o'zgarish funktsiyaning 
qiymatini sezilarli darajada o'zgartirishi ham muhimdir. Bunga ko'chki ta'siri 
deyiladi.
  asosiy funktsiyalar   hashing quyidagi talablarga ega:
- ishlab chiqarishning mumkin emasligi;
- o'zgartirishning mumkin emasligi.
Birinchi talab shuni anglatadiki, to'g'ri katlama qiymatiga ega bo'lgan xabarni 
topish juda qiyin. Ikkinchisi, ma'lum bir katlama qiymati bilan boshqa xabarning 
katlama qiymati ma'lum bo'lgan xabarni moslashtirishning yuqori murakkabligi .
Kalitsiz funktsiyalarga quyidagi talablar qo'yiladi:
- bir tomonlama,
- to'qnashuvlarga qarshilik,
- ikkinchi rasmni topishga qarshilik.
Bir tomonlama yo'nalish - bu ma'lum bir konvertatsiya qiymati bo'yicha xabarni 
topishning yuqori murakkabligi. Shuni ta'kidlash kerakki   bu lahza   isbotlangan bir 
tomonlama ishlatilgan xash funktsiyalari yo'q.
To'qnashuv qarshiligi bir xil katlama qiymatiga ega bo'lgan xabarlarni topish 
qiyinligini anglatadi. Odatda kriptoanalistlar to'qnashuvlarni yaratish usulini 
topadilar, bu algoritm eskirganligini va uni tez orada almashtirish zarurligini 
ko'rsatadi. Ikkinchi rasmni topishga qarshilik, ma'lum bir konvertatsiya qiymatiga
ega bo'lgan xabar uchun bir xil konvulsiyali qiymatga ega bo'lgan ikkinchi 
xabarni topishning murakkabligi sifatida tushuniladi.Bu kelajakda biz uchun 
foydali bo'ladigan nazariy qism edi
 Matn   ma'lumotlarini   qaytaradi:   Xesh   funksiyasi   belgilangan   URL   ni   chaqirib,   u
yerni yuklayadi va matn ma'lumotini qaytaradi. 
 Tezlik va keshlash: Xesh funksiyasi buchaqtan yoki boshqa local kataloglardan
ma'lumotlarni   olishni   va   ularga   tezlik   bilan   kirishni   ta'minlaydi.   Bu   saytdan
to'xtatib bo'lmaydigan ma'lumotlarni olishga imkon beradi. 
   Autentifikatsiya:   Xesh   funksiyasi   autentifikatsiya   bilan   ishlaydi,   shuning   uchun
agar   ilg'or   sahifalarga   ruxsat   olingan   bo'lsa,   kirish   so'rovlarni   va   tokenlarni
berishingiz kerak bo'ladi. 
14    So'rovlar   va   parametrlar:   Xesh   funksiyasi   orqali,   so'rovlar   va   parametrlar
yordamida   ma'lumotlarni   istalgan  shaklda   chaqirishingiz  mumkin.  Bunda   matn,
raqam yoki boshqa turlarga mos bo'lgan parametrlarni yuborishingiz mumkin. 
   404   xato   qaytarish:   Xesh   funksiyasi,   topilmagan   URL   yoki   404   xato   holatida
xatolik qaytaradi.
Nega Xash kerak
Hash   funktsiyalarining   faqat   uchta   asosiy   maqsadi   bor   (aniqrog'i,   ularning
maqsadi).
 Ma'lumotlarning yaxlitligini tekshirish. Bunday holda, hamma narsa oddiy,
bunday   funktsiyani   tezda   hisoblash   kerak   va,   masalan,   Internetdan
yuklangan fayl uzatish paytida buzilmaganligini tekshirishga imkon beradi.
 Ma'lumotlarni   olish   tezligining   oshishi.   Ruxsat   etilgan   blok   o'lchami
qidiruv  muammolarini   hal   qilishda  ko'p  afzalliklarga  ega  bo'lish   imkonini
beradi.   Bunday   holda,   nuqta   shundaki,   texnik   jihatdan   xash
funktsiyalaridan   foydalanish   ishlashga   ijobiy   ta'sir   ko'rsatishi   mumkin.
Bunday   funktsiyalar   uchun   to'qnashuv   ehtimoli   va   yaxshi   taqsimot   juda
muhimdir.
 Kriptografik   ehtiyojlar   uchun.   Bu   ko'rinish   Konvulsion   funktsiyalar
xavfsizlik sohalarida qo'llaniladi, bu erda natijalarni o'zgartirish qiyin yoki
olish   vazifasini   iloji   boricha   qiyinlashtirish   kerak.   foydali
ma'lumotlar   Xashdan.
Xash qayerda va qanday ishlatiladi
Siz   taxmin   qilganingizdek,   Xash   ko'p   vazifalarda   ishlatiladi.   Mana   ulardan   bir
nechtasi:
 Parollar   odatda   aniq   matnda   emas,   balki   hash-sum   shaklida   saqlanadi,   bu
esa   yuqori   darajadagi   xavfsizlikni   ta'minlaydi.   Axir,   agar   tajovuzkor
bunday ma'lumotlar bazasiga kirsa ham, u bu hash kodlarga mos matnlarni
topish   uchun   ko'p   vaqt   sarflashga   majbur   bo'ladi.   Bu   erda   "Hash
qiymatlaridan   asl   ma'lumotlarni   tiklashning   murakkabligi"   xususiyati
muhimdir.
 Eslatma :   Men   sizga   parolni   himoyalashni   yaxshilash   bo'yicha   bir   necha
maslahatlar uchun ushbu maqolani o'qishni maslahat beraman.
 Dasturlashda, shu jumladan ma'lumotlar bazalarida. Albatta, ko'pincha biz
ruxsat beradigan ma'lumotlar tuzilmalari haqida gapiramiz   tezkor qidiruv ...
Aniq texnik jihat.
15  Ma'lumotni   tarmoq   orqali   uzatishda   (shu   jumladan   Internet).   Ko'p
protokollar,   masalan,   TCP   /   IP,   maxsus   xabar   maydonlarini   o'z   ichiga
oladi, agar biror joyda xato bo'lsa, bu ma'lumot uzatishga ta'sir qilmaydi.
 Har xil xavfsizlik bilan bog'liq algoritmlar uchun. Masalan, Hash elektron
raqamli imzoda ishlatiladi.
 Fayllarning yaxlitligini tekshirish uchun. Agar siz e'tibor bergan bo'lsangiz,
Internetda   tez   -tez   fayllarni   topishingiz   mumkin   (masalan,
arxivlar)   qo'shimcha   tavsiflar   xash   kodi   bilan.   Bu   o'lchov   nafaqat
Internetdan   yuklash   paytida   buzilgan   faylni   tasodifan   ishga   tushirmaslik
uchun,   balki   xostingda   ham   nosozliklar   bo'lishi   uchun   ishlatiladi.   Bunday
hollarda, siz Hash-ni tezda tekshirishingiz va agar kerak bo'lsa, faylni qayta
yuklashingiz mumkin.
 Ba'zida   xash   funktsiyalari   noyob   identifikatorlarni   yaratish   uchun
ishlatiladi (bir qismi sifatida). Masalan,  rasmlarni yoki fayllarni saqlashda
ular   odatda   Hash   -ni   ism   va   sana   bilan   birga   ishlatadilar.   Bu   xuddi   shu
nomdagi fayllarni qayta yozishdan saqlaydi.
Aslida,   qancha   uzoqlashsangiz,   xesh   funktsiyalari   shunchalik   tez
ishlatiladi   axborot   texnologiyalari ...   Asosan,   bu   ma'lumotlarning   miqdori
va eng kuchliligi bilan bog'liq   oddiy kompyuterlar   juda ko'p o'sdi. Birinchi
holda, bu ko'proq qidiruv, ikkinchisida xavfsizlik masalalari haqida.

16 IV. Raqamli imzoni tekshirish muolajasi
Elektron raqamli imzo nima
Elektron   raqamli   imzo   –   davlat   idoralari   bilan   o‘zaro   munosabatni
o‘rnatishda   jismoniy   yoki   yuridik   shaxsga   elektron   xatti-harakatlarini   tasdiqlash
uchun zarur bo‘ladigan, mas’ul davlat organi tomonidan taqdim etilgan, elektron
raqamli   imzo   yopiq   kalitining   egasini   identifikatsiya   qilish   imkoniyatini
beradigan imzo. Sodda tilda aytsak, bu – shaxsning  raqamlardan iborat  elektron
imzosi va uning kuchi shaxsning qo‘lda chekilgan imzosiga tenglashtiriladi.
Elektron raqamli imzo nimaga kerak
Elektron raqamli imzo yordamida elektron hujjatlarni imzolash, masofadan
turib davlat xizmatlaridan foydalanish mumkin Elektron raqamli imzo noyobligi,
nusxa   olish   ya’ni   ko‘paytirib   bo‘lmasligi   bilan,   hujjatni   imzolagan   shaxsni
tasdiqlashi bilan, qalbakilashtirishning imkonsizligi bilan o‘ziga xosdir.
Elektron raqamli imzo nimaga kerak va undan foydalanish
muddati qancha?
Misol   uchun,   uning   yordamida   bugun   Yagona   bportal   orqali
ko‘rsatilayotgan 240 dan ziyod interaktiv xizmatlardan foydalanish mumkin.
ERI kaliti foydalanuvchisi o‘zining kalitidan 24 oy muddat mobaynida foydalana
oladi. Uni uzaytirish uchun siz elektron raqamli imzo kalitini olingan Ro‘yxatga
olish markaziga murojaat qilishingiz zarur.
Elektron raqamli imzo kimlarga beriladi
ERI kalitlarning sertifikatlari yuridik va jismoniy shaxslarning murojaatlari
bo‘yicha   beriladi.   Murojatt   qilgan   shaxs   ro‘yxatdan   utish   va   ERI   kalitining
sertifikatini   olish   uchun   soliq   xizmatlari   organlarida   hisobda   turishi   zarur   (soliq
to‘lovchining identifikatsiya raqami -STIRbo‘lish kerak)
17 Elektron raqamli imzoni qayerdan olish mumkin
Bugungi   kunga   kelib,   6   ta   rasmiy   davlat   ro‘yxatidan   o‘tgan   (amaldagi)
elektron   raqamli   imzo   kalitlarini   ro‘yxatga   olish   markazlari   faoliyat   yuritib
kelmoqda:
 Davlat   soliq   qo‘mitasi   huzuridagi   Yangi   texnologiyalar   ilmiy-axborot
markazi;
 Markaziy bank Xavfsizlik va axborotni muhofaza qilish departamenti;
 Davlat bojxona qo‘mitasi;
 Fan-texnika   va   marketing   tadqiqotlari   markazi   “UNICON.UZ”   Davlat
unitar korxonasi;
 Moliya   vazirligi   huzuridagi   Axborot-hisoblash   markazi   Davlat   unitar
korxonasi;
 “INTELLECT SOFT” xususiy korxonasi.
Siz shu markazlardan biriga murojaat qilishingiz mumkin.
Elektron   raqamli   imzo   —   Elektron   hujjatdagi   mazkur   elektron   hujjat
axborotini   elektron   raqamli   imzoning   yopiq   kalitidan   foydalangan   holda
maxsus o zgartirish natijasida hosil qilingan hamda elektron raqamli imzoningʻ
ochiq   kaliti   yordamida   elektron   hujjatdagi   axborotda   xatolik   yo qligini	
ʻ
aniqlash   va   elektron   raqamli   imzo   yopiq   kalitining   egasini   identifikatsiya
qilish   imkoniyatini   beradigan   imzo.   (qonun)Qonunda   talab   etilgan   shartlarga
rioya   etilgan   taqdirda   elektron   raqamli   imzo   qog oz   hujjatga   shaxsan	
ʻ
qo yilgan   imzo   bilan   bir   xil   ahamiyatga   egadir.   Elektron	
ʻ
ma lumotlarni
ʼ   kriptografik   o zgartirish   natijasida   hosil   qilingan   belgilar	ʻ
ketma-ketligi. Elektron raqamli imzo ma lumotlar blokiga qo shib qo yiladi va	
ʼ ʻ ʻ
blokni   qabul   qiluvchiga,   manbani   va   ma lumotlarning   butunligini   tekshirish
ʼ
hamda   soxtalashtirishdan   muhofazalanish   imkonini   beradi.   Hozirgi   kunga
18 kelib,   ayrim   mamlakatlar   qonunchilik   yo li   bilan   raqamli   imzodanʻ
foydalanishni layoqatliligini qonunlashtirib qo yganlar. Elektron raqamli imzo
ʻ
kalitlari sertifikatlari ro yxatga olish markazlari tomonidan beriladi	
ʻ
Ushbu   muolajani   tayyorlash   bosqichida   xabar   jo‘natuvchi   abonent   A   ikkita
kalitni generatsiyalaydi:  mahfiy kalit   K
A .   va ochiq kalit    K
A . Ochiq kalit KA
uning jufti bo‘lgan maxfiy kaliti  .   dan   hisoblash   orqali   olinadi.   Ochiq   kalit
KA   tarmoqning   boshqa   abonentlariga   imzoni   tekshirishda   foydalanish   uchun
tarqatiladi   [3].   Raqamli   imzoni   shakllantirish   uchun   jo‘natuvchi   A   avvalo
imzo chekiluvchi matn M ning xesh funktsiyasi L(M)qiymatini hisoblaydi (1-
rasm).   Xesh-funktsiya   imzo   chekiluvchi   dastlabki   matn   Mni   daydjest   mga
zichlashtirishga   xizmat   qiladi.   Daydjest   M–butun   matn   Mni   xarakterlovchi
bitlarning   belgilangan   katta   bo‘lmagan   sonidan   iborat   nisbatan   qisqa   sondir.
So‘ngra jo‘natuvchi A o‘zining mahfiy kaliti  K
A   bilan daydjest mni shifrlaydi.
Natijada olingan sonlar jufti berilgan M matn uchun raqamli imzo hisoblanadi.
Xabar   M   raqamli   imzo   bilan   birgalikda   qabul   qiluvchining   adresiga
yuboriladi.
4-rasm. Elektron raqamli imzoni shakllantirish sxemasi.
Raqamli   imzoni   tekshirish   muolajasi.   Tarmoq   abonentlari   olingan   xabar
Mning   raqamli   imzosini   ushbu   xabarni   jo‘natuvchining   ochik   kaliti   K
A
yordamida   tekshirishlari   mumkin   (1-   rasm).   Elektron   raqamli   imzoni
tekshirishda   xabar   Mni   qabul   qiluvchi   Bqabul   qilingan   daydjestni
jo‘natuvchining   ochiq   kaliti   K
A   yordamida   rasshifrovka   qiladi.   Undan
tashqari, qabul qiluvchini o‘zi xesh-funktsiya h(M) yordamida qabul qilingan
xabar   Mning   daydjesti   mni   hisoblaydi   va   uni   rasshifrovka   qilingani   bilan
taqqoslaydi.   Agar   ikkala   daydjest   m   va   m’   mos   kelsa   raqamli   imzo   haqiqiy
hisoblanadi.   Aks   holda   imzo   qalbakilashtirilgan,   yoki   axborot   mazmuni
19 o‘zgartirilgan   bo‘ladi.   (1.141b)
5-rasm. Elektron raqamli imzoni tekshirish sxemasi
  MUHOKAMA   Elektron   raqamli   imzo   tizimining   printsipial   jihati   –
foydalanuvchining  elektron raqamli  imzosini  uning imzo chekishdagi  maxfiy
kalitini   bilmasdan   qalbakilashtirishning   mumkin   emasligidir.   Shuning   uchun
imzo   chekishdagi   maxfiy   kalitni   ruxsatsiz   foydalanishdan   ximoyalash   zarur.
Elektron   raqamli   imzoning   maxfiy   kalitini,   simmetrik   shifrlash   kalitiga
o‘xshab,   shaxsiy   kalit   elituvchisida,   himoyalangan   holda   saqlash   tavfsiya
etiladi   [4].   Elektron   raqamli   imzo   imzo   chekiluvchi   xujjat   va   maxfiy   kalit
orqali aniqlanuvchi noyob sondir. Imzo chekiluvchi xujjat sifatida har qanday
fayl   ishlatilishi   mumkin.   Imzo   chekilgan   fayl   imzo   chekilmaganiga   bir   yoki
bir nechta elektron imzo qo‘shilishi orqali yaratiladi. Imzo chekiluvchi faylga
joylashtiriluvchi   elektron   raqamli   imzo   imzo   chekilgan   xujjat   muallifini
identifikatsiyalovchi  qo‘shimcha axborotga ega. Bu axborot xujjatga elektron
raqamli imzo hisoblanmasidan oldin qo‘shiladi. 
Har bir imzo quyidagi axborotni o‘z ichiga oladi:
 imzo chekilgan sana;
 ushbu imzo kaliti ta’sirining tugashi muddati; 
 faylga   imzo   chekuvchi   shaxs   xususidagi   axborot   (F.I.Sh.,
mansabi, ish joyi); 
 imzo chekuvchining indentifikatori (ochiq kalit nomi); 
 raqamli imzoning o‘zi.
  Asimmetrik   shifrlashga   o‘xshash,   elektron   raqamli   imzoni   tekshirish   uchun
ishlatiladigan   ochiq   kalitning   almashtirilishiga   yo‘l   qo‘ymaslik   lozim.   Faraz
20 qilaylik,   niyati   buzuq   odam   n   abonent   B   kompyuterida   saqlanayotgan   ochiq
kalitlardan,   xususan,   abonent   A   ning   ochiq   kaliti   K
A     dan   foydalana   oladi.
Unda u quyidagi xarakatlarini amalga oshirishi mumkin: 
 ochiq   kalit   K
A     saqlanayotgan   fayldan   abonent   A   xususidagi
indentsifikatsiya axborotini o‘qishi; 
 ichiga   abonent   A   xususidagi   indentifikatsiya   axborotini   yozgan   holda
shaxsiy juft kalitlari  K
n   va  K
n  ni generatsiyalashi;
 abonent Vda saqlanayotgan ochiq kalit KAni o‘zining ochiq kaliti Kn bilan
almashtirishi.
21 V. Xesh funksiyalarini tuzish usullari
Xesh   funksiyalari   ixtiyoriy   o'lchamdagi   kirish   ma'lumotlarini   qat'iy
o'lchamdagi   qiymatlarga   solishtirish   uchun   ishlatiladi,   odatda   xesh   jadvalini
indekslash   uchun   ishlatiladi.   Xesh-funksiyalarni   yaratishning   ba'zi   keng
tarqalgan usullari:
 Modulli   arifmetika:   Bu   kiritilgan   ma'lumotlarni   olish   va   tub   songa
bo'linganda   qolgan   qismini   hisoblashni   o'z   ichiga   oladi.   Qolganidan
keyin xesh qiymati sifatida ishlatiladi.
 Multiplikativ   xeshlash:   Bu   kiritilgan   ma'lumotlarni   doimiyga,   odatda
tub songa ko'paytirishni va natijaning kasr qismini xesh qiymati sifatida
olishni o'z ichiga oladi.
 Ko‘p nomli xeshlash: Bu kirish ma’lumotlarini polinom koeffitsientlari
sifatida   ko‘rib   chiqish   va   xesh   qiymatini   olish   uchun   polinomni
belgilangan nuqtada baholashni o‘z ichiga oladi.
 Kriptografik   xeshlash:   Bu   xesh   qiymatini   hisoblash   uchun   SHA-256
yoki MD5 kabi kriptografik xesh funksiyasidan foydalanishni o'z ichiga
oladi.   Bu   funksiyalar   xavfsiz   va   to‘qnashuvga   chidamli   bo‘lishi   uchun
mo‘ljallangan.
Xesh   funktsiyasini   tanlash   ilovaning   o'ziga   xos   talablariga   va   kiritilgan
ma'lumotlarning   xususiyatlariga   bog'liq.   To‘qnashuvlarni   minimallashtirish   va
samarali   qidirish   vaqtini   ta’minlash   uchun   kiritilgan   ma’lumotlarni   xesh   jadvali
bo‘ylab   teng   taqsimlaydigan   xesh   funksiyasini   tanlash   muhim.   Ko'pincha,
torrentlarni   yoki   to'g'ridan   -to'g'ri   fayllarni   o'zlari   yuklab   olayotganda,   tavsifda
"ad33e486d0578a892b8vbd8b19e28754"   (masalan,   ex.ua   da)   kabi   narsalar
bo'ladi, ko'pincha "md5" yozuvli. Bu xesh -kod - bu kiruvchi ma'lumotlarni qayta
ishlashdan   so'ng   xash   funksiyasi   ishlab   chiqaradigan   natijadir.   Ingliz   tilidan
tarjima qilingan xash chalkashlik, marixuana, o't yoki mayda tug'ralgan go'sht va
sabzavotlardan   iborat   idishni   bildiradi.   juda,   juda   qiyin,   deyishimiz   mumkin,   bu
deyarli   imkonsiz.   Keyin   savol   tug'iladi:   "Bularning   barchasi   bizga   nima   uchun
kerak, ular hali ham tushunib bo'lmaydigan tushunarsiz so'zlarni berishadi?" Bu
maqolaning   mavzusi.Bu   funksiya   har   qanday   katta   hajmdagi   kiruvchi
ma'lumotlarni   belgilangan   uzunlikdagi   natijaga   aylantirish   uchun   mo'ljallangan.
22 Bunday   o'zgartirish   jarayonining   o'zi   xash,   natijasi   esa   xesh   yoki   xesh   kod   deb
ataladi. Ba'zida "barmoq izi" yoki "xabar hazm qilish" so'zlari haligacha ishlatiladi,
lekin   amalda   ular   kamroq   tarqalgan.   Ma'lumotlar   massivini   ma'lum   uzunlikdagi
belgilar ketma -ketligiga aylantirish uchun juda ko'p turli xil algoritmlar mavjud.
Eng  keng  tarqalgan  md5  algoritmi  bo'lib,  u  1991  yilda ishlab  chiqilgan.  Bugungi
kunda md5 biroz eskirgan va foydalanish uchun tavsiya qilinmaganiga qaramay,
u hali ham  ishlatilmoqda va ko'pincha  "xash kod" so'zining o'rniga, saytlar  md5
yozadi va kodning o'zini ko'rsatadi.Natijani bilib, dastlabki ma'lumotlarni aniqlash
deyarli mumkin emas, lekin bir xil kirish ma'lumotlari bir xil jamlanmani beradi.
Shuning   uchun,   xash   funktsiyasi   (konvulsiyalar   funktsiyasi   deb   ham   ataladi)
ko'pincha   saqlash   uchun   ishlatiladi   muhim   ma'lumotlar ,   parol,   login,
identifikatsiya raqami va boshqalar kabi   Shaxsiy ma'lumot  Foydalanuvchi kiritgan
ma'lumotni   ma'lumotlar   bazasida   saqlanayotgan   ma'lumotlar   bilan   solishtirish
o'rniga,   ularning   xeshlari   solishtiriladi.   Bu   tasodifan   ma'lumot   sızıntısı   bo'lsa,
hech   kim   muhim   ma'lumotlardan   o'z   maqsadlari   uchun   foydalana   olmasligini
ta'minlaydi.   Hash   -kodni   taqqoslab,   Internetdan   fayllarni   yuklash   to'g'riligini
tekshirish   ham   qulay,   ayniqsa   yuklash   paytida   ulanish   uzilgan   bo'lsa.Maqsadiga
qarab xash funktsiyasi uch turdan biri bo'lishi mumkin:
Axborotning yaxlitligini tekshirish funktsiyasi
Tarmoq  orqali   amalga  oshirilganda,   paketning   xeshi   hisoblab   chiqiladi   va
bu   natija   fayl   bilan   birga   yuboriladi.   Qabul   qilinganidan   so'ng,   xash   kodi   qayta
hisoblab chiqiladi va tarmoq orqali olingan qiymat  bilan solishtiriladi. Agar kod
mos   kelmasa,   bu   xatolarni   ko'rsatadi   va   buzilgan   paket   yana   uzatiladi.   Bunday
funksiya   tez   hisoblash   tezligiga   ega,   lekin   oz   miqdordagi   xesh   qiymatlari   va
barqarorligi past. Bu turga misol: CRC32, u faqat 232 xil qiymatga ega.
Kriptografik funksiya
(ND)   dan   himoya   qilish   uchun   ishlatiladi.   Ular   tarmoq   orqali   fayllarni
uzatish   paytida   ND   natijasida   ma'lumotlar   buzilganligini   tekshirishga   imkon
beradi. Bu holda haqiqiy xash hamma uchun ochiqdir va natijada olingan faylning
xeshini turli xil dasturlar yordamida hisoblash mumkin. Bunday funktsiyalar uzoq
va   barqaror   hayotga   ega   va   to'qnashuvlarni   qidirish   (har   xil   kirish   ma'lumotlari
natijasida   mumkin   bo'lgan   tasodiflar)   juda   qiyin.   Ma'lumotlar   bazasida   parollar
(SH1,   SH2,   MD5)   va   boshqa   qimmatli   ma'lumotlarni   saqlash   uchun   aynan   shu
funktsiyalar ishlatiladi.
23 Ma'lumotlarning samarali tuzilishini yaratish uchun mo'ljallangan funksiya
Uning   maqsadi   -   xash   -jadval   deb   nomlangan   maxsus   tuzilmada
ma'lumotlarni ixcham va adolatli tartibga solish. Bunday  jadval qo'shish imkonini
beradi   yangi   ma'lumotlar ,   ma'lumotlarni   o'chiring   va   kerakli   ma'lumotlarni   juda
yuqori tezlikda qidiring.   (ba'zan xesh) - ixtiyoriy uzunlikdagi kirish ma'lumotlari
qatorini   belgilangan   uzunlikdagi   chiqish   bitli   qatoriga   aylantirish.   Bunday
o'zgartirishlar   xash   funktsiyalari   yoki   katlama   funktsiyalari   deb   ham   ataladi   va
ularning   natijalari   xash,   xesh   -kod   yoki   xabarlar   hazm   qilish   deyiladi.
Ma'lumotlarni taqqoslash uchun xashing ishlatiladi: agar ikkita massivda turli xil
xesh   kodlari   bo'lsa,   massivlar   boshqacha   bo'lishi   kafolatlanadi;   agar   ular   bir   xil
bo'lsa,  massivlar  bir  xil   bo'lishi   mumkin.  Umumiy holda,  xash  funktsiyalarining
qiymatlari   soni   kirish   massivining   variantlari   sonidan   kam   bo'lganligi   sababli,
boshlang'ich ma'lumotlar va xash kod o'rtasida birma-bir yozishmalar yo'q; bir xil
xash   kodlarini   beradigan   ko'plab   massivlar   mavjud   -   to'qnashuvlar.   To'qnashuv
ehtimoli   xash   funktsiyalari   sifatini   baholashda   muhim   rol   o'ynaydi.   Turli   xil
xususiyatlarga   ega   bo'lgan   ko'p   xesh   algoritmlari   mavjud   (bit   chuqurligi,
hisoblash   murakkabligi,   kriptografik   kuch   va   boshqalar).   Muayyan   xesh
funktsiyasini tanlash hal qilinayotgan muammoning o'ziga xos xususiyatlari bilan
belgilanadi.   Hash   funktsiyalarining   eng   oddiy   misollari   -   bu   nazorat   yig'indisi
yoki CRC.
XASH FUNKTSIYALARIDAN FOYDALANISH
Hash   funktsiyalari   ba'zi   ma'lumotlar   tuzilmalarida   ham   qo'llaniladi   -   xash   -
jadvallar,   Bloom   filtrlari   va   kartezian   daraxtlari.   Bu   holda   xash   funktsiyasiga
qo'yiladigan talablar boshqacha:
 yaxshi ma'lumotlarni aralashtirish
 tez hisoblash algoritmi
Ma'lumotlarni solishtirish
Umuman   olganda,   ushbu   ilovani   asl   nusxadan   foydalanmasdan,   ba'zi
ma'lumotlarning   asl   nusxaga   mosligini   tekshirish   sifatida   tasvirlash   mumkin.
Tekshirish   uchun   tekshirilayotgan   ma'lumotlarning   xash   qiymati   ishlatiladi.
Ushbu ilovaning ikkita asosiy yo'nalishi mavjud:
 Xatolarni tekshirish - Masalan, nazorat summasi aloqa kanali orqali asosiy
matn bilan birga uzatilishi mumkin. Qabul qilish oxirida nazorat summasini
qayta   hisoblash   va   uzatilgan   qiymat   bilan   solishtirish   mumkin.   Agar
nomuvofiqlik   aniqlansa,   bu   uzatish   paytida   buzilish   bo'lganligini   anglatadi
va siz qayta urinishni so'rashingiz mumkin.
24 Bunday   holda,   xashning   uy   analogi,   harakatlanayotganda,   bagajlar   soni
xotirada saqlanadigan usul bo'lishi  mumkin. Keyin tekshirish uchun har bir
chamadon haqida eslashning  hojati yo'q, lekin ularni sanash  kifoya. Gugurt
hech   qanday   chamadon   yo'qolmaganligini   anglatadi.   Ya'ni,   bagajlar   soni
uning   xesh   kodidir.   Bu   usul   uzatiladigan   ma'lumotlarni   soxtalashtirishdan
himoyaga   qo'shish   oson   (MAC   usuli).   Bunday   holda,   xesh   faqat   xabarni
jo'natuvchi va qabul qiluvchiga ma'lum  bo'lgan maxfiy kalit bilan birgalikda
xabarda   kriptografik   jihatdan   kuchli   funktsiyani   bajaradi.   Shunday   qilib,
kriptoanalist  ushlangan   xabarning  kodini  va  xesh  funktsiyasining  qiymatini
tiklay olmaydi, ya'ni u xabarni soxtalashtira olmaydi.
   Ma'lumotni   olishni   tezlashtirish -   Masalan,   ma'lumotlar   bazasida   matn
maydonlarini yozishda ularning xesh kodini hisoblash va ma'lumotlarni shu
xesh   kodga   mos   bo'limga   joylashtirish   mumkin.   So'ngra,   ma'lumotlarni
qidirishda   siz   avval   matnning   xash   kodini   hisoblashingiz   kerak   bo'ladi   va
ularni qaysi bo'limda qidirish kerakligi darhol ma'lum bo'ladi, ya'ni siz butun
ma'lumotlar   bazasini   qidirishingiz   shart   emas,   lekin   faqat   uning
bo'limlaridan birida (bu qidiruvni ancha tezlashtiradi).
Bu   holda   xeshning   kundalik   analogi   so'zlarni   alifbo   tartibida   lug'atga
joylashtirish bo'lishi  mumkin. So'zning birinchi harfi uning xesh kodidir va
qidirishda   biz   butun   lug'atni   ko'rib   chiqmaymiz,   faqat   kerakli   harfni   ko'rib
chiqamiz.
Men   ishonganimdek,   ko'pchilik   biladiki,   2007   yildan   buyon   AQSh   Milliy
Standartlar   va   Texnologiyalar   Instituti   (NIST)   SHA-1   va   SHA-2   algoritmlari
oilasini   almashtirish   uchun   xash   algoritmini   ishlab   chiqish   bo'yicha   tanlov
o'tkazib kelmoqda. lekin   bu mavzu , negadir, sayt e'tiboridan mahrum. Aslida, bu
meni   sizga   olib   keldi.   Men   sizning   e'tiboringizga   hash   algoritmlari   haqidagi   bir
qator maqolalarni keltiraman. Bu ketma-ketlikda biz xash funktsiyalari asoslarini
birgalikda   o'rganamiz,   eng   mashhur   xash   algoritmlarini   ko'rib   chiqamiz,   SHA-3
musobaqasi   muhitiga   kirib   boramiz   va   unda   g'alaba   qozonishga   da'vo   qiladigan
algoritmlarni ko'rib chiqamiz, biz ularni albatta sinovdan o'tkazamiz. Shuningdek,
iloji bo'lsa, Rossiyaning xash standartlari ko'rib chiqiladi.
Hozirgi vaqtda xeshni ishlatmasdan deyarli hech qanday kriptografik dastur to'liq 
bo'lmaydi. Xash funktsiyalari-bu ixtiyoriy xabar yoki ma'lumotlar to'plamini 
"siqish" uchun mo'ljallangan, odatda ikkilik alifbo bilan yozilgan, konvolyutsiya 
deb nomlangan ma'lum uzunlikdagi bitli naqshga. Hash funktsiyalari statistik 
tajribalarda, mantiqiy qurilmalarni sinab ko'rishda, tezkor qidirish algoritmlarini 
tuzishda va ma'lumotlar bazalaridagi yozuvlarning yaxlitligini tekshirishda turli 
xil ilovalarga ega. Xash funktsiyalari uchun asosiy talab - bu ularning 
qiymatlarini bir xil taqsimlashdir   tasodifiy tanlov   argument qiymatlari.
25 Kriptografik xash funktsiyasi - bu kriptografik jihatdan kuchli bo'lgan, ya'ni 
kriptografik ilovalarga xos bo'lgan bir qator talablarni qondiradigan har qanday 
xash funktsiyasi. Kriptografiyada xash funktsiyalari quyidagi muammolarni hal 
qilish uchun ishlatiladi:
- ma'lumotlarni uzatish yoki saqlash paytida ularning yaxlitligini nazorat qilish 
tizimini yaratish;
- ma'lumotlar manbasini autentifikatsiya qilish.
Har   qanday   funktsiya   xash   funktsiyasi   deb   ataladi.   h: X	 ->	 Y ,   osonlik   bilan
hisoblanadigan va har qanday xabar uchun   M   ma'no   h	
 (M)	 = H	 (burilish)   aniq bit
uzunligiga   ega.   X -   ko'plab   xabarlar,   Y -   sobit   uzunlikdagi   ikkilik   vektorlar
to'plami. Qoida tariqasida, xash funktsiyalari bir bosqichli siqish funktsiyalari deb
ataladi   y	
 = f (x	 1,	 x 2)   ikkita o'zgaruvchi, qaerda   x	 1 ,   x	 2   va   y - uzunlikdagi ikkilik
vektorlar   m ,   n   va   n   mos   ravishda   va   n   konvulsiyaning   uzunligi   va   m -   xabarlar
blokining   uzunligi.
Qiymatni   olish   uchun   h	
 (M)   xabar   birinchi   navbatda   uzunlik   bloklariga
bo'linadi   m (bu   holda,   agar   xabar   uzunligi   ko'p   emas   m   keyin   oxirgi   blok
qandaydir maxsus tarzda to'ldiriladi), so'ngra hosil bo'ladigan bloklarga   M	
 1,	 M	 2,
..,	
 M	 N.   Quyidagi ketma -ket konvulsiyalarni hisoblash tartibini qo'llang:
H	
 o = v,
H	
 i = f (M	 i, H	 i-1),	 i = 1,	 ..,	 N,
h	
 (M)	 = H	 N
Bu   yerda   v -   ba'zi   bir   doimiy,   ko'pincha   ishga   tushirish   vektori   deb   ataladi.   U
chiqadi
turli   sabablarga   ko'ra   va   maxfiy   doimiy   yoki   tasodifiy   ma'lumotlar   to'plami
bo'lishi   mumkin   (masalan,   sana   va   vaqt   namunasi).
Ushbu   yondashuv   yordamida   xash   funktsiyasining   xususiyatlari   bir   bosqichli
qisqarish   funktsiyasining   xususiyatlari   bilan   to'liq   aniqlanadi.   Kriptografik   xash
funktsiyalarining   ikkita   muhim   turi   mavjud   -   kalit   va   kalitsiz.   Kalit   xash
funktsiyalari   xabarlar   autentifikatsiya   kodlari   deb   ataladi.   Ular,   qo'shimcha
vositalarsiz, bir -biriga ishonadigan foydalanuvchilar bilan tizimdagi ma'lumotlar
manbasining   to'g'riligini   va   ma'lumotlarning   yaxlitligini   kafolatlashga   imkon
beradi.
Kalitsiz   xash   funktsiyalari   xatolarni   aniqlash   kodlari   deb   ataladi.   Ular
ma'lumotlarning   yaxlitligini   kafolatlash   uchun   qo'shimcha   vositalar   yordamida
(masalan,   shifrlash)   imkon   beradi.   Bu   xash   funktsiyalari   ishonchli   va
ishonilmaydigan foydalanuvchilari bo'lgan tizimlarda ishlatilishi mumkin.
26 Mashhur xash algoritmlari haqida
Algoritmlar   CRC16   /   32 -   nazorat   summasi   (kriptografik   konvertatsiya
emas).
Algoritmlar   MD2/4/5/6 ...   Bu   RSA   algoritmi   mualliflaridan   biri   Ron   Rivestning
yaratilishi.
MD5  algoritmi   bir  paytlar   juda  mashhur  bo'lgan,   lekin  xakerlik  uchun  dastlabki
shartlar to'qsoninchi yillarning oxirida paydo bo'lgan va hozir uning mashhurligi
tez   pasaymoqda.
MD6   algoritmi   konstruktiv   nuqtai   nazardan   juda   qiziq   algoritmdir.   U   SHA-3
tanloviga nomzod qilib ko'rsatildi, lekin, afsuski, mualliflar uni standart darajaga
etkazishga   ulgurishmadi   va   bu   algoritm   ikkinchi   bosqichga   o'tgan   nomzodlar
ro'yxatida yo'q.
Hukmdor   algoritmlari   SHA   Algoritmlar   hozir   keng   qo'llanilmoqda.   SHA-1dan
SHA-2   versiya   standartlariga   faol   o'tish   mavjud.   SHA-2-SHA224,   SHA256,
SHA384   va   SHA512   algoritmlarining   umumiy   nomi.   SHA224   va   SHA384
asosan  SHA256  va  SHA512  analoglari  bo'lib,  faqat  konvulsiyani  hisoblagandan
so'ng,   undagi   ma'lumotlarning   bir   qismi   tashlab   yuboriladi.   Ular   faqat   eski
uskunalarga mos kelishini ta'minlash uchun ishlatilishi kerak.
Biroq, joylashtirish funktsiyasi mumkin   bir nechta   yagona kalit qiymatlari bir xil
pozitsiya   qiymatini   beradi   i   xash   jadvalida.   Ikki   yoki   undan   ortiq   kalit   bir   xil
indeksni (xash manzilini) oladigan holat deyiladi   to'qnashuv   (qarama -qarshilik)
xeshlashda   ..   Shuning   uchun   xesh   sxemasi   o'z   ichiga   olishi   kerak   nizolarni   hal
qilish   algoritmi   pozitsiya   bo'lsa,   harakatlar   tartibini   belgilash   i = h ( kalit )   boshqa
kalit   bilan   allaqachon   band   bo'lgan   rekord   bo'lib   chiqadi.   Ko'p   xash   sxemalari
mavjud,   ular   ishlatilgan   xash   funktsiyasidan   farq   qiladi   h ( kalit )   va   nizolarni   hal
qilish algoritmlari.Xash funktsiyasini o'rnatishning eng keng tarqalgan usuli:
Bo'linish usuli.
Dastlabki   ma'lumotlar   quyidagilardir:   -   butun   sonli   kalit   kalit   va   stol
o'lchami   m ... Bu funktsiyaning natijasi - bu kalitni jadval kattaligiga bo'linishi. C /
C ++ dasturlash tilida bunday funksiyaning umumiy ko'rinishi:
int   h   ( int   kalit   ,   int   m   )   {
Uchun   m = 10 xash funktsiyasi kalitning eng kichik raqamini qaytaradi.
M = 100 uchun xash funktsiyasi kalitning eng muhim ikkita raqamini qaytaradi.
Ko'rib   chiqilgan   misollarda,   hash   funktsiyasi   i = h ( kalit )   faqat   kalit   bilan   yozuvni
qidirish   (yoki   dastlab   -   jadvalga   joylashtirish)   pozitsiyasini   aniqlaydi   kalit ...
Keyinchalik, siz hashing sxemasidan (algoritm) foydalanishingiz kerak.
27 Xash sxemalari
Ko'pgina vazifalarda, ikki yoki undan ortiq kalit bir xil tarzda ajratiladi, lekin
ular  xash jadvalidagi  bitta katakchani  egallay olmaydi. Ikki bor   mumkin bo'lgan
variantlar :  yoki yangi kalit uchun boshqa pozitsiyani toping yoki xesh jadvalining
har bir indeksi uchun alohida ro'yxat tuzing, unda ushbu indeksga mos keladigan
barcha kalitlar mavjud. Bu variantlar ikkita klassik xesh sxemasini ifodalaydi:
chiziqli   tekshirish   yordamida   ochiq   manzil   usuli   bilan   xeshlash
-   chiziqli   zond   ochiq   murojaat qilish .
zanjirlar   usuli   bilan   xeshlash   (ro'yxatlar   bilan)   yoki   ko'p   o'lchovli   xash   deb
ataladigan -   zanjirlash   bilan   alohida   ro'yxatlar ;
Chiziqli tekshirish yordamida manzilni aniqlashning ochiq usuli   .
  Dastlab,   oddiy   o'lchamli   massiv   bo'lgan   xash   jadvalining   barcha   katakchalari
band   bo'lmagan   deb   belgilanadi.   Shuning   uchun,   yangi   kalit   qo'shganda,   bu
hujayraning   bandligi   tekshiriladi.   Agar   hujayra   band   bo'lsa,   algoritm   bo'sh   joy
topilmaguncha ("ochiq manzil") dumaloq skanerlashni amalga oshiradi.
Bular.   bir   hil   kalitlarga   ega   elementlar   olingan   indeks   yaqinida   joylashtiriladi.
Bundan   tashqari,   qidiruvni   amalga   oshirayotganda,   joy   birinchi   navbatda   kalit
bilan topiladi   i   jadvalda va agar  kalit  mos kelmasa, keyingi  qidiruv pozitsiyadan
boshlab nizolarni hal qilish algoritmiga muvofiq amalga oshiriladi.
Zanjirlash usuli
Strategiyasi ustunlik qiladi   .   Ushbu holatda   i   tanlangan xash funktsiyasidan
olingan   h ( kalit )= i , ro'yxatlar xesh jadvalidagi indeks sifatida talqin qilinadi, ya'ni.
birinchi kalit   kalit   Keyingi yozuv pozitsiyaga joylashtiriladi   i   =   h ( kalit ) jadvallar.
Agar pozitsiya bo'sh bo'lsa, unda kalitli element joylashtiriladi   kalit , agar u band
bo'lsa,   ziddiyatlarni  hal  qilish   algoritmi   qayta  ishlanadi,   natijada  bunday  kalitlar
ro'yxatda joylashtiriladi.   i -xash jadvalining uchinchi katakchasi.  Masalan
Natijada, bizda bog'langan ro'yxatlar yoki daraxtlar majmuasi mavjud.
Xash -jadvalni to'ldirish (o'qish)  jarayoni oddiy, lekin elementlarga kirish uchun
quyidagi amallar kerak: Indeksni hisoblash   i ; Tegishli zanjirda qidiring.
28 Yangi   element   qo'shganda   qidiruvni   yaxshilash   uchun   siz   kiritish   algoritmini
ro'yxatning   oxirida   emas,   balki   buyurtma   berishda   ishlatishingiz   mumkin,   ya'ni.
ga element qo'shing   To'g'ri joy .
29 To'g'ridan -to'g'ri murojaat qilish usulini chiziqli tekshirish yordamida
amalga oshirishga misol   .
Dastlabki ma'lumotlar e'lon qilingan tuzilish turidagi 7 ta yozuv (soddaligi
uchun,   ma'lumot   qismi   faqat   butun   ma'lumotlardan   iborat):   int   kaliti;   //   kalit   int
ma'lumotlari; // Ma `lumot
(59.1), (70.3), (96.5), (81.7), (13.8), (41.2), (79.9); xash jadval o'lchami m = 10.
Hash   funktsiyasi   i = h ( ma'lumotlar )   = ma'lumotlar . kalit %o'n;   o'sha.   10   ga
bo'lingandan   keyin   qolgan   qismi   i  .   Dastlabki   ma'lumotlarga   asoslanib,   biz
jadvalni   ketma   -ket   to'ldiramiz.   Birinchi   beshta   kalitni   aralashtirish   turli
indekslarni   beradi   (xash   manzillari):   Birinchi   to'qnashuv   81   va   41   tugmachalari
o'rtasida sodir bo'ladi - 1 -indeksli joy olinadi. Shuning uchun, biz eng yaqin bo'sh
joyni topish uchun xash jadvaliga qaraymiz, bu holda   i   = 2. Keyingi 79 -kalit ham
to'qnashuvni   keltirib   chiqaradi:   9   -pozitsiya   allaqachon   olingan.   Algoritmning
samaradorligi   keskin   pasayadi,   chunki   bo'sh   joy   topish   uchun   6   ta   test
(taqqoslash) kerak bo'ldi, indeks bepul bo'lib chiqdi   i = 4. Bu usul namunalarining
umumiy soni har bir element uchun 1 dan n-1 gacha namunalarni tashkil etadi, bu
erda n-xash jadvalining o'lchami.
Zanjirlash usulini amalga oshirish   oldingi misol uchun. Biz ro'yxat elementi 
uchun tuzilgan turni e'lon qilamiz (bir tomonlama):
int kaliti; // kalit
int ma'lumotlari; // Ma `lumot
zap * Keyingi; // Ro'yxatdagi keyingi bandga ko'rsatgich
Dastlabki ma'lumotlarga asoslanib, biz jadvalni ketma -ket to'ldiramiz, agar bo'sh
joy allaqachon olingan bo'lsa, ro'yxatning oxiriga yangi element qo'shamiz.
Birinchi   beshta   kalitni   aralashtirish,   oldingi   holatda   bo'lgani   kabi,   har   xil
indekslarni beradi (xash manzillari): 9, 0, 6, 1 va 3.
To'qnashuv   sodir   bo'lganda,   ro'yxat   oxiriga   yangi   element   qo'shiladi.   Shunday
qilib, 41 -kalitli element 81 -tugmachadan keyin, 79 -tugmachali element esa 59 -
kalitli banddan keyin joylashtiriladi.
30 VI.      Hash funktsiyasini yaratish algoritmlarini
ko'rib chiqish
Hozirgi   vaqtda   turli   xil   algoritmlar   taklif   qilingan   va   amalda   hash
funktsiyasini   hisoblash   uchun   foydalaniladi.   Eng   mashhur   algoritmlar   MD5,
SHA-1,   SHA-2   va   boshqa   SHA   versiyalari,   shuningdek   GOST   R   34.11-94da
tavsiflangan   ichki   algoritm.   Algoritm   MD5   Yigirmanchi   asrning   90-yillari
boshlarida   MD4   xesh   funktsiyasini   yaratish   algoritmini   takomillashtirish
natijasida   paydo   bo'ldi.   "MD"   nomidagi   belgilar   Message   Digest   -   xabarning
xulosasini   anglatadi.   MD4   va   MD5   algoritmlarining   muallifi   R.   Rivestdir.
Tasodifiy   xabar   uchun   MD5-dan   foydalanish   128   bitli   xesh   qiymatini   keltirib
chiqaradi.   Kirish   ma'lumotlari   512   bitli   bloklarda   qayta   ishlanadi.   Algoritmda
oddiy   arifmetik   qo'shimchalar   bilan   bir   qatorda   oddiy   mantiqiy   operatsiyalar
(inversiya,   ulanish,   modulo   2,   siklik   siljishlar   va   boshqalar)   qo'llaniladi.
Algoritmning   ushbu   elementar   funktsiyalarini   kompleks   takrorlash   ishlov
berishdan   keyin   olingan   natijaning   yaxshilab   aralashtirilishini   ta'minlaydi.
Shuning uchun, ikkita tasodifiy tanlangan xabarlar bir xil hash kodiga ega bo'lishi
dargumon.   MD5   algoritmi   quyidagi   xususiyatga   ega:   olingan   hash   qiymatining
har   bir   biti   har   bir   kirish   bitining   funktsiyasi.   Bu   MD5   128   bitli   hash   qiymati
uchun eng kuchli  hash  funktsiyasi  deb ishoniladi.  Algoritm  SHA   (Secure  Hash
algoritmi)  AQSh  milliy  standartlar  va  texnologiyalar  instituti   (NIST)  tomonidan
ishlab chiqilgan va 1993 yilda Amerika Federal ma'lumot standarti sifatida nashr
etilgan.   SHA-1,   MD5   kabi,   MD4   algoritmiga   asoslangan.   SHA-1   512   bitli
bloklarda   boshlang'ich   xabarni   qayta   ishlash   asosida   160   bitli   xesh   qiymatini
yaratadi.   SHA-1   algoritmida   oddiy   mantiqiy   va   arifmetik   amallar   ham
qo'llaniladi.   SHA-1   va   MD5   o'rtasidagi   eng   muhim   farq   shundaki,   SHA-1   hash
kodi   MD5   xash   kodidan   32   bit   uzunroq.   Agar   ikkala   algoritm   ham
kriptovalyutani   murakkabligi   bo'yicha   bir   xil   deb   faraz   qilsak,   SHA-1   yanada
ishonchli   algoritm   bo'ladi.   Shafqatsiz   hujum   (frontal   hujum)   dan   foydalanib,
berilgan   hash   kodiga   ega   bo'lgan  o'zboshimchalik   bilan  xabarni   yaratish   yanada
qiyinroq   va   hash   kodi   bir   xil   bo'lgan   ikkita   xabarni   yaratish   yanada   qiyinroq.
2001   yilda   AQSh   milliy   standartlar   va   texnologiyalar   instituti   standart   sifatida
SHA-1   dan   uzunroq   hash   kodli   uchta   hash   funktsiyasini   qabul   qildi.   Ko'pincha
bunday   xesh   funktsiyalari   SHA-2   yoki   SHA-256,   SHA-384   va   SHA-512   deb
31 nomlanadi   (nom   algoritmlar   tomonidan   hosil   qilingan   hash   kodning   uzunligini
ko'rsatadi). Ushbu algoritmlar nafaqat hosil qilingan hash kodning uzunligi, balki
ichki   funktsiyalar   va   qayta   ishlangan   blokning   uzunligi   bilan   ham   farqlanadi
(SHA-256   uchun   blok   uzunligi   512,   SHA-384   va   SHA-512   uchun   blokning
uzunligi   1024   bit).   SHA   algoritmini   bosqichma-bosqich   takomillashtirish   uning
kriptografik   kuchini   oshirishga   olib   keladi.   Ko'rib   chiqilgan   algoritmlar   bir-
biridan farqli bo'lishiga 
Mana,   ko'paytirish   usulidan   davolash   holda   C++   tilida   xesh-funktsiyani   qo'llash
algoritmini amalga oshirish misoli:
#include <iostream>
#include <string>
using namespace std;
Ko'paytirish usuli yordamida xesh funksiyasini yaratish algoritmi
unsigned int hashFunction (string kaliti, int tableSize){
    const float A = 0.6180339887; // Multiplikativ doimiy
    unsigned int hashValue = 0;
    for (int i = 0; i < key.length(); i++) {
        hashValue = hashValue * A + key[i];
    }
    return (unsigned int)(tableSize * (hashValue - floor(hashValue)));
}
int main() {
    string key = "hello";
    int tableSize = 10;
    unsigned int hashValue = hashFunction(key, tableSize);
    cout << "" Hash value for << key << " << hashValue << endl;
    return 0;
}
Ush misolda xesh funksiyasi kirish sifatida string kaliti va jadval olchamini oladi
va   0   va   0   va   jadval   o lchami   o   shaxsiy   belgilariz   butun   son   xesh   belgilariniʻ ʻ
qaytaradi.   U   xeshni   kiritish   uchun   oltin   nisbatga   (0,6180339887)   o'zgartirish
ko'paytma   konstantasi   bilan   ko'paytirish   usulidan   qo'llash.   Keyin   xesh   narsa
tagliksidan diapazon, jadval o lchamiga mos keladigan darajada.Esda tutingki, bu	
ʻ
xesh-funksiya   algoritmining   bir   misoli   va   barcha   ilovalar   uchun   mos   kelmasligi
32 mumkin. Algoritmni  qo'shishning o'ziga xos bog'liq.   qaramay, ularning barchasi
SHA-1   va   MD4-ning   keyingi   rivojlanishi   bo'lib,   ular   o'xshash   tuzilishga   ega.
Rossiyada   hash   funktsiyalari   uchun   mahalliy   standart   bo'lgan   GOST   R34.11-94
qabul   qilindi.   Uning   tuzilishi   MD4   algoritmiga   asoslangan   SHA-1,2   yoki   MD5
algoritmlarining   tuzilishidan   tubdan   farq   qiladi.   GOST   R   34.11-94   algoritmi
tomonidan yaratilgan  hash kodning uzunligi  256 bit. Algoritm  dastlabki  xabarni
ketma-ket   256   bitli   blokdan   o'ngdan   chapga   qayta   ishlaydi.   Algoritmning
parametri   boshlang'ich   hash   vektoridir   -   ixtiyoriy   sobit   qiymat,   shuningdek   256
bit   uzunlikda.   GOST   R   34.11-94   algoritmida   permutatsiya,   siljish,   arifmetik
qo'shimchalar, modul 2 operatsiyalari qo'llaniladi. GOST 34.11-94 da yordamchi
vazifa sifatida GOST 28147-89 ga muvofiq algoritm oddiy almashtirish rejimida
qo'llaniladi.
Hash funktsiyasi talablari
Xesh funktsiyasi - bu fayl, xabar yoki ba'zi ma'lumot bloklarini hazm qilish
yoki "barmoq izlari" ni olish uchun mo'ljallangan bir tomonlama funktsiya.
Hash kodi funksiya tomonidan yaratilgan N :
h \u003d H (M)
Qayerda M   ixtiyoriy uzunlikdagi xabar h   belgilangan uzunlikdagi hash kod.
Xabarlarni autentifikator sifatida ishlatish uchun xesh funktsiyasi qanaqa bo'lishi
kerakligini   ko'rib   chiqing.   Juda   oddiy   hash   funktsiyasi   misolini   ko'rib   chiqing.
Keyin, biz xesh funktsiyasini yaratishda bir nechta yondashuvlarni tahlil qilamiz.
Hash   funktsiyasi   N   ,   xabarni   tasdiqlash   uchun   foydalaniladigan   quyidagi
xususiyatlarga ega bo'lishi kerak:
 1.   Hash   funktsiyasi   N   har   qanday   uzunlikdagi   ma'lumotlar   blokiga
qo'llanilishi kerak.
 2. Hash funktsiyasi N   sobit uzunlikdagi chiqish hosil qiladi.
 3.  N   (M)       Nisbatan   osonlik   bilan   (polinomik  davrda)   har   qanday  qiymat
uchun hisoblanadi M .
 4. Har qanday berilgan hash kod qiymati uchun h   hisoblash uchun topish
mumkin emas M   shunday H (M) \u003d h .
33  5. Har qanday berilgan uchun x     hisoblash uchun buni topib bo'lmaydi   H
(y) \u003d H (x).
 6.   O'zboshimchalik   juftligini   topish   (hisoblash)   mumkin   emas   (   x   ,   y   )
shunday H (y) \u003d H (x) .
Birinchi  uchta xususiyat  har  qanday xabar  uchun hash  kodni  yaratishda  hash
funktsiyasini   talab   qiladi.   To'rtinchi   xususiyat   bir   tomonlama   hash
funktsiyasining   talabini   belgilaydi:   berilgan   xabar   uchun   hash-kodni   yaratish
oson, ammo berilgan hash-kod uchun xabarni tiklash mumkin emas. Agar xesh-
autentifikatsiya maxfiy qiymatni o'z ichiga olsa, bu xususiyat muhimdir. Yashirin
qiymatning   o'zi   yuborilishi   mumkin   emas,   ammo   agar   hash   funktsiyasi   bir
tomonlama   bo'lmasa,   dushman   maxfiy   qiymatni   quyidagicha   osongina   ochishi
mumkin.   Etkazib berish  to'xtatilganda, tajovuzkor  xabar  oladi  M     va hash  kodi
C   \u003d   H   (SAB     M)   .   Agar   tajovuzkor   hash   funktsiyasini   o'zgartira   olsa,
demak, u qo'lga kiritishi mumkin SAB  M \u003d H-1 (C) . Hujumchi endi biladi
va M   va SAB || M olish SAB   juda oddiy.Beshinchi xususiyat, hash funktsiyasi
qiymati   ushbu   hash   funktsiyasining   qiymatiga   mos   keladigan   boshqa   xabarni
topishning   iloji   yo'qligini   ta'minlaydi.   Bu   shifrlangan   hash   kodini   ishlatishda
autentifikatorni   qalbakilashtirishni   oldini   oladi.   Bunday   holda,   dushman   xabarni
o'qishi   mumkin   va   shuning   uchun   uning   hash   kodini   yaratishi   mumkin.   Ammo
dushman   maxfiy   kalitga   ega   emasligi   sababli,   uni   oluvchi   uni   sezmasligi   uchun
xabarni   o'zgartira   olmaydi.   Agar   ushbu   xususiyat   bajarilmasa,   tajovuzkor
quyidagi   harakatlar   ketma-ketligini   amalga   oshirishi   mumkin:   xabarni   va   uning
shifrlangan hash kodini ushlab qolish, xabarning xesh kodini hisoblash, xuddi shu
hash   kodi   bilan   muqobil   xabar   yaratish,   asl   xabarni   soxta   bilan   almashtirish.
Ushbu xabarlarning xesh kodlari bir-biriga mos kelganligi sababli, qabul qiluvchi
buzg'unchilikni   aniqlamaydi.   Birinchi   besh   xususiyatni   qondiradigan   hash
funktsiyasi   oddiy   yoki   zaif   hash   funktsiyasi   deyiladi.   Agar   qo'shimcha   ravishda
oltinchi   xususiyat   qoniqsa,   unda   bunday   funktsiya   kuchli   hash   funktsiyasi   deb
ataladi.   Oltinchi   mulk   tug'ilgan   kunga   qilingan   hujum   deb   nomlanadigan
hujumlardan himoya qiladi.
5. Oddiy xesh fu   nktsiyalari
34 Barcha   hash   funktsiyalari   quyidagicha   bajariladi.   Kirish   qiymati   (xabar,   fayl   va
boshqalar)   ketma-ketlik   sifatida   qabul   qilinadi   n   -bit   bloklari.   Kirish   qiymati
ketma-ket blok bilan ishlov beriladi va yaratiladi m bit kodining bit qiymati.
Hash funktsiyasining eng oddiy misollaridan biri har bir blokning ozgina XOR:
C i - i hash bit 1 <= i <= n .
k   - raqam n bit kirish bloklari.
ichida blok.
Shunda   Y1,   Y2,   ...,   YN   +   1   shifrlangan   bloklarni   yaratish   uchun   barcha   xabar
SHS rejimida shifrlangan, shu jumladan hash-kod. SHS ta'rifi bo'yicha bizda:
Ammo  XN  +  1  bu  hash  kod:  Avvalgi  tenglikdagi  shartlarni  har   qanday  tartibda
hisoblash mumkin bo'lganligi sababli, shifrlangan bloklar qayta o'zgartirilsa, hash
kodi  o'zgartirilmaydi. NIST   tomonidan  taklif  qilingan asl   standart  64  bitli   xabar
bloklariga qo'llaniladigan oddiy XOR-dan foydalangan, so'ngra butun xabar CBC
rejimidan foydalanib shifrlangan.
35 Xulosa
Xulosa qilib aytganda, barcha qarashlar  kоrib chiqilgandan song, biz xesh
funksiyasi   haqida   qisqacha   aytishimiz   mumkin.Xesh   funksiyalar-ixtiyoriy
uzunlikdagi   kirish   malumotini  chiqishda  belgilangan  uzunlikdagi  xesh  qiymatga
aylantirib   beruvchi   bir   tomonlama   funksiyalarga   aytiladi.Xesh   funksiyalar
kriptografiya   va   zamonaviy   axborot   xavfsizligi   sohasida   malumotlarni   tolaligini
tekshirishda foydalaniladi.
Elektron   tolov   tizimlari   protokollarida   ham   istemolchi   kartasi   malumotlarini
bank-emitentga toliq yetkazish uchun foydalaniladi.
Xesh   funksiya-ixtiyoriy   uzunlikdagi   M-malumotni   fiksirlangan   uzunlikka   siqish
yoki   ikkilik   sanoq   sistemasi   ifodalangan   malumotlarni   fiksirlangan   uzunlikdagi
bitlar korinishdagi qandaydir kombinatsiyasi (svertkasi) deb ataluvchi funksiya.
Har   qanday   X   Y   oson   hisoblanuvchi   va   M-malumotning   h(M)=H   fiksirlangan
uzunlikka   ega   bolgan   funksiyaga   xesh-funksiya   deb   aytiladi.   Berilgan   M-
malumotning   h(M)-xesh   qiymatini   toppish   uchun   avvalo   malumot   biror   “m”-
uzunlikdagi bloklarga ajralib chiqiladi. Agar M-malumot uzunligi “m”-ga karrali
bolmasa,   u   holda   oxirgi   tolmay   qolgan   blok   “m”-uzunlikga   oldindan   kelishib
olingan   maxsus   usulda   biror   simvol   yoki   belgi   (masalan   “0”   yoki   “1”)   bilan
toldirib chiqiladi.Natijada hosil qilingan M-malumot bloklariga:
M={M ,M ,……..M }₁ ₂ ₙ
Quyidagicha siqishni (svertkani) hisoblash protsedurasi qollaniladi:
H =,	
₀
h(M)=H	
ₙ
bu yerda -qandaydir fiksirlangan boshlangich vektor.
MD5   xesh   funksiyasi   algoritmi   Massachusets   texnologiya   institute   professori
Ronald   Rivest   tomonidan   1992-yilda   ishlab   chiqarilgan.MD5   xesh   funksiyasi
asosan   parollarni   xeshlash   uchun   ishlatiladi.Bu   holatda   xesh   funksiyadan   kalit
xesh   qiymatini   bilgan   holda   kalitni   topib   bolmaslik   sharti   talab   qilinadi.Hozirgi
vaqtda   MD5   xesh   qiymatidan   boshlangich   yoki   ekvivalent   kalitni   topadigan
algoritmlar mavjud.
 
36 Foydalingan adabiyotlar 
en.wikipedia.org
uz.eyewated.com
www.   Wikipedia.com
www.google.com  
www.ilyarm.ru/uz
www.terabayt.uz
37

I. Xesh-funksiyalarning umumiy oilasi II. MUNDARIJA III. KIRISH ………………………………………………………….. 3 IV. Xesh funksiyalar ………………………………………………… 5 V. Kriptografik xesh funksiyalar ………………………………….. 9 VI. Xesh funksiyasining xususiyatlari …………………………….. 14 VII. Raqamli imzoni tekshirish muolajasi .………………………….. 18 VIII. Xesh funksiyalarini tuzish usullari ……………………………… 23 IX. Hesh funksiyasini yaratish algoritmlarini ko’rib chiqish ……… 32 X. 8. Xulosa ……………………………………………………………… 36 XI. 9. Foydalingan adabiyotlar …………………………………………. 37 1

KIRISH Dolzarbligi Ko'pincha, torrentlarni yoki to'g'ridan -to'g'ri fayllarni o'zlari yuklab olayotganda, tavsifda “ad33e486d0578a892b8vbd8b19e28754” ( masalan, ex.ua da ) kabi narsalar bo'ladi, ko'pincha "md5” yozuvli. Bu xesh -kod - bu kiruvchi ma'lumotlarni qayta ishlashdan so'ng xash funksiyasi ishlab chiqaradigan natijadir. Ingliz tilidan tarjima qilingan xash chalkashlik, marixuana, o't yoki mayda tug'ralgan go'sht va sabzavotlardan iborat idishni bildiradi. juda, juda qiyin, deyishimiz mumkin, bu deyarli imkonsiz. Keyin savol tug'iladi: "Bularning barchasi bizga nima uchun kerak, ular hali ham tushunib bo'lmaydigan tushunarsiz so'zlarni berishadi?" Xash funktsiyasi nima va u qanday ishlaydi Bu funksiya har qanday katta hajmdagi kiruvchi ma'lumotlarni belgilangan uzunlikdagi natijaga aylantirish uchun mo'ljallangan. Bunday o'zgartirish jarayonining o'zi xash, natijasi esa xesh yoki xesh kod deb ataladi. Ba'zida "barmoq izi" yoki "xabar hazm qilish" so'zlari haligacha ishlatiladi, lekin amalda ular kamroq tarqalgan. Ma'lumotlar massivini ma'lum uzunlikdagi belgilar ketma - ketligiga aylantirish uchun juda ko'p turli xil algoritmlar mavjud. Eng keng tarqalgan md5 algoritmi bo'lib, u 1991 yilda ishlab chiqilgan. Bugungi kunda md5 biroz eskirgan va foydalanish uchun tavsiya qilinmaganiga qaramay, u hali ham ishlatilmoqda va ko'pincha "xash kod" so'zining o'rniga, saytlar md5 yozadi va kodning o'zini ko'rsatadi. Nega xash funktsiyasi kerak Natijani bilib, dastlabki ma'lumotlarni aniqlash deyarli mumkin emas, lekin bir xil kirish ma'lumotlari bir xil jamlanmani beradi. Shuning uchun, xash funktsiyasi (konvulsiyalar funktsiyasi deb ham ataladi) ko'pincha saqlash uchun ishlatiladi muhim ma’lumotlar , parol, login, identifikatsiya raqami va boshqalar kabi Shaxsiy ma’lumot ... Foydalanuvchi kiritgan ma'lumotni ma'lumotlar bazasida saqlanayotgan ma'lumotlar bilan solishtirish o'rniga, ularning xeshlari solishtiriladi. Bu tasodifan ma'lumot sızıntısı bo'lsa, hech kim muhim ma'lumotlardan o'z maqsadlari uchun foydalana olmasligini ta'minlaydi. Hash -kodni taqqoslab, Internetdan fayllarni yuklash to'g'riligini tekshirish ham qulay, ayniqsa yuklash paytida ulanish uzilgan bo'lsa. 2

Kurs ishini maqsadi : Xesh-funksiyalarning umumiy oilasi Kurs ishi vazifalari:  Xesh funksiyalar  Kriptografik xesh funksiyalar  Xesh funksiyasining xususiyatlari  Raqamli imzoni tekshirish muolajasi.  Xesh funksiyalarini tuzish usullari  Hesh funksiyasini yaratish algoritmlarini ko’rib chiqish Kurs ishini tarkibi : Kus ishini tarkibi,Kirish , Xulosa, foydalanilgan adabiyotlar ro’yxati va ilovalardan iborat . 3

I. Xesh funksiyalar Xash funktsiyalari: ular nima 1-rasm Maqsadiga qarab xash funktsiyasi uch turdan biri bo'lishi mumkin: 1. Axborotning yaxlitligini tekshirish funktsiyasi Tarmoq orqali amalga oshirilganda, paketning xeshi hisoblab chiqiladi va bu natija fayl bilan birga yuboriladi. Qabul qilinganidan so'ng, xash kodi qayta hisoblab chiqiladi va tarmoq orqali olingan qiymat bilan solishtiriladi. Agar kod mos kelmasa, bu xatolarni ko'rsatadi va buzilgan paket yana uzatiladi. Bunday funksiya tez hisoblash tezligiga ega, lekin oz miqdordagi xesh qiymatlari va barqarorligi past. Bu turga misol: CRC32, u faqat 232 xil qiymatga ega. 2. Kriptografik funksiya (ND) dan himoya qilish uchun ishlatiladi. Ular tarmoq orqali fayllarni uzatish paytida ND natijasida ma'lumotlar buzilganligini tekshirishga imkon beradi. Bu holda haqiqiy xash hamma uchun ochiqdir va natijada olingan faylning xeshini turli xil dasturlar yordamida hisoblash mumkin. Bunday funktsiyalar uzoq va barqaror hayotga ega va to'qnashuvlarni qidirish (har xil kirish ma'lumotlari natijasida mumkin bo'lgan tasodiflar) juda qiyin. Ma'lumotlar bazasida parollar (SH1, SH2, MD5) va boshqa qimmatli ma'lumotlarni saqlash uchun aynan shu funktsiyalar ishlatiladi. 3. Ma'lumotlarning samarali tuzilishini yaratish uchun mo'ljallangan funksiya Uning maqsadi - xash -jadval deb nomlangan maxsus tuzilmada ma'lumotlarni ixcham va adolatli tartibga solish. Bunday jadval qo'shish imkonini beradi yangi ma'lumotlar , ma'lumotlarni o'chiring va kerakli ma'lumotlarni juda yuqori tezlikda qidiring. (ba'zan xesh) - ixtiyoriy uzunlikdagi kirish ma'lumotlari qatorini belgilangan uzunlikdagi chiqish bitli qatoriga aylantirish. Bunday o'zgartirishlar xash funktsiyalari yoki katlama 4

funktsiyalari deb ham ataladi va ularning natijalari xash, xesh -kod yoki xabarlar hazm qilish deyiladi. Ma'lumotlarni taqqoslash uchun xashing ishlatiladi: agar ikkita massivda turli xil xesh kodlari bo'lsa, massivlar boshqacha bo'lishi kafolatlanadi; agar ular bir xil bo'lsa, massivlar bir xil bo'lishi mumkin. Umumiy holda, xash funktsiyalarining qiymatlari soni kirish massivining variantlari sonidan kam bo'lganligi sababli, boshlang'ich ma'lumotlar va xash kod o'rtasida birma-bir yozishmalar yo'q; bir xil xash kodlarini beradigan ko'plab massivlar mavjud - to'qnashuvlar. To'qnashuv ehtimoli xash funktsiyalari sifatini baholashda muhim rol o'ynaydi. Turli xil xususiyatlarga ega bo'lgan ko'p xesh algoritmlari mavjud (bit chuqurligi, hisoblash murakkabligi, kriptografik kuch va boshqalar). Muayyan xesh funktsiyasini tanlash hal qilinayotgan muammoning o'ziga xos xususiyatlari bilan belgilanadi. Hash funktsiyalarining eng oddiy misollari - bu nazorat yig'indisi yoki CRC. CHEKSUMS Tekshirish summasi boshqa raqamli ma'lumotlar blokidan olingan kichik o'lchamdagi ma'lumotlar bloki bo'lib, uni uzatish yoki saqlash vaqtida kiritilgan xatolarni aniqlash uchun mo'ljallangan. O'z-o'zidan, nazorat summalari ko'pincha ma'lumotlar yaxlitligini tekshirish uchun ishlatiladi, lekin ma'lumotlarning haqiqiyligini tekshirishda foydalanilmaydi. Ushbu nazorat summasini yaratuvchi protsedura nazorat summasi funktsiyasi yoki nazorat yig'indisi algoritmi deb ataladi. Dizayn maqsadlariga qarab, yaxshi nazorat yig'indisi algoritmi odatda kirishga kiritilgan kichik o'zgarishlar uchun ham sezilarli darajada farq qiladigan qiymatni chiqaradi. Bu, ayniqsa, kriptografik xesh-funksiyalar uchun to'g'ri keladi, ular ko'plab ma'lumotlarni buzish xatolarini aniqlash va umumiy ma'lumotlar yaxlitligini tekshirish uchun ishlatilishi mumkin; joriy ma'lumotlarni kiritish uchun hisoblangan nazorat summasi ilgari hisoblangan nazorat summasining saqlangan qiymatiga mos keladigan bo'lsa, ma'lumotlar tasodifan o'zgartirilmagan yoki buzilmagan bo'lishi ehtimoli juda yuqori. Tekshirish summasi funktsiyalari xesh funktsiyalari, barmoq izlari, randomizatsiya funktsiyalari va kriptografik xesh funktsiyalari bilan bog'liq. Biroq, bu kontseptsiyalarning har biri turli xil ilovalar va shuning uchun turli dizayn maqsadlariga ega. Misol uchun, satrning boshlanishini qaytaruvchi funktsiya ba'zi ilovalar uchun mos keladigan xeshni berishi mumkin, lekin hech qachon mos nazorat summasi bo'lmaydi. Tekshirish summalari kattaroq autentifikatsiya algoritmlarida kriptografik primitivlar sifatida ishlatiladi. Ushbu ikkita o'ziga xos dizayn maqsadiga ega kriptografik tizimlar uchun [aniqlash kerak], HMAC ga qarang. Tekshirish raqamlari va paritet bitlari kichik ma'lumotlar bloklari (masalan, ijtimoiy sug'urta raqamlari, bank hisob raqamlari, 5