Mavzu: Ochiq kalitli kriptotizimlar algoritmlarini dasturlash
Ishdan maqsad: Ushbu ishdan maqsad, talabalarda axborotlarni kriptografik himoyalash usulini o’rganish ko’nikmalarini shakllantirish va assimmetrik kriptotizimlar dasturini ishlab chiqish.
Qisqacha nazariy ma'lumot: Ochiq kalitli shifrlash sistemalarida ikkita kalit ishlatiladi. Axborot ochiq kalit yordamida shifrlansa, maxfiy kalit yordamida rasshifrovka qilinadi.Ochiq kalitli sistemalarini qo’llash asosida qaytarilmas yoki bir tomonli funksiyalardan foydalanish yotadi.
Ochiq kalitli kriptosistemalari bir tomonli funksiyalar ko’rinishi bo’yicha farqlash mumkin. Bularning ichida RSA, El-Gamal va Mak-Elis sistemalarini aloxida tilga olish o’rinli. Hozirda eng samarali va keng tarqalgan ochiq kalitli shifrlash algoritmi sifatida RSA algoritmini ko’rsatish mumkin. RSA nomi algoritmni yaratuvchilari familiyalarining birinchi xarfidan olingan (Rivest, Shamir va Adleman). Algoritm modul arifmetikasining darajaga ko’tarish amalidan foydalanishga asoslangan.
Algoritmni quyidagi qadamlar ketma-ketligi ko’rinishida ifodalash mumkin.
1-qadam. Ikkita 200dan katta bo’lgan tub son p va q tanlanadi.
2-qadam. Kalitning ochiq tashkil etuvchisi n hosil qilinadi
n=p*q.
3-qadam. Quyidagi formula bo’yicha Eyler funksiyasi hisoblanadi:
f(p,q)=(p-1)*(q-1).
Eyler funksiyasi n bilan o’zaro tub, 1 dan n gacha bo’lgan butun musbat sonlar sonini ko’rsatadi. O’zaro tub sonlar deganda 1 dan boshqa birorta umumiy bo’luvchisiga ega bo’lmagan sonlar tushuniladi.
4-qadam. f(p,q) qiymati bilan o’zaro tub bo’lgan katta tub son e tanlab olinadi.
5-qadam. quyidagi shartni qanoatlantiruvchi e soni aniqlanadi
e*d=1(modf(p,q)) .
Bu shartga binoan ko’paytmaning f(p,q) funksiyaga bo’lishdan qolgan qoldiq 1ga teng. e soni ochiq kalitning ikkinchi tashkil etuvchisi sifatida qabul qilinadi. Maxfiy kalit sifatida d va n sonlari ishlatiladi.
6-qadam. Shifrlangan axborot quyidagi formula bo’yicha aniqlanuvchi Y(i) sonlarning ketma-ketligi ko’rinishida olinadi:
Axborotni rasshifrovka qilishda quyidagi munosabatdan foydalaniladi:
Х(i)=(Y(i))d (modn).
Misol. <ДОНИЁР> so’zini shifrlash va rasshifrovka qilish talab etilsin. Dastlabki so’zni shifrlash uchun quyidagi qadamlarni bajarish lozim.
1-qadam. p=311 va q=641 tanlab olinadi.
2-qadam. n = 311*641 =199351 hisoblanadi.
3-qadam. Eyler funksiyasi aniqlanadi.
f(p,q)=(p-1)*(q-1) = 310*640 =198400
4-qadam. O’zaro tub son sifatida e=3 soni tanlab olinadi.
5-qadam. shartini qanoatlantiruvchi d soni tanlanadi.
(f*x+1)/e= xaqiqiy son
198400*2+1/3=132267
d=132267
6-qadam. Dastlabki so’zning alfavitdagi xarflar tartib raqami ketma-ketligiga mos son ekvivalenti aniqlanadi. Д – 4 ; О – 15 ; Н – 14 ; И – 9 ; Ё – 6 ; Р – 17 .
7-qadam. X(i) ketma-ketligi ochiq kalit {3,199351} yordamida shifrlanadi:
Y(1)=(43)(mod 199351)=64(mod 33)=64
Y(2)=(153)(mod 199351)=3375(mod 199351)=3375
Y(3)=(143)(mod 199351)=2744(mod 199351)=2744
Y(4)=(93)(mod 199351)=729(mod 199351)=729
Y(5)=(63)(mod 199351)=216(mod 199351)=216
Y(6)=(173)(mod 199351)=4913(mod 199351)=4913
Shifrlangan so’z Y(i)=<64,3375,2744,729,216,4913>
Shifrlangan so’zni rasshifrovka qilish maxfiy kalit {132267,199351} yordamida bajariladi.:
Y(1)=(64132267)(mod 199351)=4
Y(2)=(3375132267)(mod 199351)=15
Y(3)=(2744132267)(mod 199351)=14
Y(4)=(729132267)(mod 199351)=9
Y(5)=(216132267)(mod 199351)=6
Y(6)=(4913132267)(mod 199351)=17
Dastlabki son ketma-ketligi rasshifrovka qilingan X(i)=<4,15,14,9,6,17> ko’rinishida dastlabki matn <ДОНИЁР> bilan almashtiriladi.
Do'stlaringiz bilan baham: |