Xesh-funksiyalar
Xesh-funksiya — ixtiyoriy uzunlikdagi xabardan qisqa, qayd etilgan uzunlikdagi «barmoq izi» (daydjest) hosil qiluvchi bir tomonlama funksiya: h = H(M).
Har bir odamning barmoq izi noyob va kichkina, lekin barmoq izidan odamning o'zini «yasab» bo'lmaydi. Xesh — fayl yoki matnning barmoq izi: 1 GB lik kino ham, «salom» so'zi ham 64 ta belgiga aylanadi, ammo bu 64 belgidan kinoni qaytarib olib bo'lmaydi. Bir harf o'zgarsa — butunlay boshqa iz.
Xossalari
- Ixtiyoriy uzunlikdagi xabar uchun hisoblanadi.
- Natija qayd etilgan uzunlikda (SHA-256 da har doim 256 bit).
- x ≠ y bo'lsa, H(x) ≠ H(y) bo'lishi kerak (amalda — to'qnashuv topish qiyin).
- Ixtiyoriy uzunlikdagi blok uchun tez hisoblanadi.
- Xesh-qiymat ma'lum bo'lsa ham xabarni topib bo'lmaydi (bir tomonlamalik).
- Bir xil xeshga ega ikkita ixtiyoriy xabar juftini topish ham qiyin (to'qnashuvga bardoshlilik).
1–5 shartlarni bajaruvchi funksiyalar — oddiy, 1–6 shartlarni bajaruvchilar — kuchli xesh-funksiyalar.
Qayerda ishlatiladi?
Nazorat yig'indisi
Yuklab olingan fayl xeshi sayt bergan xesh bilan mos kelsa — fayl buzilmagan.
ERI
Butun hujjat emas, uning xeshi imzolanadi — tez va xavfsiz (DSA, GOST).
Autentifikatsiya
Saytlar parolni emas, uning xeshini saqlaydi. Kirishda xeshlar solishtiriladi.
Bitcoin
Har bir blok oldingi blokning SHA-256 xeshini o'z ichiga oladi — zanjirni o'zgartirib bo'lmaydi.
Mashhur algoritmlar
| Algoritm | Muallif, yil | Uzunlik | Holati |
|---|---|---|---|
| MD2, MD4, MD5 | R. Rivest, 1989–1992 | 128 bit | Buzilgan (MD5 to'qnashuvlari 2004) |
| SHA-1 | NSA/NIST, 1995 | 160 bit | Buzilgan (Google SHAttered, 2017) |
| RIPEMD-160 | Belgiya, 1996 | 160 bit | Ishlatiladi (Bitcoin manzillari) |
| SHA-2 (256/512) | NSA/NIST, 2001 | 224–512 bit | Xavfsiz, eng keng tarqalgan |
| SHA-3 (Keccak) | NIST tanlovi, 2015 | 224–512 bit | Xavfsiz |
| GOST R 34.11-2012 (Streebog) | Rossiya, 2012 | 256/512 bit | Milliy standart |
| O'z DSt 1106:2009 | O'zbekiston, 2009 | 256 bit | Milliy standart |
Kitobda ta'kidlanganidek, MD2 eng sekin, MD4 eng tez ishlaydi; MD5 — MD4 ning xavfsizroq, lekin sekinroq modifikatsiyasi; SHA — 160 bitli va MD4/MD5 dan ishonchliroq. Boshqa algoritmlar: JH, HAVAL, Skein, Snefru, Tiger, Whirlpool.
Kitobda xesh «bir tomonlama shifrlash» deb ham ataladi: qabul qiluvchi shifrni ochmaydi, faqat to'g'ri yoki noto'g'riligini tekshiradi. Lekin qat'iy aytganda xesh shifrlash emas — unda kalit yo'q va qaytarib bo'lmaydi.