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
Do'stlaringiz bilan baham: |