Axborot xavfsizligi




Download 2,72 Mb.
Pdf ko'rish
bet126/191
Sana18.11.2023
Hajmi2,72 Mb.
#101187
1   ...   122   123   124   125   126   127   128   129   ...   191
Bog'liq
axborot xavfsizligi222

ILOVALAR 
 
1 - ilova 
RSA shifrlash algoritmining dasturiy amalga oshirilishi
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)
Listing (S++ dasturlash tilida).
printf("Ikkitatubsonnikiriting\t: "); 
scanf("%d%d",&p,&q); 
n = p*q; 
phi=(p-1)*(q-1); 
printf("\n\tF(n)\t= %d",phi); 
do 

printf("\n\nKiritishe\t: "); 
scanf("%d",&e); 
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 d tanlab 
olinadi. 
5-qadam. Quyidagi shartni qanoatlantiruvchi e soni aniqlanadi 


274 
d
e

=1(modf(p,q))
Bu shartga binoan 
d
e

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. 
Listing (S++ dasturlash tilida).
while(FLAG==1); 
d = 1; 
do 

s = (d*e)%phi; 
d++; 
}while(s!=1); 
d = d-1; 
6-qadam. Dastlabki axborotuning fizik tabiatidan qat’iy nazar raqamli ikkili 
ko‘rinishda ifodalanadi. Bitlar ketma-ketligi bit uzunlikdagi bloklarga ajratiladi, 
bu erda LL

log
2
(n+1) shartini qanoatlantiruvchi eng kichik butun son. Har bir 
blok [0, n-1] oraliqka taalluqli butun musbat son kabi ko‘riladi. Shunday qilib
dastlabki axborot X(i), i=
I
,
1
sonlarning ketma-ketligi orqali ifodalanadi. I ning 
qiymati shifrlanuvchi ketma-ketlikning uzunligi orqali aniqlanadi. 
7-qadam. Shifrlangan axborot quyidagi formula bo‘yicha aniqlanuvchi Y(i
sonlarning ketma-ketligi ko‘rinishida olinadi: 
).
(mod
))
(
(
)
(
n
i
X
i
Y
e

Listing (S++ dasturlash tilida).
voidencrypt() 

inti; 
C = 1; 
for(i=0;i
C=C*M%n; 
C = C%n; 


275 
printf("\n\tShifrlanganso’z: %d",C); 

Axborotni rasshifrovka qilishda quyidagi munosabatdan foydalaniladi: 
).
(mod
))
(
(
)
(
n
i
Y
i
X
d

Listing (S++ dasturlash tilida).
voiddecrypt() 

inti; 
M = 1; 
for(i=0;i
M=M*C%n; 
M = M%n; 
printf("\n\tDeshifrlanganso’z : %d",M); 

 

Download 2,72 Mb.
1   ...   122   123   124   125   126   127   128   129   ...   191




Download 2,72 Mb.
Pdf ko'rish