Xech funktsiyasini hisoblash kriptografik xech-funksiyalar nega sizga xesh kerak?



Download 39,89 Kb.
bet2/2
Sana29.04.2022
Hajmi39,89 Kb.
#593282
1   2
Bog'liq
KRIPTOGRAFIK XECH-FUNKSIYALAR

Nega sizga xesh kerak?
Hash funktsiyalarining asosiy maqsadlari faqat uchta (yoki aniq maqsadlari).
1. Ma'lumotlar yaxlitligini tekshirish. Bunday holda, hamma narsa oddiy, bunday funktsiya tezda hisoblanishi kerak va tezkor ravishda tekshirishga imkon berishi kerak, masalan, uzatish paytida Internetdan yuklab olingan fayl zarar ko'rmagan.
2. Ma'lumotlarni qidirish tezligining oshishi. Ruxsat etilgan blok hajmi qidiruv muammolarini hal qilishda ko'plab afzalliklarga ega bo'lishga imkon beradi. Bu holda biz sof texnik jihatdan Hash funktsiyalaridan foydalanish ishlashga ijobiy ta'sir ko'rsatishi mumkinligi haqida gapiramiz. Bunday funktsiyalar uchun to'qnashuv ehtimoli va yaxshi taqsimlanish juda muhimdir.
3. Kriptografik ehtiyojlar uchun. Yig'ish funktsiyalarining ushbu turi xavfsizlik sohalarida, agar natijalarni almashtirish juda muhim bo'lsa yoki Hash-dan foydali ma'lumotlarni olish vazifasini murakkablashtirish zarur bo'lganda qo'llaniladi.
Xesh qaerda va qanday qo'llaniladi?
Siz allaqachon taxmin qilganingizdek, Hash juda ko'p muammolarni hal qilish uchun ishlatiladi. Mana, ulardan bir nechtasi:
1. Parollar odatda aniq matnda saqlanmaydi, lekin yuqori darajadagi xavfsizlikni ta'minlaydigan Hash miqdori ko'rinishida saqlanadi. Darhaqiqat, tajovuzkor bunday ma'lumotlar bazasiga kirish imkoniyatiga ega bo'lsa ham, u Hash kodlari uchun mos matnlarni tanlash uchun ko'p vaqt sarflashi kerak bo'ladi. Bu erda xarakterli "Hash qiymatlaridan dastlabki ma'lumotlarni tiklashning murakkabligi" muhim ahamiyatga ega.
Izoh: Sizga parol xavfsizligini oshirish bo'yicha maqolani bir necha bor o'qib chiqishingizni maslahat beraman.
2. Dasturlashda, shu jumladan ma'lumotlar bazalarida. Albatta, tez-tez biz tezkor qidirishga imkon beradigan ma'lumotlar tuzilmalari haqida gapiramiz. Sof texnik jihat.
3. Ma'lumotlarni tarmoq orqali uzatish paytida (shu jumladan Internet). TCP / IP kabi ko'plab protokollar asl xabarning xeshini o'z ichiga olgan maxsus tekshirish maydonlarini o'z ichiga oladi, shunda biron bir joyda biron bir nosozlik yuz bersa, bu ma'lumot uzatishga ta'sir qilmaydi.
4. Xavfsizlik bilan bog'liq turli xil algoritmlar uchun. Masalan, Hash elektron raqamli imzolarda ishlatiladi.
5. Faylning yaxlitligini tekshirish. Agar e'tibor bergan bo'lsangiz, Internetda ko'pincha fayllarda (masalan, arxivlar) Hash kodi bilan qo'shimcha tavsiflarni topishingiz mumkin. Ushbu chora nafaqat Internetdan yuklab olish paytida buzilgan faylni tasodifan ishga tushirishni oldini olish uchun ishlatiladi, ammo hostingda shunchaki muvaffaqiyatsizliklar mavjud. Bunday holatlarda siz Hash-ni tezda tekshirishingiz mumkin va agar kerak bo'lsa, faylni qayta yuklashingiz mumkin.

6. Ba'zida hash funktsiyalari noyob identifikatorlarni yaratish uchun ishlatiladi (ularning bir qismi sifatida). Masalan, rasmlarni yoki oddiy fayllarni saqlashda ular odatda sana va vaqt bilan birga nomlarda Hash-dan foydalanadilar. Bu sizga bir xil nomdagi fayllarni qayta yozmaslik imkonini beradi.


Darhaqiqat, axborot texnologiyalarida hash funktsiyalari qanchalik uzoq bo'lsa, shunchalik ko'p ishlatiladi. Asosan, eng oddiy kompyuterlarning ma'lumotlari va kuchi sezilarli darajada oshganligi sababli. Birinchi holda, bu ko'proq qidirish haqida, ikkinchisida esa xavfsizlik masalalari haqida ko'proq.
Ma'lum xash funktsiyalari
Quyidagi uchta hash funktsiyalari eng taniqli deb hisoblanadi.
Izoh: Ushbu ma'ruzada xesh funktsiyasi tushunchasi, shuningdek xesh funktsiyalarini yaratish algoritmlari haqida qisqacha ma'lumot berilgan. Bundan tashqari, xesh funktsiyasini yaratish uchun blokli shifrlash algoritmlaridan foydalanish imkoniyati ko'rib chiqildi.
Ma'ruzaning maqsadi: "hash funktsiyasi" tushunchasi, shuningdek, bunday funktsiyalarning ishlash printsiplari bilan tanishish.
Xesh funktsiyasi haqida tushuncha
Hash funktsiyasi O'zboshimchalik uzunligi qatori uchun ba'zi bir butun sonni yoki boshqa uzunlikdagi boshqa qatorni hisoblaydigan matematik yoki boshqa funktsiya deyiladi. Matematik jihatdan buni quyidagicha yozish mumkin:
bu erda M asl xabar bo'lib, ba'zan chaqiriladi prototipi, va h - hash funktsiyasining qiymati deb nomlangan natija (va shuningdek.) hash kodi yoki postlarni hazm qilish (ingliz tilidan xabar hazm)).

Hash funktsiyasining ma'nosi teskari rasmning xarakterli xususiyatini - hash funktsiyasining qiymatini aniqlashdir. Ushbu qiymat odatda ma'lum bir o'lchamga ega, masalan, 64 yoki 128 bit. Muammoni hal qilish uchun hash kodni yana tahlil qilish mumkin. Masalan, ma'lumotni taqqoslash uchun hashing usulidan foydalanish mumkin: agar ikkita ma'lumotlar qatorida hash kodlari turlicha bo'lsa, massivlar farqlanishi kafolatlanadi; agar ular bir xil bo'lsa, massivlar, ehtimol, bir xil. Umumiy holda, manba ma'lumotlari va xesh kodlari o'rtasida bir xil aniq yozishmalar mavjud emas, chunki hash funktsiyalari soni har doim ham kirish ma'lumotlari parametrlaridan kamroq bo'ladi. Shunday qilib, bir xil hash kodlarni beradigan ko'plab kirish xabarlari mavjud (bunday holatlar chaqiriladi) to'qnashuvlar) To'qnashuvlar ehtimoli xesh funktsiyalarini baholashda muhim rol o'ynaydi.


Hash funktsiyalari zamonaviy kriptografiyada keng qo'llaniladi.
Eng oddiy xesh funktsiyani "sum modulo 2" operatsiyasi yordamida quyidagicha tuzish mumkin: biz kirish satrini olamiz, modulo 2 baytini qo'shamiz va xesh funktsiyasining qiymati sifatida bayt natijani qaytaramiz. Hash funktsiyasi qiymatining uzunligi, kirish xabarining hajmidan qat'iy nazar, 8 bitni tashkil qiladi.
Masalan, raqamli holatga keltirilgan asl xabar quyidagicha edi (olti qirrali formatda):
Biz xabarni ikkilik shaklda tarjima qilamiz, baytlarni bir-birining ostiga yozamiz va 2-modulning har bir ustuniga bit qo'shamiz:
0011 1110 0101 0100 1010 0000 0001 1111 1101 0100 ---------- 0110 0101
Natijada (0110 0101 (2) yoki 65 (16)) hash funktsiyasining qiymati bo'ladi.
Biroq, bunday xash funktsiyasidan kriptografik maqsadlarda, masalan, elektron imzoni yaratish uchun foydalanib bo'lmaydi, chunki imzolangan xabar tarkibini chex summasining qiymatini o'zgartirmasdan o'zgartirish juda oson.
Shuning uchun ko'rib chiqilayotgan hash funktsiyasi kriptografik dasturlar uchun mos emas. Kriptografiyada, hash funktsiyasi bir xil qiymatga ega ikkita teskari tasvirni yaratish qiyin bo'lsa, shuningdek, agar funktsiyaning chiqishi kirishga aniq bog'liq bo'lmasa, xesh funktsiyasi yaxshi deb hisoblanadi.

Kriptografik xesh funktsiyalari uchun asosiy talablarni aniqlaymiz:

hash funktsiyasi har qanday hajmdagi xabarga tegishli bo'lishi kerak;

funktsiya qiymatini hisoblash etarlicha tez bo'lishi kerak;

xesh funktsiyasining ma'lum bir qiymati bilan, mos keladigan M o'lchamini topish qiyin (deyarli imkonsiz) bo'lishi kerak;

ma'lum bo'lgan M xabari bilan, asl xabar bilan bir xil hash qiymatga ega boshqa M 'xabarni topish qiyin bo'lishi kerak;

xuddi shu hash qiymatiga ega bo'lgan tasodifiy turli xil xabarlarning har qanday juftligini topish qiyin bo'lishi kerak.

Yuqoridagi barcha talablarga javob beradigan hash funktsiyasini yaratish oson ish emas. Shuni ham yodda tutish kerakki, funktsiyaning kiritilishi o'zboshimchalik bilan olingan ma'lumotlarni oladi va xesh natijasi turli o'lchamdagi ma'lumotlar uchun bir xil bo'lmasligi kerak.


Hozirgi vaqtda amalda, hash funktsiyalari bu blokirovka bo'yicha kirish xabarlari blokini qayta ishlaydigan va kiruvchi xabarning har bir M i bloki uchun h hesh qiymatini shaklning bog'liqligiga qarab hisoblab chiqadigan funktsiyalardir.

h i \u003d H (M i, h i-1),

bu erda h i-1 - oldingi kirish ma'lumotlari bloki uchun hesh funktsiyasini hisoblashda olingan natija.

Natijada h n hash funktsiyasining chiqishi kirish xabarining barcha n bloklari funktsiyasidir.

Hash funktsiyasini yaratish uchun blokli shifr algoritmlaridan foydalanish

Siz hash funktsiyasi sifatida blokdan foydalanishingiz mumkin. Agar ishlatilgan blok algoritmi kriptografik jihatdan bardoshli bo'lsa, unda hash funktsiyasi ishonchli bo'ladi.

Hash kodni olish uchun blok algoritmidan foydalanishning eng oddiy usuli - xabarni CBC rejimida shifrlash. Bunday holda, xabar uzunligi shifrlash algoritmi blokining uzunligiga teng bo'lgan bloklar ketma-ketligi sifatida taqdim etiladi. Agar kerak bo'lsa, kerakli uzunlikdagi blokni olish uchun oxirgi blok o'ngdagi nol bilan to'ldirilgan. Hash qiymati so'nggi shifrlangan matn bloki bo'ladi. Agar ishonchli blokli shifr algoritmi ishlatilgan bo'lsa, hosil qilingan hash qiymati quyidagi xususiyatlarga ega bo'ladi:

ma'lum bir ochiq qator uchun hesh qiymatini hisoblash uchun shifrlash kalitini bilmasdan amalda imkonsizdir;

hesh funktsiyasining berilgan qiymati uchun ochiq ma'lumotlarni tanlash uchun shifrlash kalitini bilmasdan amalda imkonsizdir.

Shu tarzda hosil qilingan hash qiymati odatda deyiladi taqlid yoki autentifikator va xabarlarning yaxlitligini tekshirish uchun foydalaniladi. Shunday qilib, taqlid qo'shilishi ochiq ma'lumotlar va maxfiy kalit ma'lumotlariga bog'liq bo'lgan boshqaruv birikmasi. Qo'shimchadan foydalanishning maqsadi - ma'lumotlar qatoridagi barcha tasodifiy yoki qasddan o'zgarishlarni aniqlash. Kirish xabarini qayta ishlashda hash funktsiyasi tomonidan qabul qilingan qiymat xabarning to'g'ri ekanligi ma'lum bo'lgan paytda xabarga biriktiriladi. Qabul qiluvchi olingan xabarning taqlidini hisoblash va uni xavfsiz tarzda uzatilishi kerak bo'lgan qabul qilingan xesh-kod bilan taqqoslash orqali xabarning yaxlitligini tekshiradi. Bunday xavfsiz usullardan biri bu qo'shimchani jo'natuvchining shaxsiy kaliti bilan shifrlash bo'lishi mumkin, ya'ni. imzo yaratish. Olingan hash kodini simmetrik shifrlash algoritmi bilan shifrlash ham mumkin, agar yuboruvchi va qabul qiluvchida simmetrik shifrlash kaliti bo'lsa.


Imitatsiya qo'shimchalarini olish va ulardan foydalanish bo'yicha GOST 28147-89 milliy standartida tasvirlangan. Standart uzatilayotgan xabarning yaxlitligini boshqarish uchun shifrni blokirovka qilish rejimida butun xabarni shifrlash paytida olingan blokning pastki 32 bitidan foydalanishni taklif qiladi. Xuddi shu tarzda, siz har qanday blokdan foydalanishingiz mumkin nosimmetrik shifrlash algoritmi.

Hash kodni yaratish uchun blok shifridan foydalanishning yana bir usuli quyidagicha. Dastlabki xabar ketma-ketlikda bloklarda qayta ishlanadi. Oxirgi blok, agar kerak bo'lsa, nol bilan to'ldiriladi, ba'zida ikkilik raqam ko'rinishidagi xabarning uzunligi oxirgi blokga tegishli bo'ladi. Har bir bosqichda biz hozirgi xabar blokini kalit sifatida olib, oldingi bosqichda olingan hash qiymatini shifrlaymiz. So'nggi shifrlangan qiymat hashning yakuniy natijasi bo'ladi.

Aslida, hash funktsiyasini yaratish uchun blok shifridan foydalanish uchun yana bir nechta sxemalar mavjud. M i boshlang'ich xabarning bloki bo'lsin, hi i-chi bosqichda hash funktsiyasining qiymati, f - oddiy almashtirish rejimida ishlatiladigan blokli shifrlash algoritmi, 2-modulli qo'shimcha operatsiya. Keyin, masalan, hash funktsiyasini yaratish uchun quyidagi sxemalar mumkin. :

Ushbu barcha sxemalarda hosil bo'lgan hash qiymatining uzunligi shifrlash paytida blokning uzunligiga teng. Bularning barchasi, shuningdek, xesh qiymatlarini hisoblash uchun blokli shifrlash algoritmidan foydalanishning boshqa sxemalari amalda qo'llanilishi mumkin.

Blok algoritmlari asosida ishlab chiqilgan hash funktsiyalarining asosiy kamchiliklari nisbatan past tezlikdir. Kirish ma'lumotlaridagi kamroq operatsiyalar uchun zarur kriptografik quvvat ta'minlanishi mumkin. Kriptografik quvvat talablaridan kelib chiqqan holda noldan mustaqil ravishda tezroq ishlab chiqilgan hash algoritmlari mavjud (ularning eng keng tarqalgani MD5, SHA-1, SHA-2 va GOST R 34.11-94).

Xesh nima?Xesh funktsiyasi - bu ma'lumotni qisqa, belgilangan satr uzunligiga matematik ravishda o'zgartirish.

Nima uchun bu kerak?Xesh funktsiyalari yordamida tahlil qilish ko'pincha operatsion tizimning muhim fayllari, muhim dasturlar va muhim ma'lumotlarning yaxlitligini boshqarish uchun ishlatiladi. Nazorat zaruratga qarab va muntazam ravishda amalga oshirilishi mumkin.

Bu qanday amalga oshiriladi?Birinchidan, qaysi fayllarni boshqarish kerakligini aniqlang. Har bir fayl uchun uning hash qiymati natijani saqlash bilan maxsus algoritm yordamida hisoblanadi. Kerakli vaqtdan so'ng shunga o'xshash hisoblash amalga oshiriladi va natijalar taqqoslanadi. Agar qiymatlar boshqacha bo'lsa, unda fayldagi ma'lumotlar o'zgartirildi.

Xesh funktsiyasi qanday xususiyatlarga ega bo'lishi kerak?

ixtiyoriy uzunlikdagi ma'lumotlarni sobitga o'zgartirishni amalga oshirishi kerak;

ochiq algoritmga ega bo'lishi kerak, shunda uning kriptografik quvvatini o'rganish mumkin;

u bir tomonlama bo'lishi kerak, ya'ni natija bo'yicha manbalarni aniqlash uchun matematik imkoniyat bo'lmasligi kerak;

u to'qnashuvlarga "qarshilik ko'rsatishi" kerak, ya'ni turli xil ma'lumotlar uchun bir xil qiymatlarni yaratmasligi kerak;

katta hisoblash resurslarini talab qilmasligi kerak;

kirish ma'lumotlari biroz o'zgarganda, natija sezilarli darajada o'zgarishi kerak.

Mashhur hashing algoritmlari qanday?Hozirda quyidagi hash funktsiyalari qo'llaniladi:

CRC - tsiklni qisqartirish kodi yoki chexum summasi. Algoritm juda sodda, talab qilinadigan chiqish uzunligiga qarab juda ko'p o'zgarishga ega. Kriptografik emas!

MD 5 juda mashhur algoritm. Oldingi versiyasi singari, MD 4 ham kriptografik vazifadir. Xesh hajmi 128 bit.

SHA -1, shuningdek, juda mashhur kriptografik funktsiya. Xesh hajmi 160 bit.

GOST R 34.11-94 - xesh funktsiyasini hisoblash uchun rus kriptografik standarti. Xesh hajmi 256 bit.

Tizim ma'muri ushbu algoritmlarni qachon ishlatishi mumkin?Ko'pincha biron bir tarkibni, masalan, ishlab chiqaruvchining veb-saytidagi dasturlarni, musiqalarni, filmlarni yoki boshqa ma'lumotlarni yuklab olayotganda, ma'lum bir algoritm asosida hisoblangan chegirmalar qiymati mavjud. Xavfsizlik nuqtai nazaridan, yuklab olingandan so'ng, hash funktsiyasini mustaqil ravishda hisoblash va qiymatni saytda yoki fayl qo'shimchasida ko'rsatilgan narsalar bilan solishtirish kerak. Siz buni hech qachon qilganmisiz?

Xeshni hisoblash uchun nima qulayroq?Endi bunday kommunal vositalarning ko'pligi mavjud, ular pulli va foydalanish uchun bepul. Menga shaxsan HashTab yoqdi. Birinchidan, o'rnatish paytida yordamchi dastur fayl xususiyatlariga yorliq sifatida kiritilgan, ikkinchidan, bu sizga ko'p sonli hashing algoritmlarini tanlash imkonini beradi va uchinchidan, xususiy notijorat foydalanish uchun bepul.

Ruscha nima?Yuqorida ta'kidlab o'tilganidek, Rossiyada ko'pgina axborot xavfsizligi vositalari ishlab chiqaruvchilari tomonidan keng qo'llaniladigan GOST R 34.11-94 hash standarti mavjud. Bunday vositalardan biri FIX dasturiy kompleksining dastlabki holatini aniqlash va boshqarish dasturi. Ushbu dastur SPIdan foydalanish samaradorligini monitoring qilish vositasidir.

Windows 9x / NT / 2000 / XP uchun FIX (2.0.1 versiyasi)

Amalga oshirilgan 5 algoritmdan bittasini ishlatib, berilgan fayllarni tekshirish miqdorini hisoblash.

Dasturiy ta'minot to'plamining dastlabki holatini fiksatsiya qilish va keyinchalik boshqarish.

Dastur versiyalarini taqqoslash.

Kataloglarni tuzatish va boshqarish.

Belgilangan fayllardagi (kataloglarda) o'zgarishlarni boshqarish.

TXT, HTML, SV formatlarida hisobot berish.

2013 yil 1 iyungacha mahsulot FSTEC tomonidan NDV 3 № 913 bo'yicha sertifikatlangan.

ERI haqida nima deyish mumkin?Hash funktsiyasini hisoblash natijasi foydalanuvchining maxfiy kaliti bilan birgalikda raqamli imzo hisoblanadigan kriptografik algoritmning kirishiga to'g'ri keladi. Qat'iy aytganda, hash funktsiyasi ERI algoritmining bir qismi emas, lekin ko'pincha bu ochiq kalitdan foydalangan holda hujumni istisno qilish uchun amalga oshiriladi.


Hozirgi vaqtda ko'plab elektron tijorat dasturlari foydalanuvchining maxfiy kalitini tokenning shaxsiy qismida (ruToken, eToken) uni o'sha erdan olishning texnik imkoniyatisiz saqlashga imkon beradi. Tokenning o'zi juda cheklangan xotira maydoniga ega, kilobaytlarda o'lchanadi. Hujjatni imzolash uchun hujjatni tokenning o'ziga o'tkazishning hech qanday usuli yo'q, lekin hujjatning xeshini tokenga o'tkazish va elektron raqamli imzoni olish chiqish paytida juda oddiy.

Savollar:


1. Xesh funktsiyasi haqida tushuncha.

2. Hash funktsiyasini shakllantirish uchun blokli shifrlash algoritmlaridan foydalanish.

3. Hash funktsiyasini yaratish algoritmlariga umumiy nuqtai.

1. Xesh funktsiyasi haqida tushuncha

Hash funktsiyasi(hash funktsiyasi) - bu ixtiyoriy uzunlikdagi satr uchun ba'zi bir butun qiymatni yoki boshqa uzunlikni boshqa qatorini hisoblaydigan matematik yoki boshqa funktsiya. Matematik jihatdan buni quyidagicha yozish mumkin:

h \u003d H (M) ,


qayerda M - ba'zida chaqiriladigan asl xabar prototipi , va h Natija hash funktsiyasining qiymati deb nomlanadi (va shuningdek.) hash kodi yoki postlarni hazm qilish (ingliz tilidan xabar hazm)).

Hash funktsiyasining ma'nosi teskari rasmning xarakterli xususiyatini - hash funktsiyasining qiymatini aniqlashdir. Ushbu qiymat odatda ma'lum bir o'lchamga ega, masalan, 64 yoki 128 bit. Muammoni hal qilish uchun hash kodni yana tahlil qilish mumkin. Masalan, ma'lumotni taqqoslash uchun hashing usulidan foydalanish mumkin: agar ikkita ma'lumotlar qatorida hash kodlari turlicha bo'lsa, massivlar farqlanishi kafolatlanadi; agar ular bir xil bo'lsa, massivlar, ehtimol, bir xil. Umumiy holda, manba ma'lumotlari va xesh kodlari o'rtasida bir xil aniq yozishmalar mavjud emas, chunki hash funktsiyalari soni har doim ham kirish ma'lumotlari parametrlaridan kamroq bo'ladi. Shunday qilib, bir xil hash kodlarni beradigan ko'plab kirish xabarlari mavjud (bunday holatlar chaqiriladi) to'qnashuvlar ) To'qnashuvlar ehtimoli xesh funktsiyalarini baholashda muhim rol o'ynaydi.

Hash funktsiyalari zamonaviy kriptografiyada keng qo'llaniladi.

Eng oddiy xesh funktsiyani "sum modulo 2" operatsiyasi yordamida quyidagicha tuzish mumkin: biz kirish satrini olamiz, modulo 2 baytini qo'shamiz va xesh funktsiyasining qiymati sifatida bayt natijani qaytaramiz. Hash funktsiyasi qiymatining uzunligi, kirish xabarining hajmidan qat'iy nazar, 8 bitni tashkil qiladi.

Masalan, raqamli holatga keltirilgan asl xabar quyidagicha edi (olti qirrali formatda):

2 B1 4 A9 5 FE4


Biz xabarni ikkilik shaklda tarjima qilamiz, baytlarni bir-birining ostiga yozamiz va 2-modulning har bir ustuniga bit qo'shamiz:

0010 1011

0001 0100

1010 1001

0101 1111

1110 0100


——————-

0010 1101


Natija: 0010 1101 yoki 2 D va hash funktsiyasining qiymati bo'ladi.

Biroq, bunday xash funktsiyasidan kriptografik maqsadlarda, masalan, elektron imzoni yaratish uchun foydalanib bo'lmaydi, chunki imzolangan xabar tarkibini chex summasining qiymatini o'zgartirmasdan o'zgartirish juda oson.

Shuning uchun ko'rib chiqilayotgan hash funktsiyasi kriptografik dasturlar uchun mos emas. Kriptografiyada, hash funktsiyasining qiymati bir xil bo'lgan ikkita teskari tasvirni yaratish qiyin bo'lsa, shuningdek, agar funktsiyaning chiqishi kirishga aniq bog'liq bo'lmasa, xesh funktsiyasi yaxshi deb hisoblanadi.

Kriptografik xesh funktsiyalari uchun asosiy talablarni aniqlaymiz:

· Hash funktsiyasi har qanday hajmdagi xabarlarga tegishli bo'lishi kerak;

Funktsiya qiymatini hisoblash tezda bajarilishi kerak;

· Hash funktsiyasining ma'lum qiymati bilan, mos keladigan prototipni topish qiyin (deyarli imkonsiz) bo'lishi kerak M ;

· Ma'lum xabar bilan M boshqa xabarni topish qiyin bo'lishi kerak M ' asl xabar bilan bir xil hash qiymati bilan;

· Bir xil hash qiymatiga ega har qanday tasodifiy turli xil xabarlarning juftligini topish qiyin bo'lishi kerak.

Yuqoridagi barcha talablarga javob beradigan hash funktsiyasini yaratish oson ish emas. Shuni ham yodda tutish kerakki, funktsiyaning kiritilishi o'zboshimchalik bilan olingan ma'lumotlarni oladi va xesh natijasi turli o'lchamdagi ma'lumotlar uchun bir xil bo'lmasligi kerak.

Hozirgi vaqtda, amalda, hash funktsiyalari kirish xabarlari blokini blok orqali qayta ishlaydigan va hash qiymatini hisoblaydigan funktsiyalardan foydalanadi h i har bir blok uchun M i qaramlik kiritish xabari

h i \u003d H (M i, h i-1),


qayerda h i-1 - oldingi kirish ma'lumotlari bloki uchun xesh funktsiyasini hisoblashda olingan natija.

Natijada, hash funktsiyasining chiqishi h n barchaning vazifasidir n kirish xabarining bloklari.

2. Hash funktsiyasini yaratish uchun blokli shifrlash algoritmlaridan foydalanish.

Xesh funktsiyasi sifatida siz blok simmetrik shifrlash algoritmidan foydalanishingiz mumkin. Agar ishlatilgan blok algoritmi kriptografik jihatdan bardoshli bo'lsa, unda hash funktsiyasi ishonchli bo'ladi.

Hash kodni olish uchun blok algoritmidan foydalanishning eng oddiy usuli - xabarni CBC rejimida shifrlash ( Shifrni blokirovkalash - shifr matnini blokirovkalash rejimi) Bunday holda, xabar uzunligi shifrlash algoritmi blokining uzunligiga teng bo'lgan bloklar ketma-ketligi sifatida taqdim etiladi. Agar kerak bo'lsa, kerakli uzunlikdagi blokni olish uchun oxirgi blok o'ngdagi nol bilan to'ldirilgan. Hash qiymati so'nggi shifrlangan matn bloki bo'ladi. Agar ishonchli blokli shifr algoritmi ishlatilgan bo'lsa, hosil qilingan hash qiymati quyidagi xususiyatlarga ega bo'ladi:

Ma'lum bir ochiq qator uchun hesh qiymatini hisoblash uchun shifrlash kalitini bilmasdan amalda imkonsizdir;

· Shoshish funktsiyasining berilgan qiymati uchun ochiq ma'lumotlarni tanlashni shifrlash kalitini bilmasdan deyarli imkonsiz.

Shu tarzda hosil qilingan hash qiymati odatda deyiladi taqlid yoki autentifikator va xabarlarning yaxlitligini tekshirish uchun foydalaniladi. Shunday qilib, taqlid qo'shilishi ochiq ma'lumotlar va maxfiy kalit ma'lumotlariga bog'liq bo'lgan boshqaruv birikmasi. Qo'shimchadan foydalanishning maqsadi - ma'lumotlar qatoridagi barcha tasodifiy yoki qasddan o'zgarishlarni aniqlash. Kirish xabarini qayta ishlashda hash funktsiyasi tomonidan qabul qilingan qiymat xabarning to'g'ri ekanligi ma'lum bo'lgan paytda xabarga biriktiriladi. Qabul qiluvchilar olingan xabarning taqlidini hisoblash va uni xavfsiz tarzda uzatilishi kerak bo'lgan qabul qilingan xesh-kod bilan taqqoslash orqali xabarning yaxlitligini tekshiradi. Bunday xavfsiz usullardan biri bu qo'shimchani jo'natuvchining shaxsiy kaliti bilan shifrlash bo'lishi mumkin, ya'ni. imzo yaratish. Agar yuboruvchi va qabul qiluvchida umumiy nosimmetrik shifrlash kaliti bo'lsa, hosil bo'lgan hash kodini nosimmetrik shifrlash algoritmi bilan shifrlash ham mumkin.

Imitatsiya qo'shimchalarini olish va ulardan foydalanish bo'yicha GOST 28147-89 milliy standartida tasvirlangan. Standart uzatilayotgan xabarning yaxlitligini boshqarish uchun shifrni blokirovka qilish rejimida butun xabarni shifrlash paytida olingan blokning pastki 32 bitidan foydalanishni taklif qiladi. Xuddi shu tarzda, qo'shimchani shakllantirish uchun har qanday blok nosimmetrik shifrlash algoritmi ishlatilishi mumkin.

Hash kodni yaratish uchun blok shifridan foydalanishning yana bir usuli quyidagicha. Dastlabki xabar ketma-ketlikda bloklarda qayta ishlanadi. Oxirgi blok, agar kerak bo'lsa, nol bilan to'ldiriladi, ba'zida ikkilik raqam ko'rinishidagi xabarning uzunligi oxirgi blokga tegishli bo'ladi. Har bir bosqichda biz hozirgi xabar blokini kalit sifatida olib, oldingi bosqichda olingan hash qiymatini shifrlaymiz. So'nggi shifrlangan qiymat hashning yakuniy natijasi bo'ladi.

Shunday qilib, agar odatdagi xabarlarni shifrlash sxemasi bo'lsa M blok shifr yordamida f tugmachasida Kimga sifatida qayd qildik E \u003d f (M, K) , keyin hash kodni olish sxemasi h yuqorida tavsiflangan algoritmga ko'ra quyidagicha ifodalanishi mumkin

h i = f ( h i -1 , M )

Dastlabki xesh kod sifatida h 0 doimiy ravishda oling. Shifrlash oddiy almashtirish rejimida amalga oshiriladi. Ushbu usuldan foydalanganda blok o'lchami kalit uzunligiga mos keladi va hash qiymati blok uzunligiga teng bo'ladi.

Oddiy almashtirish rejimida blok shifridan foydalanishning yana bir usuli bor: xabar elementlari oldingi bosqichda olingan hash qiymatlari bilan shifrlangan:

h i = f ( M , h i -1 ,)

Aslida, hash funktsiyasini yaratish uchun blok shifridan foydalanish uchun yana bir nechta sxemalar mavjud. Ruxsat bering M i - asl xabar bloki, h i Bu hash funktsiyasining qiymati i bosqichi f - oddiy almashtirish rejimida ishlatiladigan blokli shifrlash algoritmi, - qo'shimcha ishlash moduli 2. Keyin, masalan, xesh funktsiyasini yaratish uchun quyidagi sxemalar mumkin:

Ushbu barcha sxemalarda hosil bo'lgan hash qiymatining uzunligi shifrlash paytida blokning uzunligiga teng. Bularning barchasi, shuningdek, xesh qiymatlarini hisoblash uchun blokli shifrlash algoritmidan foydalanishning boshqa sxemalari amalda qo'llanilishi mumkin.

Blok algoritmlari asosida ishlab chiqilgan hash funktsiyalarining asosiy kamchiliklari nisbatan past tezlikdir. Kirish ma'lumotlaridagi kamroq operatsiyalar uchun zarur kriptografik quvvat ta'minlanishi mumkin. Tezroq hashing algoritmlari mavjud (ularning eng keng tarqalgani MD5, SHA-1, SHA-2 va GOST R 34.11-94).

3. 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 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 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.

4. 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 .

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.
Download 39,89 Kb.

Do'stlaringiz bilan baham:
1   2




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish