II bob. Elektron xujjat almashinuvida xesh funktsiyalardan foydalanish usullari
2.1. Xesh funktsiyalar va ma`lumotlar to`liqligini ta`minlash usullari
Xesh funktsiyalar ikkilik kodi yozilgan ixtiyoriy xabar yoki ma`lumotlar to`plamini siqish uchun mo`ljallangan funktsiyalardir. Xesh-funktsiyalar har xil masalalar echimi siftida qo`llanilishi mumkin, masalan, mantiqiy qurilmani tekshirish, tez qidiruv algoritmini yaratish va ma`lumotlar bazasida ma`lumotning butunligini, o`zgartirilmaganligini tekshirishda qo`llanilishi mumkin.
Xesh funktsiyalardan kriptografiyada quyidagi masalalarni echishda foydalaniladi:
Ma`lumotlarni uzatishda yoki saqlashda uning butunligini nazorat qilish tizimini yaratishdа;
Ma`lumot manbasi identifikatsiyasida
Birinchi masalaning echimida har bir ma`lumotlar to`plamining xesh funktsiyasi qiymati hisoblanadi (xabar autentifikatsiyasi yoki imitovstavkasi deb nomlanadi). Bu qiymat esa ma`lumotning o`zi bilan uzatiladi yoki saqlanadi. Ma`lumotlarni qabul qilishda foydalanuvchi xesh qiymatni hisoblaydi va uning mavjud bo`lgan xesh-funktsiya qiymati bilan solishtiradi. Agar ularda farq bo`lsa, ma`lumot o`zgartirilgan bo`ladi.
Xesh qiymat beradigan funktsiya ma`lumotlar to`plamidagi tasodifiy xatoligini emas, ma`lumotlarni uzatishdagi va saqlashda kelib chiqadigan xatoliklarni ham aniqlashi va jinoyatchining xujumi haqida ham xabar berishi mumkin. Jinoyatchining mustakil ravishda ma`lumot tuplamining nazorat qiymatini hisoblay olmasligi va ma`lumotlarni o`zgartira olmasligi uchun xesh-funktsiyalar jinoyatchi noma`lum bo`lgan maxfiy parametr - foydalanishdagi kalitiga bog`langan bo`lishi kerak. Bu kalit faqat yuboruvchi va tekshiruvchi tomonlarga ma`lum bo`lishi kerak. Kalitli xesh-funktsiya yordamida hosil qilinadigan xesh qiymatlar jinoyatchiga imitatsiya (impersonation) toifasidagi hujum turida yolg`on xabar (fabrication) yaratishi va "almashtirish" (subsitution) toifasidagi xabarni o`zgartirish (modification) imkoniyatini bermasligi kerak.
2-masala echimida ma`lumotlar manbaasini autentifikatsiyasida bir- biriga ishonadigan tomonlar bilan ish olib boriladi. Bu yondashuvning kamchiligi shundaki, tomonlarda faqat bir xil kalit bo`ladi. Bunday hollar ma`lumotlar manbaasi autentifikatsiyasini amalga oshishiga imkon beruvchi raqamni imzo sxemalari qo`llaniladi.
qoida bo`yicha bu holda foydalanishning maxfiy kalitga asoslangan shaxsiy imzo qo`yishdan oldin, xatolarni aniqlash funktsiyasini boshqaruvchi xesh-funktsiya yordamida "sikiladi". Bu holatda xesh-funktsiya maxfiy kalitga bog`liq emas va hammaga aniq bo`lgan uzunlik bilan fiksirlab qo`yilgan bo`lishi kerak. Unga asosiy talab imzolangan hujjatni o`zgartirish mumkin emasligiga kafolat xisoblanadi.
Yukoridagilarni formallashtirib, quyidagi ta`rifni keltirish mumkin.
Эlementlari xabarlardan iborat bo`lgan X to`plam kiritamiz. Odatda xabar biror alfavit simvollaridan tashkil topgan bo`ladi. U - fiksirlangan uzunlikka ega bo`lgan ikkilik vektorlar to`plami bo`lsin.
xesh-funktsiya deb, oson hisoblanadigan va ixtiyoriy qiymat uchun M h(M)=H bitli fiksirlangan uzunlikka ega bo`lgan vektor qiymatni beradigan h:X-U funktsiyaga aytiladi.
Odatda mumkin bo`lgan xabarlar soni mumkin bo`lgan xesh qiymatlardan oshib ketadi. Aytib o`tish kerakki, xabarlar tanlovida tasodifiy va teng ehtimolli hollarda xesh-funktsiya qiymatlarini tekis taqsimlash shartlari har bir xesh-funktsiya qiymatlari uchun bir xil sonli akslantirishlarning mavjudligiga ekvivalent.
qoida bo`yicha, xesh-funktsiyalar bir kadamli siquvchi funktsiyalar kabi nomlanadigan y=f(x/,x2) ikki parametrlardan iborat funktsiyalarga asoslanib quriladi, bu erda x va u mos holda m va n uzunlikka ega ikkilik vektorlar, n - xesh-funktsiya qiymati uzunligi. M /xabarning h(M) qiymatini olish uchun avval M xabar m uzunlikka ega bloklarga bo`linadi (bu holda agar xabar uzunligi m ga karrali bo`lmasa, u holda so`nggi blok biror maxsus usulda to`ldirib olinadi, so`ngra M1, M2,...,MN hosil qilingan bloklarga quyidagi xesh-funktsiya qiymatini olish protseduralari qo`llaniladi.
Ho=v,
H1=f(Mi, Ni-l), i=l, ...,N, (1)
h(M)=HN.
Bu erda U - biror fiksirlangan boshlang`ich vektor. Agar f funktsiya kalitga bog`liq bo`lsa, u holda bu vektorni nol vektor kabi olish mumkin. Agar f funktsiya kalitga bog`liq bo`lmasa, u holda qisqa xabarlarni to`la tekshirib chiqish usuli bilan topishni murakkablashtirish uchun bu vektorni sana, vaxt, xabar nomeri va hokazolarni kursatuvchi fragmentlardan tuzish mumkin. Bunday yondashuvda h xesh-funktsiya xususiyati tulaligicha bir qiymatli siquvchi funktsiya xususiyatidan aniqlanadi.
Muxim kriptografik xesh-funktsiyalar turlarigni aloxida ko`rsatib o`tish kerak: kalitli va kalitsiz. Kalitli kriptografik xesh-funktsiyalar simmetrik kalitli tizimlarda qo`llaniladi. Kalitli xesh-funktsiyalar xabар autentifikatsiyasi kodi kabi nomlanadi (XAK) (message authentication code) (MAC)). Ular qo`shimchа vositalarsiz xabar manbaasining to`g`riligiga ham, bir biriga ishonuvchi foydalanuvchilarga asoslangan tizimlarda ma`lumotlar butunligiga ham kafolat beradi.
Kalitsiz xesh-funktsiyalar katorlarni aniqlash kodlari deyiladi. (modification detection code, MDC yoki manipulation detection code, message integrity code (MIC)). Ular qo`shimcha vositalar yordamida (masalan, shifrlash, himoyalangan kanal yoki raqamli imzo) ma`lumotning butunligini kafolatlaydi. Bu xesh-funktsiyalardan bir biriga ishonadigan, shu bilan birga ishonmaydigan tomonlar tizimlarida qo`llanilishi mumkin.
Kriptografik ilovalarda kalitli xesh-funktsiyalariga quyidagi asosiy talablar qo`yiladi.
-ma`lumotning manbaasi qayerda ekanligini bilishning mumkin emasligi;
-o`zgartirishning mumkin emasligi;
Dastlabki talabda to`g`ri xesh-funktsiya qiymatini xabar yig`ish (podbor), hosil qilishning yuqori murakkabligini belgilaydi. Ikkinchi talab esa xesh- funktsiyalar qiymati ma`lum bo`lgan berilgan xabar uchun boshqa to`g`ri xesh- funktsiyalar qiymatini xabarni saralashning, topishning yuqori murakkabliligini belgilaydi.
Ba`zan bu xususiyatlar birlashadi va kuchli xususiyat hosil qiladi, bu hisoblash to`g`riligi xususiyatidir. Bu talab xesh-funktsiyasi qiymati
ma`lum bo`lgan {xl, ...Xt} xabarlar to`plami uchun yana bir shunday to`g`ri qiymatli x, x=xi(i=ll…t) xabarni hosil qilishning murakkabligini aniqlaydi, ya`ni h(x)=h(xi),ie{l,...t}.
Aytib o`tish joizki, bu erda va hamma joyda urg`u berilayotgan "murakkablik" shunday hisoblash murakkabligini bildiradiki, bu holda qurilayotgan masala echimi uchun hisoblash texnikasidan foydalanish real vaqtda mumkin emas.
Kalitli funktsiyalardan tomonlarda bir biriga ishonch bo`lsagina qo`llaniladi va ularda umumiy maxfiy kalit bo`lishi mumkin. Bunday shartli holatda tizimdan xabarni olganlikdan topish yoki uni o`zgartirishdan himoya qilishni ta`minlash talab etilmaydi. SHuning uchun kalitli xesh-funktsiyalardan kolliziyalarga bardoshlilik talab etilmaydi.
Odatda xesh-funktsiyalarga hujum imitatsiyada, ya`ni manbaadan chikkan xabarlar bo`sh kanaldaн uzatilganda amalga oshiriladi.
Aytish kerakki, hisoblash bardoshliligi xususiyatidan xesh-funktsiyada ko`llanilayotgan kalitni aniqlash mumkin emasligi tushib qoladi, negaki kalit qiymati ixtiyoriy ma`lumotlar to`plami uchun xesh-funktsiyalar qiymatini hisoblash imkonini beradi. SHu bilan birga qayta tasdiqlash noto`g`ri, negaki xesh-funktsiyalar qiymatini to`la tekshirish yordamida bilib olish ba`zi hollardagina mumkin.
Misol sifatida bir qadamli siquvchi funktsiya kurishidagi keng tarqalgan
FK(x,N) =Ek(x © N)
funktsiyani qarab chiqamiz, bu erda EK - blokli shifrlash algoritmli.
M xabarning h(M) qiymatini hisoblash uchun M xabar p - bitli bloklar kurinishiga keltiriladi, M1 M2,...Mn. agar bu holda xabar uzunligi blok uzunligiga karrali bo`lmasa, holda sungi blok biror usul bilan to`ldirib olinadi. xesh-funktsiyalar qiymatini hisoblash algoritmi quyidagi ko`rinishdа:
Np=0,
HI=Ek(Ml®Hi-l),i=l,...,N, (2)
h(M)=HN.
Bu algoritm maxsus blokli shifrlash rejimiga mos tushadi, ammo farqi shundaki, sifatida H1 N2..,Np butun shifr matn emas, balki uning so`nggi bloki olinadi. Bunday rejim GOST 28147-89da imitovstavkani tanlash rejimi deb nomlanadi.
Kalitli xesh-funktsiya yaratishning yana bir asosi kalitsiz xesh-funktsiya bo`lishi mumkin. Bu xolda xesh-funktsiya qiymatini hisoblash uchun kalit boshlang`ich xabarga qistiriladi.
Agar kalitni boshlang`ich xabarning oxiri yoki boshiga qo`shilsa, u holda bu ba`zi hollarda xabarni o`zgartirishni amalga oshirishga sabab bo`ladigan kamchilikka olib kelishi mumkin.
Masalan, kalit hk(X)=h(K,X) formulaga asoslanib xabar boshiga qo`shilsin. Agar h funktsiya (1) formula bo`yicha bir qadamli siquvchi funktsiyaga asoslanib qurilgan bo`lsa, u holda aniq qiymatlar M va H=h(k,m) lar bo`yicha ixtiyoriy xabarlar uchun bu funktsiya qiymatini hisoblash mumkin. Xabar M' bilan shug`ullangan ixtiyoriy (M,M') tavsifida bo`lishi mumkin. Bu funktsiyaning hisoblanishi protseduraninг iterativligi bilan tushuntiriladi, ya`ni N' - h(k, M, M') qiymatni hisoblash uchun k kalitni bilish talab etilmaydi, "orali?" qiymatining o`zi etarli, shuning uchun bunday funktsiya o`zgartirishlarga bardoshli emas.
Bunday kamlichiliklarning oldini olish eng yaxshi yo`li, xabarga kalit bir marta emas ikki marta qo`yilishidir.
H=h(k,y,M,k),
H=h (k,u i, h (k,u2, M)),
bu erday,yi va u2- p blok uzunligiga karrali ulchamdagi k kalitga ?o`shimcha.
Ani? kalitsiz xesh-funktsiya h uchun bunday yondashuv samarali ?isoblanadi va xesh-funktsiya kalitiga ?ujumlarga bardoshli funktsiya
yaratish imkonini beradi. Bu usul kamchiligi xesh-funktsiya ?iymati uzunligida. Butunlikni tekshirishda odatda p - xesh-funktsiya ?iymati 32-64 chegara ?isoblanadi, autentifikatsiya uchun esa p>128 shaрт bajarilishi kerak.
Xulosa ?ilib aytganda, blokli shifrlashni yoki kalitsiz xesh-funktsiyani ?o`llashga asoslanmagan kalitli xesh-funktsiyalar mavjudki, ular zamonaviy shaxsiy kompyuterlarda samarali amalga oshiriladi. Misol sifatida MAA (Message Anthon Arcator Algothm) algoritmidan foydalanadigan ISO 8731-2 standarta bilan tasdi?langan kalitli xesh-funktsiyani keltirish mumkin.
Kalitsiz xesh-funktsiyalardan odatda ?uyidagi xususiyatlari bo`lishi talab etiladi:
1) bir tomonga yo`naltirilganlik
2) kolliziyaga bardoshlilik
3) ikkinchi nusxaning paydo bo`lishiga bardoshlilik
SHu xususiyatlarga ega bo`lgan kalitsiz xesh-funktsiyalar yu?ori murakkablikka ega bo`ladi.
Masalan, CRC-32 xesh-funktsiya, o`zida nazorat summasini sa?laydi va chizi?li akslantirish ?isoblanadi, shuning uchun yu?oridagi xususiyatlardan birortasini ?oni?tirmaydi.
Kalitsiz xesh-funktsiyalardan foydalanish yu?orida ?aralgan blokli shifrlash algoritmiga asoslangan (2) funktsiyada ?aralgan edi.
2) xususiyatni kanoatlantiruvchi xesh-funktsiyaga misol yaratish uchun gk(E)=Ek(X)®X formulaga asoslangan funktsiyani ?araymiz, bu formulada Ek- blokli shifrlash algoritmi.
Bunday funktsiya ikki argument bo`yicha ?am bir tomonli yo`naltirilgan ?isoblanadi. SHuning uchun bu formula asosida (1) ?oida bo`yicha xesh- funktsiyalar ani?lanishi mumkin, bu jarayonda esa bir ?adamli si?uvchi funktsiyani ?uyidagi formulalardan biridan ani?lash mumkin:
f(x,H)=EH(X)@X
yoki
f(x,H)=Ex(H)@H
Funktsiyalardan birinchisi Rossiya standart xesh-funktsiyasiga asoslangan, ikkinchisi esa amerikaning SHA standartiga asoslangan.
1-tasdik. Agar h xesh-funktsiyasi bir ?adamli si?uvchi f funktsiyaga (1) ?oida bo`yicha yaratilgan bo`lsa, u ?olda f funktsiyaning kolliziyaga bardoshliligi kelib chikadi.
?a?i?atdan ?am, agar f funktsiya kolliziyaga ega bo`lsa, u ?olda biror i ?adamda f funktsiyaning ?aм kolliziyasi mavjud bo`ladi. (f(Xi,X2) funktsiya kolliziyasini ani?lashda bir o`zgaruvchili funktsiya kaби ?arash kerak, bunda X/, X2 o`zgaruvchilar bitta kiruvchi vektorga konkatenatsiya ?ilinadi).
1) va 2) xususiyatlar o`rtasida o`zaro bo?li?lik bor.
2- tasdik.Agar xesh-funktsiyalar kolliziyaga bardoshli bo`lsa, u ?olda bu funktsiya ikkinchi nusxaning paydo bo`lishiga ?am bardoshli.
3- tasdik. Kolliziyalarga bardoshli xesh-funktsiyalar bir tomonlama bo`lishi shart emas.
Misol sifatida h(x)=x si?maydigan funktsiyani keltirish mumkin, bu funktsiya kolliziyalarga va ikkinchi nusxaning topilishi bardoshli, ammo bir tomonga yunalgirilgan ?isoblanilmaydi.
Si?uvchi xesh-funktsiyalar misol sifatida
h(x) - (1 - x), agar x ning bitli uzunligi n ga teng bo`lsa,
h(x) - (0 - g(x)), agar x ning bitli uzunligi n dan katta bo`lsa
shart bilan ani?lanadigan ci?uvchi funktsiyani ?arash mumkin, bu erda g(x)- kolliziyaga bardoshlи bo`lgan n bitli ci?uvchi funktsiya. Bundan tash?ari, h funktsiya kolliziyaga va ikkinchi nusxaning toplilishiga bardoshli, ammo bir tomonga yo`naltirilgan emas.
4- Tasdik. h:x~^y - xesh-funktsiya bulsin, bu erda |x|>2[u|. U ?olda agar h funktsiyaga murojaatning samarali algoritmi bo`lsa, u ?olda h
funktsiyaning kolliziyasini 1/2 dan katta e?timol bilan topishning algoritmi mavjud.
Isbot. Tasodifiy x- xabarni tanlaymiz. y=h(x), x'=h?1(u) ?isoblaymiz va x va x' solishtiriladi. Bu algoritm r>1/2 kurinishdagi extimolga ega ko`rsatiladi. Э?timol muvaffa?iyati sifatida x dan far?li x ni ?urish tushuniladi.
Xi=XiU...UXm - bu erda X klasslarga bo`lingan bo`lib, ?ar bir klass bir xil xesh-funktsiya ?iymatiga ega bo`lgan xabarlar bo`lsin. Ko`rinib turibdiki,
m<\u\. Bu erda ?uyidagi munosabat o`rinli:
i m i t
R-T. ZSF~Z< p=""><>
I L I /=1 xeX/ I l I /=1
\X\ -\x\ 2
Tasdi? isbotlandi.
Ko`rish mumkinki, bir tomonlama funktsiya uchun uning aksini topishning murakkabligi 0(2") kattalik bilan ba?olanadi. SHu bilan birga kolliziyani ?idiruv 0(2p2) bilan ba?olanadi, chunki bu ?olatda "tu?ilgan kun" paradoksiga asoslangan ?ujum ?o`llanilishi mumkin.
Bloklarni akslantirishga asoslangan biror algoritmga asoslangan xesh- funktsiyalarga misol karaymiz.
Ek - blokli shifrlash algoritmini bilan, n-blok ulchami, / - kalit ulchami va G - biрор asoslantirish. EK algoritmga asoslanib ?urilgan ?uyidagi bir kadamli si?uvchi funktsiyani karaymiz.
a) f(x, N)=EX(N)®N (Devis - Meyer);
b)f(x, N) =Eg(H)(X)®X (Memuac - Meyer - Oseas);
v)f(x, N)=ES(n/x)®x®N (Miaguchi - Prinel`);
Ixtiyoriy (1) ?oidaga asoslangan bir ?adamni si?uvchi funktsiyalarning ?iymati blok razmeriga teng bo`lgan n uzunlikdagi vektor xisoblanadi.
Agar bu kattalik etarli bo`lmasa, uni kattalashtirish mumkin, almashtirishda f funktsiyani f ga kiymatlarini ikki marta kattalashtirib o`zgartirish kerak. Buni f funktsiyani 2 marta ?ayta ishlatib va bunda ?uyidagi formuladan foydalangan ?olda keyingi almashtiruvni ?o`llab berishi mumkin.
f(x, Hh N2)= K(fix,H,),f(x,H2)),
bu erda p ixtiyoriy a,b,c,d yarim bloklardan tashkil topgan bo`lishi mumkin va bu erda p((a,`), (c,d))=(a,d,c,b). Bunday sxemadan foydalanilgan konstruktsiya bir kiymatli MD-2 funktsiyasidiр.
Kalitsiz xesh-funktsiyalarga misol sifatida MD-4, MD-5 va SHA kabi algoritmlarni keltirish mumkin. Bu funktsiyalar p uzunligidagi bloklar bilan ishlaydi, MD4 uchun n-128, MD5 va SHA xesh-funktsiyalarda esa p=160.
Ko`rsatilgan algaritmlar 32-razryadli shaxsiy komp'yuterlarda samarali amalga oshiriladi.
Ulardan foydalanishda boshlan?ich M xabar t=512 bit O`zunlikdagi bloklarga bo`linadi. So`ngi blok oxiriga 10...O kombinatsiyasidan iborat ketma- ketlik ?o`shilib 448 bitga keltiriladi, ?olgan 64 bit esa xabarning bitli uzunligi xisoblanib, u sunggi ?osil ?ilingan 448 bitga ?o`shiladi. SHu yo`l bilan 512 bitli sunggi blok shakllantiriladi. So`ngra (1) protseduraga asoslanib xesh-funktsiya ?iymati xisoblanadi, ?isoblashda 1-?adamli si?uvchi f(X,H)=Ex(H)®H formula bilan berilgan funktsiyadan foydalaniladi, bu erda x - t=512 bitli xabar bloki uzunligi, N - p bitli bloklar, Ex - bloklarni akslantirish tuplami. Boshlangich vektor ?iymati Ex akslanishning tavsifida ani?lanadi.
GOST 34.11-94 xesh-funktsiyasida p=t-512 ?iymat ?abul ?ilingan. Hj=F(X,Hi-1) ?iymatlar ketma-ketligini ?isoblashda foydalaniladigan bir ?adamli si?uvchi funktsiya ?ar biri 256 bitli kalitlar bilan ishlaydigan turtta paralel' ishlaydigan blokli shifrlash tizimiga asoslangan. Kalitlarning ?ar biriga mos ?olda boshlan?ich X xabar va Hi
?iymat bloklarga bo?li? ravishda biror chizi?li funktsiya yordamida xisoblanadi. Hi ?iymat boshlan?ich X xabar bloki va Hi ?iymatga asoslangan chizi?li funktsiya, N ni ?isoblash jarayoni Mi,M2,-Mn bloklar ketma-ketliklaridagi ?uyidagi formulaga asoslangan ya`ni ikki kadam o`llaniladi.
H=h(m) =f(Z® MN, f(L, HN)),
Bu erda Z -barcha xabar bloklarining modul bo`yicha summasi, L-xabar uzunligi.
Do'stlaringiz bilan baham: |