3-jadval
O`ng tomondagi ustunni pastdan yuqoriga qarab o`qiymiz: 0001001001. Bu ikkilik kodlarni birinchi misoldagi alfavit jadvali bo`yicha boshlang’ich matnning dastlabki ikki harfini, ya`ni “BI” ni bildiradi.
Ikkinchi 115855 sonini ham shu usul bilan qayta shifrlaylik.
1061 • 115855 = 2226 • 55207 + 31373 .
T/r
Qaralayotgan son
A vektorning komponentalari
Harflar blogi kodi
1
31373
27610
1
2
3763
13807
0
3
3763
6907
0
4
3763
3449
1
5
314
1718
0
6
314
863
0
7
314
430
0
8
314
211
1
9
103
107
0
10
103
103
1
4-jadval
Oxirgi ustunni pastdan yuqoriga qarab o`qiymiz va 1010001001 ni hosil qilamiz. Bu esa alfavit jadvali bo`yicha “ TI ” blogini anglatadi. Qolgan sonlarni ham shu tarzda qayta shifrlab, biz boshlang’ich matnni hosil qilamiz.
Mavzu bo’yicha amaliy mashg’ulot topshiriqlari. Topshiriq. Quyidagi so’zlarni Ryukzak algoritmi yordamida shifrlang va rasshifrovka qiling.
Izoh. Har bir talaba jurnaldagi tartib raqamidagi masalani oladi.
Amaliy mashg’ulot №10 Mavzu. RSA algoritmi.
Kriptografiyada kalitlarni almashish muammolarini o’rganishdan avval axborotni shifrlash va rasshifrovka qilish masalalariga to’xtalib o’tamiz.
Hozirda eng samarali va keng tarqalgan ochiq kalitli shifrlash algoritmi sifatida RSA algoritmini ko’rsatish mumkin. Algoritm modul arifmetikasining darajaga ko’tarish amalidan foydalanishga asoslangan. Algoritmni quyidagi bosqichlar ketma-ketligi ko’rinishida ifodalash mumkin.
1-bosqich. Ikkita 100 xonadan katta bo’lgan tub son p va q tanlanadi.
2-bosqich. Kalitning ochiq tashkil etuvchisi n hosil qilinadi n=p*q. 3-bosqich. 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(1 - jadval). O’zaro tub sonlar deganda 1 dan boshqa birorta umumiy bo’luvchisiga ega bo’lmagan sonlar tushuniladi.
n
2
3
4
5
6
7
8
9
10
11
12
f(p,q)
1
2
2
4
2
6
4
6
4
10
4
Tub
1
1,2
1,3
1,2,3,4
1,5
1,2,3,
4,5,6
1,3,5,7
1,2,4,
5,7,8
1,3,7,9
1,2,3,4,5
6,7,8,9,10
1,5,7,11
1-jadval. Eyler funksiyasi
4-bosqich. f(p,q)qiymati bilan o’zaro tub bo’lgan katta tub son dtanlab olinadi.
5-bosqich. Quyidagi shartni qanoatlantiruvchi e soni aniqlanadi:
e∙d=1( mod f(p,q)). Bu shartga binoan e∙dko’paytmani f(p,q)funktsiyaga bo’lishdan qolgan qoldiq 1ga teng. e soni ochiq kalitning ikkinchi tashkil etuvchisi sifatida qabul qilinadi. Maxfiy kalit sifatida dva psonlari ishlatiladi.
6-bosqich. Dastlabki axborot uning fizik tabiatidan qat’iy nazar raqamli ikkili ko’rinishda ifodalanadi. Bitlar ketma-ketligi Lbit uzunlikdagi bloklarga ajratiladi, bu erda Lsoni L>log2(n+l)shartini qanoatlantiruvchi eng kichik butun son. Har bir blok [0, n-1]oraliqqa taalluqli butun musbat son kabi ko’riladi. Shunday qilib, dastlabki axborot X(i), i=1,2, …, isonlarning ketma-ketligi orqali ifodalanadi. ining qiymati shifrlanuvchi ketma-ketlikning uzunligi orqali aniqlanadi.
7-bosqich. Shifrlangan axborot quyidagi formula bo’yicha aniqlanuvchi Y(i)sonlarning ketma-ketligi ko’rinishida olinadi:
Y(i) = (X(i))e (mod n). Axborotni rasshifrovka qilishda quyidagi munosabatdan foydalaniladi:
X(i) = (Y(i))d(mod n). (e,n)- juftlik ochiq kalit
(d,n)- juftlik maxfiy kalit
Masala. “ADIB” so’zini RSA algoritmi yordamida shifrlang va rasshifrovka qiling.
So’zni shifrlash uchun quyidagi amallarni bajaramiz:
1 - bosqich. p=3ва q=11 tanlab olinadi.
2 - bosqich. n=3∙11=33 hisoblanadi.
3 - bosqich. Eyler funksiyasi qiymatini topamiz: f(p, q)=(3-1)(11-1) = 20 4 - bosqich. f(p,q) qiymatiga o’zaro tub son sifatida d=3soni tanlab olinadi.
5 - bosqich. (e∙3)(mod20)=1 shartni qanoatlantiruvchi е soni tanlab olinadi. Masalan, e=7. 6 - bosqich. Shifrlanadigan “ADIB” so’zi 4 harfdan iborat bo’lgani uchun X(i) = (x1, x2, x3, x4). Dastlabki so’zni alfavitdagi harflar tartib raqami ketma ketligiga mos sonlar ekvivalenti aniqlanadi. Lotin alifbosiga asoslangan o’zbek yozuvida A harfiga-1, B harfiga-2, D harfiga -3, I harfiga-8 sonlari mos qo’yiladi va so’z X(i) = “1,3,8,2” ko’rinishga o’tkaziladi. Demak, x1=1, x2=3, x3=8, x4=2. So’zni esa (e,n)=(7,33) kalit yordamida quyidagicha shifrlaymiz:
7 - bosqich. X(i) ketma-ketligi (e,n)=(7,33) ochiq kalit yordamida quyidagicha shifrlanadi:
Y(1) = (17) (mod 33) = 1 (mod 33) = 1
Y(2) = (37) (mod 33) = 2187 (mod 33) = 9
Y(3) = (87) (mod 33) = 2097152 (mod 33) = 2
Y(4) = (27) (mod 33) = 128 (mod 33) = 29
Demak, dastlabki berilgan so’zni shifri Y(i)= “1,9,2,29”
Shifrlangan so’zni rasshifrovka qilish uchun (d,n)=(3,33) maxfiy kalitdan foydalanamiz.
Y(1) = (13) (mod 33) = 1 (mod 33) = 1
Y(2) = (93) (mod 33) = 729 (mod 33) = 3
Y(3) = (23) (mod 33) = 8 (mod 33) = 8
Y(4) = (293) (mod 33) = 24389 (mod 33) = 2
Mavzu bo’yicha amaliy mashg’ulot topshiriqlari. Topshiriq. Quyidagi so’zlarni RSA algoritmi yordamida shifrlang va rasshifrovka qiling.