To'qnashuv - bu ikki xil matn uchun bir xil Hash summasi olingan vaziyat. Siz tushunganingizdek, blok qat'iy uzunlikka ega bo'lgani sababli, u cheklangan miqdordagi qiymatlarga ega va shuning uchun takrorlash mumkin.
Va endi Hash funktsiyalarining xususiyatlariga:
1. Har qanday o'lchamdagi matnni kirishga boqish mumkin va chiqishda ma'lum bir uzunlikdagi ma'lumotlar bloki olinadi. Bu ta'rifdan kelib chiqadi.
2. Xuddi shu matnlarning hash summasi bir xil bo'lishi kerak. Aks holda, bunday funktsiyalar shunchaki foydasiz - bu tasodifiy raqamga o'xshash.
3. Yaxshi yig'ish funktsiyasi yaxshi taqsimotga ega bo'lishi kerak. Agar chiqadigan Hash hajmi, masalan, 16 bayt bo'lsa, agar funktsiya har qanday matnlar uchun atigi 3 xil qiymatni qaytarsa, unda bunday funktsiyaning ma'nosi yo'q va bu 16 bayt (16 bayt 2 ^ 128 parametr bo'lib, bu taxminan 3 ga teng). 4 * 10 ^ 38 daraja).
4. Funksiya dastlabki matndagi ozgina o'zgarishlarga qanchalik yaxshi javob beradi. Oddiy misol. 10 GB hajmdagi faylda 1 harfni o'zgartirdik, funktsiyaning qiymati boshqacha bo'lishi kerak. Agar bunday bo'lmasa, unda bunday funktsiyani qo'llash juda muammoli.
5. To'qnashuv ehtimoli. Muayyan sharoitlarda hisoblangan juda murakkab parametr. Ammo, uning mohiyati shundan iboratki, agar hosil bo'lgan Hash miqdori ko'pincha mos kelsa, Hash funktsiyasining ma'nosi nima.
6. Hashni hisoblash tezligi. Agar hisoblash uchun ko'p vaqt kerak bo'lsa, yig'ilish funktsiyasidan foydalanish nima? Yo'q, chunki fayl ma'lumotlarini taqqoslash yoki boshqa yondashuvdan foydalanish osonroq bo'ladi.
7. Hash qiymatidan dastlabki ma'lumotlarni tiklash qiyinligi. Ushbu belgi umumiyga qaraganda o'ziga xosdir, chunki bu har doim ham talab qilinmaydi. Biroq, eng taniqli algoritmlar uchun bu xususiyat baholanadi. Masalan, dastlabki faylni bu funktsiyadan zo'rg'a olasiz. Ammo, agar to'qnashuv muammosi bo'lsa (masalan, siz bunday Hashga mos keladigan har qanday matnni topishingiz kerak), unda bu belgi muhim bo'lishi mumkin. Masalan, parollar, lekin ular haqida biroz keyinroq.
8. Bunday funktsiyaning dastlabki kodi ochiq yoki yopiq. Agar kod ochiq bo'lmasa, ma'lumotlarni qayta tiklashning murakkabligi, xususan kriptografik quvvat savol tug'iladi. Qisman, bu shifrlash bilan bog'liq muammo.
Endi biz "bularning barchasi nima uchun?" Degan savolga o'tamiz.
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
Do'stlaringiz bilan baham: |