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
L
bit uzunlikdagi bloklarga ajratiladi,
bu erda
L
–
L
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);
}
Dostları ilə paylaş: