ILOVALAR
1
- ilova
RSA SHIFRLASH ALGORITMINING DASTURIY AMALGA
OSHIRILISHI.
Algoritm modul arifmetikasining darajaga ko‘tarish
amalidan
foydalanishga asoslangan. Algoritmni quyidagi qadamlar ketma-ket-
ligi 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 fimksiyasi hisob
lanadi:
f(p,q)=(p-l)(q-l).
Listing (S++ dasturlash tilida).
printf("Ikkitatubsonnikiriting\t: ");
scanf("%d%d", &p, &q);
n =p*q;
phi= (p-l)*(q-l);
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 bu-
tun musbat sonlar sonini ko‘rsatadi. 0 ‘zaro tub sonlar deganda 1
261
dan boshqa birorta umumiy bo‘luvchisiga ega bo‘lmagan
sonlar tu-
shuniladi.
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:
e d=l(modf(p,q)).
Bu
shartga binoan
e d
ko‘paytmaning
f(p,q)
funksiyaga bo‘-
lishdan qolgan qoldiq lga teng. e soni ochiq kalitning ikkinchi tash-
kil etuvchisi sifatida qabul qilinadi.
Maxfiy kalit sifatida
d
va
Dostları ilə paylaş: