Xesh funksiyalar turlari - Mavzu: Ma’lumotlarni tashkil qilishning kalitlarni akslantirish usuli(xeshlashtirish)....

Xesh funksiyalar turlari
Oddiy xesh funksiyalar: Adler-32, CRC, FNV, Murmur2, PJW-32, TTH, Jenkins hash.
Kriptografik xesh funksiyalar: CubeHash, BLAKE, BMW, ECHO, FSB, Fugue, Grøstl, JH, Hamsi, HAVAL, Keccak (SHA-3), Kupyna, LM-хеш, Luffa, MD2, MD4, MD5, MD6, N-Hash, RIPEMD-128, RIPEMD-160, RIPEMD-256, RIPEMD-320, SHA-1, SHA-2, SHABAL, SHAvite-3, SIMD, Skein, Snefru, SWIFFT, Tiger, Whirlpool, ГОСТ Р 34.11-94, ГОСТ Р 34.11-2012.
Kalit hosil qiluvchi xesh funksiyalar: bcrypt, PBKDF2, scrypt.
Kriptografik xesh funksiyalarning esa quyidagi turlari mavjud:
kalitli xesh funksiya; 2) kalitsiz xesh funksiya.
Heshfunksiyaxossalari
Hesh-determinant funksiya (ya’nibirxilkirishma’lumotifaqatginaaniqbittaheshqiymatniberadi).Heshfunksiya-birtomonlamafunksiyahisoblanadi.
Ixtiyoriytaqsimlashbumatnnibitasimvolio’zgarsa ham heshumumano’zgaradi.
Heshfunksiyaqo’llanishi
1.Assosiativ massivlarishlabchiqishda
2.Ma’lumotlar tuzilmasiichidannusxatopishda
3.ma’lumotlar tuzilmasiuchunnoyobidentifikatorlartashkilqilishda
4.Parollarni saqlashda
5.Elektron imzouchunishlatiladi.
Kalitli xesh funksiyalar simmetrik shifrlash algoritmi tizimlarida qo‘llaniladi. Kalitli xesh funksiyalar berilgan ma’lumot autentifikatsiyasi kodi (message authentication code(MAC)) deb ham yuritiladi. Ushbu kod bir-biriga ishonchi mavjud foydalanuvchilarga berilgan ma’lumotining haqiqiyligi va to‘laligini kafolatini qo‘shimcha vositalarsiz ta’minlash imkoniyatini tug‘diradi.
1-rasm. MAC tizimlari
Kalitsiz xesh funksiyalar xatolarni topish kodi (modification detection code(MDC) yoki manipulation detection code, massage integrrity code(MIC) deb ataladi. Ushbu kod qo‘shimcha vositalar (masalan: himoyalangan aloqa tarmog‘i, shifrlash yoki ERI algoritmlari) yordamida berilgan ma’lumot to‘laligini kafolatlaydi. Bu turdagi xesh funksiyalardan bir-biriga ishonch bildiruvchi va ishonchi bo‘lmagan tomonlar foydalanishlari mumkin.
Odatda kalitsiz xesh funksiyalardan quyidagi xossalarni qanoatlantirishi talab qilinadi:
1) bir tomonlilik;
2) kolliziyaga bardoshlilik;
3) xesh qiymatlari teng bo‘lgan ikkita ma’lumotni topishga bardoshlilik.
Birinchi shart bajarilganda, berilgan xesh qiymatga ega bo‘lgan
ma’lumotni topishning murakkab ekanligini, ikkinchi shart bajarilganda
bir xil xesh qiymatga ega bo‘lgan ma’lumotlar juftini topishning
murakkab ekanligini, uchinchi shart xesh qiymati ma’lum bo‘lgan berilgan
ma’lumot uchun xesh qiymati shunga teng bo‘lgan ikkinchi ma’lumotni
topishning murakkab ekanligini bildiradi.
Masalan, nazorat yig‘indini topuvchi SRC xesh funksiyasi chiziqli
akslantirish bo‘ladi va shuning uchun ham bu uchta shartdan birontasini ham qanoatlantirmaydi.
Ma’lumotlarni uzatishda yoki saqlashda ularning to‘laligini
nazoratlashda har bir ma’lumotning xesh qiymati (bu xesh qiymat
ma’lumotni autentifikatsiya qilish kodi yoki “imitoqo‘yish”-ma’lumot
bloklari bilan bog‘liq bo‘lgan qo‘shimcha kiritilgan belgi deyiladi)
hisoblaniladi va bu qiymat ma’lumot bilan birga saqlaniladi yoki
uzatiladi. Ma’lumotni qabul qilgan foydalanuvchi ma’lumotning xesh
qiymatini hisoblaydi va uning xesh qiymati bilan solishtiradi. Agar
taqqoslashda bu qiymatlar mos kelmasa, ma’lumot butunligi buzilganligini
anglatadi.
“Imitoqo‘yish”lar hosil qilish uchun foydalaniladigan xesh
funksiyalar nazorat yig‘indisidan farqli ravishda ma’lumotni saqlash va
uzatishda ro‘y beradigan tasodifiy xatolarni aniqlabgina qolmasdan, raqib
tomonidan qilingan aktiv hujumlar to‘g‘risida ham ogohlantiradi. Buzg‘unchi
xesh qiymatni osonlik bilan o‘zi hisoblab topa olmasligi va muvaffaqiyatli
imitatsiya qilishi yoki ma’lumotni o‘zgartira olmasligi uchun xesh funksiya 70
buzg‘unchiga ma’lum bo‘lmagan maxfiy kalitga ega bo‘lishi kerak. Bu maxfiy
kalit faqatgina ma’lumotni uzatuvchi va qabul qiluvchi tomonlarga ma’lum
bo‘lishi kerak. Bunday xususiyatga ega xesh funksiyalarga kalitli xesh
funksiyalar deyiladi. Kalitli xesh funksiyalar yordamida hosil qilinadigan
“imitoqo‘yish”lar imitatsiya (impersonation) turidagi hujumlarda qalbaki
ma’lumotlarni hosil qilishga (fabrication) va “o‘zgartirish” (substitution)
turidagi hujumlarda uzatiladigan ma’lumotni modifikatsiya (modification)
qilishga yo‘l qo‘ymaslikda foydalaniladi.
Ma’lumot manbaining autentifikatsiyalash masalasi axborot-
kommunikatsiya tizimlarining bir-biriga ishonmaydigan ikki tomoni
orasida ma’lumot almashinuvida yuzaga keladi. Bu masalani hal qilishda
ikkala tomon ham biladigan maxfiy kalitdan foydalanib bo‘lmaydi. Bu
holatda ma’lumotning manbaini autentifikatsiya qilishga imkon beradigan
elektron raqamli imzo sxemasi qo‘llaniladi. Bunda odatda
foydalanuvchining maxfiy kalitiga asoslangan imzo qo‘yishdan oldin
xatolik kodini aniqlovchi xesh funksiya yordamida ma’lumot siqiladi. Bu
holda xesh funksiya maxfiy kalitga ega bo‘lmaydi hamda u fiksirlangan
bo‘lishi va hammaga ma’lum bo‘lishi mumkin. Unga qo‘yilgan asosiy talab
imzolangan hujjatni o‘zgartirish hamda bir xil xesh qiymatga ega bo‘lgan ikkita har xil ma’lumotni tanlash imkoniyati yo‘qligining kafolatidir.
Agar bir xil xesh qiymatga ega bo‘lgan ikkita har xil ma’lumot mavjud
bo‘lsa, bu ma’lumotlar jufti kolliziya hosil qiladi deyiladi.
Xesh funksiyalarda kolliziya – ikkita har xil ma’lumotdan bir xil xesh qiymat hosil bo’lib qolishi. Kolliziyaning oldini olish yo’llaridan biri bu xesh jadval hisoblanadi. Xeshlash algoritmlarining bardoshliligi xa xavfsizliligi kolliziyaga chidamliligi bilan aniqlanadi.
Misollar
#include
#include
#include
intmain()
{
std::string str ="Meet the new boss...";
std::hashhash_fn;
size_tstr_hash=hash_fn(str);
std::cout<\n';
}
Natija:
391070135
#include
#include
#include
struct S {
std::stringfirst_name;
std::stringlast_name;
};
namespace std {
template<>
class hash{
public:
size_toperator()(const S &s)const
{
size_t h1 =std::hash()(s.first_name);
size_t h2 =std::hash()(s.last_name);
return h1 ^( h2 <<1);
}
};
}
intmain()
{
S s;
s.first_name="Bender";
s.last_name="Rodriguez";
std::hashhash_fn;
std::cout<<"hash(s) = "<\n";
}
Natija:
hash(s) = 32902390710
Xulosa
Bugungi jamiyat taraqqiyoti insoniyat tafakkurining maxsuli bo’lgan rivojlangan ilm-fan yutuqlariga asoslangan texnika va texnologiyalar bilan bir qatorda, keng ma’noda, axborotlarning muhim ahamiyatga egaligi orqali xam belgilanadi. Faoliyat maqsadlarining turlicha bo’lishi tabiiy ravishda axborotlardan turli maqsadlarda foydalanish asoslariga sabab bo’ladi. Shuning uchun bugungi, axborotlarni saqlash va uzatish tizimlari bir tomondan takomillashib murakkablashgan va ikkinchi tomondan axborotdan foydalanuvchilar uchun keng qulayliklar vujudga kelgan davrda, axborotlarni maqsadli boshqarishning qator muhim masalalari kelib chiqadi. Bunday masalalar qatoriga katta xajmdagi axborotlarning tez va sifatli uzatish xamda qabul qilish, axborotlarni ishonchliligini ta’minlash, axborotlar tizimida axborotlarni begona shaxslardan(keng ma’noda) muxofaza qilish kabi ko’plab boshqa masalalar kiradi. Yuqoridagi keltirilgan asosli muloxazalardan kelib chiqib, axborotlarni asli xolidan o’zgartirilgan xolda, ya’ni shifrlangan xolda, saqlash va uzatish masalalarining muhim ekanligiga shubxa yo’qdir.
Xesh funksiyalar asosan ma’lumotning butunliligini ta’minlashda ya’ni axborot xavfsizligini ta’minlashda keng ko’lamda qo’llaniladi.
|