19. 19.El-Gamal algoritmi ElGamal kriptotizimi ochiq kalitli kriptografiya algoritmi boʻlib, u cheklangan sohada diskret logarifm masalasini yechish qiyinligiga asoslangan. U 1985 yilda Taher ElGamal tomonidan taklif qilingan va shifrlash va raqamli imzolar uchun keng qo'llaniladi. ElGamal kriptotizimi uchta asosiy bosqichni o'z ichiga oladi: kalitlarni yaratish, shifrlash va shifrni ochish.
ElGamal kriptotizimini tasvirlash uchun misolni ko'rib chiqamiz. Faraz qilaylik, Elis Bobga ElGamal kriptotizimidan foydalangan holda maxfiy xabar yubormoqchi va ular p = 23 tub sonini va alfa = 5 ibtidoiy ildizidan foydalanishga kelishib oldilar. Kalit avlodi: Elis o'zining shaxsiy kaliti sifatida tasodifiy butun son x = 6 ni tanlaydi. Elis y = alfa ^ x (mod p) = 5^6 (mod 23) = 8 ni hisoblaydi. Elisning ochiq kaliti y = 8. Shifrlash: Elis Bobga m = 13 ochiq matnli xabarni yubormoqchi. Elis tasodifiy tamsayı k = 3 ni tanlaydi. Elis a = alpha^k (mod p) = 5^3 (mod 23) = 10 va b = y^k * m (mod p) = 8^3 * 13 (mod 23) = 15 ni hisoblaydi. Shifrlangan matn (a, b) = (10, 15). Shifrni ochish: Bob Elisdan (a, b) = (10, 15) shifrlangan matnni oladi. Bob a^x (mod p) = 10^9 (mod 23) = 12 ni hisoblash uchun x = 9 shaxsiy kalitidan foydalanadi. Bob ochiq matnli xabarni tiklaydi m b / a^x (mod p) = 15/12 (mod 23) = 13. ElGamal kriptotizimi keng tarqalgan bo'lib qo'llaniladi va juda ko'p o'rganilgan. Biroq, u klassik kompyuterlarga qaraganda diskret logarifm muammosini tezroq hal qila oladigan kvant kompyuterlari yordamida hujumlarga nisbatan zaifdir. Bu shuni anglatadiki, uzoq muddatli xavfsizlikni ta'minlash uchun kvantdan keyingi ochiq kalitlarning yangi kriptografiyasi algoritmlari zarur.
20.Identifikatsiya va autentifikatsiya tushunchasi Identifikatsiya (Identification) - foydalanuvchini uning identifikatori (nomi) bo‘yicha aniqlash jarayoni. Bu foydalanuvchi tarmoqdan foydalanishga uringanida birinchi galda bajariladigan funksiyadir. Foydalanuvchi tizimga uning so‘rovi bo‘yicha o‘zining identifikatorini bildiradi, tizim esa o‘zining ma’lumotlar bazasida uning borligini tekshiradi.
Autentifikatsiya (Authentication) – ma’lum qilingan foydalanuvchi, jarayon yoki qurilmaning haqiqiy ekanligini tekshirish muolajasi. Bu tekshirish foydalanuvchi (jarayon yoki qurilma) haqiqatan aynan o‘zi ekanligiga ishonch xosil qilishiga imkon beradi. Autentifikatsiya o‘tqazishda tekshiruvchi taraf tekshiriluvchi tarafning xaqiqiy ekanligiga ishonch hosil qilishi bilan bir qatorda tekshiriluvchi taraf ham axborot almashinuv jarayonida faol qatnashadi.Odatda foydalanuvchi tizimga o‘z xususidagi noyob, boshqalarga ma’lum bo‘lmagan axborotni (masalan, parol yoki sertifikat) kiritishi orqali identifikatsiyani tasdiqlaydi.