OPENSSL KUTUBXONASIDAN FOYDALANGAN HOLDA MA‘LUMOTLARNI XESH QIYMATINI HISOBLASH

|
OPENSSL KUTUBXONASIDAN FOYDALANGAN HOLDA MA‘LUMOTLARNI XESH QIYMATINI HISOBLASH
|
bet | 5/6 | Sana | 05.01.2024 | Hajmi | 0,58 Mb. | | #130547 |
2.2. OPENSSL KUTUBXONASIDAN FOYDALANGAN HOLDA MA‘LUMOTLARNI XESH QIYMATINI HISOBLASH
Kriptografiyada, xesh funksiya deb ixtiyoriy uzunlikdagi (bitlar yoki baytlar birliklarida) ma’lumotni biror fiksirlangan (belgilangan) uzunlikdagi (bitlar yoki baytlar birliklariga) qiymatga o‘tkazib beruvchi funksiyaga aytiladi. Xesh funksiyalardan amalda statistik tajribalar o‘tkazishda, mantiqiy qurilmalarni tekshirishda, ma’lumotlar bazasida tez qidirib topish algoritmlarini yaratishda va ma’lumotlar bazasidagi ma’lumotlarning butunligini tekshirishda foydalaniladi.
Xesh funksiya deb, ixtiyoriy uzunlikdagi M ma’lumotni fiksirlangan uzunlikdagi qiymatga akslantib beruvchi, oson hisoblanadigan bir tomonli funksiyaga aytiladi.
Xesh qiymat: “xesh qiymat”, “svertka”, “daydjest”, “barmoq izlari” deb ham ataladi.
Xesh funksiyaga nisbatan quyidagi talablar qo‘yiladi:
Ixtiyoriy uzunlikdagi matn uchun qo‘llab bo‘lishlik.
Chiqishda belgilangan uzunlikdagi qiymatni berishlik.
Ixtiyoriy berilgan x bo‘yicha h(x) oson hisoblanishlik.
Ixtiyoriy berilgan H bo‘yicha tenglikdan x ni hisoblab topib bo‘lmaslik. (Bir tomonlilik xususiyati).
Olingan x va matnlar uchun munosabat o‘rinli bo‘lishi. (Kolliziyaga bardoshlilik xususiyati).
MD 5 xesh funksiyasi. MD5 algoritmda kiruvchi ma’lumot uzunligi ixtiyoriy bo‘lib, xesh qiymat uzunligi 128 bit bo‘ladi. MD 5 xesh funksiyasi algoritmida kiruvchi ma’lumot 512 bitlik bloklarga ajratilib, ular 16 ta 32 bitlik qism bloklarga ajratiladi va bular ustida amallar bajariladi.
Faraz qilaylik, bizga uzunligi b bit bo‘lgan, bu yerda b – ixtiyoriy nomanfiy butun son, ma’lumot berilgan bo‘lsin va bu ma’lumotning bitlari
tartibda yozilgan bo‘lsin.
Xesh qiymatni hisoblash uchun quyidagi beshta bosqich bajariladi:
1-bosqich. To‘ldirish bitlarini qo‘shish
Berilgan ma’lumot uzunligi 512 modul bo‘yicha 448 bilan taqqoslanadigan (ma’lumot uzunligi 448 mod 512) qilib to‘ldiriladi, ya’ni, kengaytirilgan ma’lumotning uzunligi unga eng yaqin bo‘lgan 512 ga karrali bo‘lgan sondan 64 bitga kichik bo‘lishi kerak. To‘ldirish hamma vaqt, hattoki ma’lumot uzunligi 512 modul bo‘yicha 448 bilan taqqoslanadigan bo‘lsa ham bajariladi.
To‘ldirish quyidagi tartibda amalga oshiriladi: ma’lumotga 1 ga teng bo‘lgan bitta bit qo‘shiladi, qolgan bitlar esa 0 lar bilan to‘ldiriladi. Shuning uchun qo‘shilgan bitlar soni 1 dan 512 tagacha bo‘ladi.
2-bosqich. Ma’lumotning uzunligini qo‘shish
1-bosqichning natijasiga berilgan ma’lumot uzunligining 64 bitlik qiymati
qo‘shiladi. Agar ma’lumotning uzunligi 264 bitdan katta bo‘lsa, bu uzunlik mod 264 bo‘yicha olinib qo‘shiladi.
Shunday qilib, birinchi ikkita bosqich bajarilgandan keyin uzunligi 512 bitga
karrali bo‘lgan ma’lumot olinadi, ya’ni kengaytirilgan ma’lumot uzunligi 16 ta 32 bitlik so‘zdan iborat blok uzunligiga karrali bo‘ladi. Natijada hosil qilingan ma’lumotning so‘zlarini orqali belgilaymiz, u holda N soni 16 ga karrali bo‘ladi. Shunday qilib, bo‘ladi.
3-bosqich. Xesh qiymat uchun bufer initsializatsiya qilish
Xesh funksiyaning oraliq va oxirgi natijalarini saqlash uchun 128 bitlik buferdan foydalaniladi. Bu buferni to‘rtta 32 bitlik A, B, C, D registrlar ko‘rinishida tasvirlash mumkin. Bu registrlarga 16 lik sanoq sistemasida quyidagi boshlang‘ich qiymatlar beriladi:
4-bosqich. Ma’lumotni 512 bitlik bloklarga ajratib qayta ishlash Argumenti va qiymati 32 bitlik so‘z bo‘ladigan to‘rtta yordamchi funksiyani aniqlaymiz:
F(X,Y,Z) = (X ˄ Y) ˅ ( ˥ X ˄ Z)
G(X,Y,Z) = (X ˄ Z) ˅ (Y ˄ ˥ Z)
H(X,Y,Z) = X * Y * Z
I(X,Y,Z) = Y * (X ˅ ˥ Z)
Bu yerda bitlar bo‘yicha mantiqiy AND, OR, NOT, XOR amallari mos ravishda
belgilari bilan ifodalangan.
Bu bosqichda sinus funksiyasi asosida 64 ta so‘zdan qurilgan T[1,…,64] jadvaldan foydalaniladi. bo‘lib, jadvalning i – elementini ifodalaydi. Bu yerda [q] ifoda q sonning butun qismini bildiradi, i esa radianlarda ifodalangan.
20 -rasm. MD 5 algoritmida bitta registr qiymatini hisoblash 5- bosqich. Natija
Ma’lumotning xesh qiymati A, B, C, D registrlardagi qiymatlarni birlashtirish natijasida hosil qilinadi.
21 -rasm. MD 5 algoritmidagi asosiy sikl.
Amaliy qism:
Openssl kutubxonasidan foydalanish uchun cmd buyrug‘idan foydalaniladi (pusk va R teng bosiladi):
22 -rasm. Cmd buyrug‘ini ishga tushiriladi
Cmd oynasidagi joriy papkasidan chiqish uchun cd.. buyrug‘idan foydalaniladi:
23 -rasm. cd.. buyrug‘idan foydalanish
Openssl kutubxonasi uchun foydalanadigan certificate papkasiga quyidagi buyrug‘ orqali ochiq ma’lumotni xosil qilib olamiz:
24 -rasm. Ochiq ma’lumot ko‘rsatiladi
25 -rasm. Ochiq ma’lumot joylashuvi
26-rasm. Opensslni ishga tushirish
27 -rasm. Opensslda md5
XULOSA
OpenSSL kutubxonasida ma'lumotlar xavfsizligini ta'minlash uchun bir qator usullar mavjud. Bu usullar orqali foydalanuvchilar ma'lumotlarini shifrlash, ma'lumot almashuvchilar tomonidan tasdiqlanishini ta'minlash, xavfsizlik sertifikatlari ishlatish, asimmetrik shifrlash va xavfsizlik protokollari orqali ma'lumot almashish imkoniyatlarini olishlari mumkin.
OpenSSL kutubxonasida xavfsizlik sertifikatlari generatsiya qilish va ulardan foydalanish imkoniyati mavjud. Bu sertifikatlar SSL/TLS protokoli orqali ma'lumot almashuvchilar tomonidan tasdiqlanishini ta'minlaydi va ma'lumotlar almashuvchilar bilan xavfsiz tarzda almashinuvchi tasdiqlovchi sertifikatlar bilan himoyalangan.
Kutubxona kriptografiya funktsiyalarini o‘z ichiga olgan bo‘lib, ma'lumotlarni shifrlash va unshifrlash uchun foydalanish imkoniyatini beradi. Asimmetrik shifrlash algoritmlari ham mavjud bo‘lib, xavfsizlik kalit so‘zlarini almashish, elektron imzolash va ma'lumotlarni shifrlash uchun foydalanish imkoniyatlarini beradi.
Parol generatori va parol tekshirish funktsiyalari esa xavfsiz va qiyin parollar yaratish va tekshirishga imkon beradi. Bu, xavfsizlikning boshqa bir aspektini ta'minlashga yordam beradi.
OpenSSL kutubxonasi SSL/TLS protokollarining turli variantlarini qo‘llab-quvvatlaydi, bu protokollar orqali xavfsizlikning farzandlari bo‘yicha ma'lumot almashish imkoniyatlarini beradi.
Hash funktsiyalari esa ma'lumotlarni hash qilish imkoniyatini beradi. Hash funktsiyalari ma'lumotni qisqartirib unikal hash qiymatini hosil qilish uchun foydalaniladi, bu esa ma'lumotning integritetini tekshirish va xavfsizlikning bazi aspektlarini ta'minlashda foydali bo‘ladi.
Umuman olganda, OpenSSL kutubxonasida ma'lumotlar xavfsizligini ta'minlash imkoniyatlarini olish uchun bir nechta usullar mavjud. Bu usullar foydalanuvchilarga xavfsizlikning muhim aspektlarini ta'minlashga yordam beradi.
|
| |