8-LABORATORIYA MASHG’ULOT MAVZU: RSA elektron raqamli imzo shifrlash
algorimlarini o‘rganish
Laboratori ishi «RSA.exe» programmasi yordamida bajariladi.
Laboratoriya ishi topshirig’i
1. «RSA.exe»programmasining tafsiloti.
2. «RSA.exe» da shifrlash jarayoni.
3. «RSA.exe» da deshifrlash jarayoni.
4. «RSA.exe»programmasi yordamida testdan o’ting. Testlash natijalari va hisoblashlar bo’yicha
hisobotlarni o’qituvchiga ko’rsating.
1. «RSA.exe» programmasining tafsiloti
Ushbu berilgan programma RSA kriptosistema imkoniyatlarini namoyish qilish uchun mo’ljallangan. U
kalitlarni generasiya qilish, foydalanuvchi tomonidan kiritilgan xabarni shifrlashni amalga oshirish,
foydalanuvchi tomonidan kiritilgan kriptogrammani deshifrlashni amalga oshirishga imkon beradi.
Programma ushbu laboratoriya ishini bajarishga adaptasiya qilingan, shu sababli bajarilgan ishlar
natijasi to’g’risida avtomatik tarzda hisobotni shaklantirish mumkin. Programmani ishlashi uchun zarur
bo’lgan minimal talablar:
Microsoft Windows 98 va undan yuqori.
Prosessor Pentium II;
16 Mbayt OZU;
SVGA – videokarta;
MS Windows uchun sichqoncha;
3 Mbayt diskda bo’sh joy.
183
1 rasm. «Generasiya klyuchey» oynasi
Dastavval foydalanuvchi klaviaturadan «P» va «Q» deb nomlanuvchi maydonlarni to’ldirishi lozim. Bu
yerga foydalanuvchi tomonidan tanlangan P va Q sonlarning qiymatlari kiritiladi. Ushbu sonlarni tanlash
uchun foydalanuvchi «Prostыye chisla» tugmasini bosib tub sonlar jadvalini ko’rib chiqishi mumkin.
Jadvalda 3-dan 109987-gacha bo’lgan diapazondagi tub sonlar keltirilgan. P va Q sonlarni tanlab mos
maydonlarga kiritilgandan so’ng, foydalanuvchi N i
(N) sonlarni hisoblashi lozim. Foydalanuvchi uni
qo’lda yoki programma yordamida «Raschet» tugmasini bosib hisoblashi mumkin va hosil qilgan
qiymatlarni ularga ajratilgan maydonlarga kiritishi mumkin. Ushbu parametrlarni avtomatik hisoblash
bilan qatorda P va Q sonlarni to’g’ri tanlanganligi ham tekshiriladi. Agar sonlar talabga javob bermasa,
unda programma xato haqida xabar beradi va N hamda
(N) qiymatlarni hisoblashni to’xtatadi. Bunda
noto’g’ri qiymat qizil rang bilna ajratiladi. 2 rasmda noto’g’ri kiritilgan son misoli ketirilgan.
2 rasm. Noto’g’ri kiritilgan Q soniga misol
184
N va
(N) sonlarni hisoblashdan so’ng foydalanuvchi shifrlash eksponentasi qiymatini tanlashi lozim
va uni «E» programmasi oynasining mos maydoniga kiritishi kerak. Bundan keyin D - deshifrlash
eksponentasi qiymatini hisoblash zarur. Uni ham qo’lda yoki avtomatik programmada hisoblash
mumkin. D parametri qiymatini avtomatik hisoblash uchun «Raschet» tugmasini bosish lozim. Bunda E
sonini to’g’ri kiritlganligi tekshiriladi. Agarda u noto’g’ri kiritilgan bo’lsa, programma xatolik
to’g’risida xabar beradi va noto’g’ri qiymatni qizil rang bilan ajratiladi. Barcha parametrlar topilgandan
so’ng, «Proverka» tugmasini bosib, ularni to’g’ri hisoblanganligini tekshirish mumkin. Agarda
parametrlardan ba’zilari noto’g’ri hisoblangan yoki noto’g’ri tanlangan bo’lsa, unda programma xatolik
to’g’risida xabar beradi va barcha noto’g’ri qimatlarni qizil rang bilan ajratadi. Agarda tekshirish
jarayonida xatoliklar aniqlanmagan bo’lsa, programma hisoblash to’g’ri amalga oshirganligi to’g’risida
xabar beradi. Barcha parametrlarni hisoblagandan so’ng, ochiq va maxfiy kalitlarni hisoblangan
qiymatlarini programma oynasining pastgi qismida shu maqsadda maxsus ajratilgan maydonlarga kirtish
lozim. Kelajakda shifrlash va deshifrlash uchun ushbu bosqichda hosil qilingan kalitlarni avtomatik
yuklash maqsadida buni albatta qilish kerak. Ochiq va maxfiy kalitlarni to’g’ri kiritilganligini
«Proverka» tugmasini bosib tekshirish mumkin. Bu holatda, agar kalitlarni kiritish maydonlari
to’ldirilgan bo’lsa, programma parametrlarni hisoblash to’g’riligini tekshirgandan keyin kalitlarni to’g’ri
kiritilganligini ham tekshiradi vam os xabarni chiqaradi. Ochiq kalitni faylda saqlash mumkin. Shu
maqsadda «Soxranit v fayl» tugmasini bosish zarur. Ochilgan oynada saqlangan faylning nom iva joyi
kiritiladi. Ochiq kalit «*.key» kengaytmali faylda saqlanadi.
3 rasm. Kalitlarni generasiya qilish misoli
2. Shifrlash
Xabarni shifrlash uchun «Shifrovaniye» bandiga o’ting.
Oynaning tashqi ko’rinishi 4 rasmda keltirilgan.
185
4 rasm. «Shifrovaniye» oynasi
Shifrlanadigan xabar foydalanuvchi tomonidan klaviatura yordamida matnli maydonning yuqori
qismiga kiritiladi. Xabarni sonli shaklda ifodalash uchun «Predstavit soobщyeniye v chislovom vide»
tugmasini bosish kerak. Bunda kiritilgan xabarga mos son matnli maydonnig pastgi qismiga kiritiladi.
Bu programmada matnni songa o’girishning qo’yidagi prinsipidan foydalangan. Har bir belgi uchxonali
o’nli son orqali ifodalanadi. Belgiga mos uchxonali son ushbu belgining ASCII kodidan iborat bo’ladi.
ASCII kodlari 100 dan kichkina bo’lgan belgilar uchun shifrlash va deshifrlashda vujudga keladigan
nomutanosiblikni (bir qiymatli emasligi) yo’qotish maqsadida ASCII kodlariga 256 sonini qo’shib
qo’yishadi. Shunday qilib mumkin bo’lgan belgilar diapazoni uchun unikal bo’lgan uch xonali sonlar
ta’minlanadi. Mumkin bo’lgan belgilar qiymatlari va ularga mos sonlar 1 jadvalda keltirilgan.
1 jadval
Belgi
Son
Belgi Son
Belgi
Son
Belgi
Son
probel
288
H
328
p
112
Щ
217
!
289
I
329
q
113
‘
218
“
290
J
330
r
114
Ы
219
#
291
K
331
s
115
220
$
292
L
332
t
116
E
221
%
293
M
333
u
117
Yu
222
&
294
N
334
v
118
Ya
223
‘
295
O
335
w
119
a
224
(
296
P
336
x
120
b
225
)
297
Q
337
y
121
v
226
*
298
R
338
z
122
g
227
+
299
S
339
{
123
d
228
,
300
T
340
|
124
ye
229
-
301
U
341
}
125
j
230
.
302
V
342
~
126
z
231
/
303
W
343
A
192
i
232
0
304
X
344
B
193
y
233
1
305
Y
345
V
194
k
234
2
306
Z
346
G
195
l
235
3
307
[
347
D
196
m
236
4
308
\
348
Ye
197
n
237
186
5
309
]
349
J
198
o
238
6
310
^
350
Z
199
p
239
7
311
_
351
I
200
r
240
8
312
`
352
Y
201
s
241
9
313
a
353
K
202
t
242
:
314
b
354
L
203
u
243
;
315
c
355
M
204
f
244
<
316
d
100
N
205
x
245
=
317
e
101
O
206
s
246
>
318
f
102
P
207
ch
247
?
319
g
103
R
208
sh
248
@
320
h
104
S
209
щ
249
A
321
i
105
T
210
‘
250
B
322
j
106
U
211
ы
251
C
323
k
107
F
212
252
D
324
l
108
X
213
e
253
E
325
m
109
S
214
yu
254
F
326
n
110
Ch
215
ya
255
G
327
o
111
Sh
216
Xabarni ikkita usul bilan bloklarga bo’lish mumkin: qo’lda va avtomatik. Ushbu rejimlarning biridan
ikkinchisiga o’tish «Vыbrat sposob razbiyeniya» tugmasini bosish orqali amalga oshiriladi. Bunda
tashqi ko’rinishi 5 rasmda keltirilgan oyna ochiladi. Avtomatik bloklarga bo’lish rejimini tanlaganda
blok uzunligini kiritish lozim. U o’nli xonalarda kiritiladi. Bloklarga ajratish usulini tanlagandan so’ng,
«Razbit soobщyeniye na bloki» tugmasini bosish kerak. Avtomatik ajratish usulida xabar birdaniga
ko’rsatilgan uzunlikdagi bloklarga ajratiladi. Oxirgi blok to talab qilingan o’lchovga yetguncha nullar
bilan to’ldiriladi. Bloklar probellar bilan ajratiladi. Qo’lda ajratish rejimida «Razbit soobщyeniye na
bloki» tugmani bosganda foydalanuvchining o’ziga blok chegaralarini ko’satish imkoni beriladi. Bu
uchun blok chegarasiga sichqonchani olib borib chap tugmasini bosish kerak. O’rnatilgan chegarani olib
tashlash uchun chegaraga sichqonchani olib borib chap tugmasini takroran bosish kerak. Barcha
bloklarning chegaralarini o’rnatgandan keyin «Razbit soobщyeniye na bloki» tugmasini takroran bosish
lozim va programma oddiy rejimga qaytadi. «Sbrosit granisы blokov» tugmasini bosish orqali barcha
bloklarning chegaralarini olib tashlash mumkin, bunda xabar yana bitta katta son ko’rinishida
ifodalanadi.
5 rasm. «Vыbor sposoba razbiyeniya soobщyeniya na bloki» oynasi
Shifrlashdan oldin ochiq kalitni kiritish zarur. U oynaning yuqori o’ng burchagida joylashgan mos
maydonlarga kiritiladi. Ochiq kalitni kiritishning uchta usuli mavjud. Birinchidan uni klaviaturadan
187
qo’lda kiritish mumkin. Ikkinchidan ochiq kalitni programmadan yuklash mumkin, agar u oldindan
generasiya qilinib, natijasi «Generasiya klyuchey» bandida joylashgan bo’lsa. Bu holatda «Iz
programmы» tugmasini bosish zarur. Agar ochiq kalit boshqa foydalanuvchidan fayl shaklida olingan
bo’lsa, unda «Iz fayla» tugmasini bosish orqali uni yuklaщ mumkin. Dastlabki xabarni kiritib, uni sonli
ko’rinishda ifodalab va bloklarga ajratib, ochiq kalit kiritilgandan so’ng shifrlashga o’tish mumkin.
«Zashifrovat» tugmasini bosish lozim. Bunda xabarni bloklarga bo’lish to’g’riligi tekshiriladi. Agar
hamma ish to’gri amalga oshirilgan bo’lsa, unda shifrlangan matn pastgi matn maydoniga joylashtiriladi.
Shifrlangan matn shifrmatn bloklarining ketma-ketligidan iborat. Hosil qilingan kriptogrammani faylda
saqlash mumkin. Bu uchun «Soxranit shifrtekst v fayl» tugmasini bosish lozim.
6 rasm. Xabarni shifrlash misoli
3. Deshifrlash
Deshifrlash uchun navbatdagi bandga o’tish lozim. Deshifrlash oynasining tashqi ko’rinishi 7 rasmda
keltirilgan.
7 rasm. «Deshifrovaniye» oynasi
Shifrogramma yuqoridagi matn oynasiga kiritiladi. Shifrogrammani fayldan yuklash uchun «Zagruzit
shifrogrammu iz fayla» tugmasini bosish lozim. Shundan so’ng blok uzunligini o’rnatish lozim. Agarda
shifrlashda bloklarga bo’lish qo’lda amalga oshirilgan bo’lsa, unda blok uzunligini ixtiyoriy qilib tanlash
188
lozim. Agarda shifrlashda bloklarga bo’lish avtomatik usulda amalga oshirilgan bo’lsa, unda blok
uzunligini fiksirlangan qilib tanlash lozim. Bunda blok uzunligini o’nli xonalarda va dastlabki xabar
uzuniligini ko’rsatish lozim. Shifrogrammani saqlashda fayl boshida dastlabki xabar uzunligi yoziladi.
Shu sababli shifrogrammani fayldan yuklashda dastlabki xabar uzunligi avtomatik tarzda to’ldiriladi.
Deshifrlashni boshlashdan oldin deshifrlashni amalga oshiradigan maxfiy kalitni yuklash lozim. Kalitni
klaviaturadan qo’lda kiritilishi yoki programmadagi «Generasiya klyuchey» bandidan yuklash mumkin.
Bu uchun «Zagruzit» tugmasini bosish lozim.
Barcha tayyorgarlik ishlari amalga oshirilgandan so’ng «Rasshifrovat» tugmasini bosish lozim. Bunda
pastdagi matn oynasida dastlabki xabar sonli ko’rinishda paydo bo’ladi. Xabarni matn ko’rinishda hosil
qilish uchun «Predstavit v tekstovom vide» tugmasini bosish lozim.
8 rasm. Xabarni deshifrlash misoli
Ishni yakunlab «Sozdat otchet» tugmasini bosib hisobot yarating.
Misol. so‘zini shifrlash va dеshifrlash qilish talab etilsin. Dastlabki so‘zni shifrlash
uchun quyidagi qadamlarni bajarish lozim.
1-qadam. p=3 va q=11 tanlab olinadi.
2-qadam.
33
11
3
n
hisoblanadi.
3-qadam. Eylеr funktsiyasi aniqlanadi.
20
)
1
11
(
)
1
3
(
)
,
(
Do'stlaringiz bilan baham: |