Topshiriq
Diskret logarifmlash muammosini bartaraf etuvchi dasturiy vositani ishlab chiqish.
Nazoratsavollari
Diskret logarifmlash muammosini izohlang.
Diskret logarifmlashgaqaratilganqandayhujumlarmavjud.
Polig – Xelmanalgoritmiqandaymaqsaddaqo’llaniladi.
4-amaliy ish
Mavzu: El-Gamal algoritmida maʼlumotni shifrlovchi dasturiy vositani ishlab chiqish.
Ishdan maqsad:El-Gamal shifrlash algoritmi haqida nazariy va amaliy bilim ko‘nikmalarni shakllantirish.
Nazariy qism
El-Gamal shifrlash algoritmi. Ushbu ochiq kalitli shifrlash algoritmi diskert logarifmlash muammosiga asoslangan boʼlib, kalitlar uzunligi teng boʼlgan holda bardoshligi RSA algoritmi bardoshligiga teng.
Калит генератори. El-Gamal algoritmida kalit generatori quyidagi bosqichlardan iborat:
p – katta tub son tanlanadi;
g
shartni qanoatlantiruvchi g butun son tanlanadi;
maxfiy kalit sifatida a
shartni qanoatlantiruvchi butun son tanlanadi;
ochiq kalit sifatida hisoblanadi;
ochiq kalitlar jufti (y,g,p) ma’lumotni shifrlovchi tomonlarga yoki ixtiyorov odamlarga tarqatiladi.
Ochiq matnni shifrlash. Shifrlanishi kerak boʼlgan М ochiq matn va ochiq kalitlar juftiga egi foydalanuvchi quyidagi ketma – ketlikdagi amallarni bajaradi:
рsonidan kichik boʼlgan va shartni bajaruvchi k -sonini tanlab olinadi;
kson asosida hisoblanadi;
ochiq matnning har bir belgisi uchun tenglikni hisoblashorqalishifrmatnolinadi;
shifrlash amalga oshirilgach, k sono’chirib tashlanadi va qabul qiluvchiga (r, c) juftlik yuboriladi.
Шифрматнни дешифрлаш.Shifrmatn va maxfiy kalitga ega foydalanuvchi quyidagi ketma – ketliklarni bajarish orqali ochiq matnga ega boʼladi:
qabul qilingan maʼlumotlar asosida ochiq matn hisoblanadi.
Ushbu algoritm asosida sodda misol quyida keltirilgan:
А tomon oʼzining maxfiy kaliti asosida ochiq kalit juftini hosil qiladi va uni B tomonda yuboradi. Olingan qiymatlar quyidagilar:
g=3; p=31; a=4; =(3^4)mod31=19. Бу ерда (p,g,y) – ochiq kalitlar jufti va a maxfiy kalit.
Shifrlash. Bu bosqich А tomonning ochiq kalitlariga esa B tomondan amalga oshiriladi. Ochiq maʼlumot sifatida M=CDEF (2,3,4,5 –alfavitdani oʼrni) olinib, ЭКУБ( , ) =1 shartni qanoatlantiruvchik=7tanlandi. Shundan soʼng quyidagilar hisoblanadi:
=(3^7)mod31=17;
C1= =2*(19^7)mod31=14;
C2= =3*(19^7)mod31=21;
C3= =4*(19^7)mod31=28;
C4= =5*(19^7)mod31=4;
Shundan soʼng C1,C2,C3,C4 lardan iborat C va А tomonga yuboriladi.
Deshifrlash. Bu jarayon maxfiy kalitga ega boʼlgan А tomondan amalga oshiriladi va ochiq matn olinadi:
M1=
M2=
M3=
M4=
Bu yerda diskert logarifmlash muammosi sifatida ochiq kalitlar jufti berilganda tenglamadan a maxfiy kalitni topish mumkin, hozirda ushbu muammoning optimal usuli mavjud emas.
Do'stlaringiz bilan baham: |