Ryukzak algoritmi



Yüklə 172,44 Kb.
səhifə2/7
tarix12.07.2022
ölçüsü172,44 Kb.
#62737
1   2   3   4   5   6   7
3-amaliy ish

Shifrlash.
Berilgan xabar M harfi bilan belgilanadi. Shifrtekst esa, C bilan belgilanadi. Xabar bit ko’rinishida yozib olinadi (m1, m2, …, mn):
( )mod q=ci
formula yordamida shifrlanadi. Shifrtekst C = {c1, c2, …} ko’rinishida hosil bo’ladi. Shifrni ochish.
C = {c1, c2, …} ko’rinishidagi shifrtekstni
( r-1 ci )mod q=mi
formula yordamida ochiladi. Ochilgan mi larni yig’ib chiqib, M hosil qilinadi.
R.Merkl tizimni buzib ocha olgan odamga 100 AQSh dollari mukofoti berishini e‘lon qildi. 1982 yilda Adi Shamir bu mukofotga sazovor bo’ldi. U mahfiy kalitga teng bo’lmagan kalit yasab shifrlarni ocha oldi.
Misol.
O’suvchi ketma-ketlik w = {2, 3, 7, 15}, modul son q=28, q modul bilan o’zaro tub bo’lgan r=11, shifrlanadigan matn M=HA so’zi bo’lsin.
Shifrlash:

  1. HA so’zini ASCII jadvali yordamida bit ko’rinishga o’tkazamiz:

0100100001000001.

  1. bi = (wi * r) mod q formula orqali normal ketma-ketlik hosil qilamiz:

b1 =(w1 * r) mod q= (2*11) mod28=22
b2 =(w2 * r) mod q= (3*11) mod28=5
b3 =(w3 * r) mod q= (7*11) mod28=21
b4 =(w4 * r) mod q= (15*11) mod28=25

  1. Ketma-ketlik hadlari 4 ta bo’lgani uchun matnni 4 bitdan bloklarga ajratamiz:

M1={m1, m2, m3, m4}=0100, M2={m1, m2, m3, m4}=1000,
M3={m1, m2, m3, m4}=0100, M4={m1, m2, m3, m4}=0001.

  1. ( )mod q =ci formula yordamida shifrlaymiz:

c1=( )mod q= (22*0+5*1+21*0+25*0)mod28=5
c2=( )mod q=(22*1+5*0+21*0+25*0)mod28=22
c3=( )mod q= (22*0+5*1+21*0+25*0)mod28=5
c4=( )mod q= (22*0+5*01+21*0+25*1)mod28=25
5. Shifrtekst hosil bo’ladi: C={c1, c2, c3, c4}.
Shifrni ochish:
O’suvchi ketma-ketlik w = {2, 3, 7, 15}, modul son q=28, q modul bilan o’zaro tub bo’lgan r=11, C={5, 22, 5, 25} bizga ma‘lum.
1. r sonining q modul bo’yicha teskarisini topamiz: 11-1mod28= 1111mod28=(11(112 mod 28)5 )mod 28 = (11*95 )mod 28 = (11*9(92 mod
28)2 )mod 28 = (11 * 9 * 252 )mod 28 = 23
2. (r-1ci)mod q=mi formuladan matnni topamiz: M = (23 *5) mod 28 = 3 =2*0 +3*1 + 7*0 + 15*0 , bundan M1 = 0100 ekanligini aniqlaymiz.

  1. M = (23 *22) mod 28 = 2=2*1 +3*0 + 7*0 + 15*0, bundan M2=1000 ekanligini aniqlaymiz.

  2. M = (23*5) mod 28 = 3=2*0 +3*1 + 7*0 + 15*0, bundan M3 = 0100 ekanligini aniqlaymiz.

  3. M4=(23 · 25) mod 28 = 15 = 2·0+3·0+7·0+15·1, bundan M4=0001 ekanligini aniqlaymiz.

  4. Barcha Mi larni ketma-ket yozib harflarga o’tiladi:

M=0100100001000001
0100 1000 2 = 48 16 = H
0100 0001 2 = 41 16 = A
M = “HA”

Yüklə 172,44 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6   7




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin