Topshiriqlar.
Quyidagi amallarni hisoblang.
22 mod7 5. 140mod10
-78mod13 6. 0 mod15
138 mod26 7. 27 mod26
2785 mod256 8. 250mod256
Modul 20, 15 va 19 bo‘yicha barcha multiplikativ teskari sonlar juftligini hisoblang.
Modul 20, 15 va 19 bo‘yicha barcha additiv teskari sonlar juftligini hisoblang.
Yevklid algoritmi yordamida 39 modul bo‘yicha quyidagi sonlarga teskari sonni toping.
Ixtiyoriy dasturlash tilida sonning teskarisini topish algoritmi dasturini tuzing.
5-amaliy mashg’ulot
Mavzu: Bir qiymatli o‘rniga qo‘yishga asoslangan shifrlar tahlili. Sezar shifri va uning dasturi
Ishdan maqsad: Sezar shifrlash usullari haqida amaliy bilim va ko‘nikmalarga ega bo‘lish.
Sezar usuli. Sezar shifri oddiy siljitish shifrining bir qismi hisoblanadi. Bu shifrni rimlik imperator Gole Yuliy Sezar o‘ylab topgan. Shifrlashda matnning har bir harfi boshqa harf bilan quyidagi qoida asosida almashtiriladi. Harflarni almashtirishda kelayotgan yozuv harflarini k-ga siljitib almashtiriladi. Bu erda M – butun son hisoblanib, ochiq matni belgisini biror alfavitdagi o‘rni, S – butun son bo‘lib, shifr belgini biror alfavitdagi o‘rni. C=(M+k)modm, m - alfavit uzunligi.
Sezar usulining kamchiligi bu bir xil harflarning o‘z navbatida, bir xil harflarga almashishidir.
Masalan, matn sifatida T0=COMPUTER so‘zini va K=3 deb oladigan bo‘lsak quyidagi amallarni amalga oshiramiz.
Lotin alfaviti foydalanilganda u quyidagicha raqamlanadi:
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
T
|
U
|
V
|
W
|
X
|
Y
|
Z
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
16
|
17
|
18
|
19
|
20
|
21
|
22
|
23
|
24
|
25
|
Yuqoridagi jadvalga asoslanib quyidagini olish mumkin:
Xabar
|
|
|
|
|
|
|
|
|
|
2
|
14
|
12
|
15
|
20
|
19
|
4
|
17
|
Shifrlash amalini ifodasiga asosan hisoblaymiz. Umumiy jadvalda ifodalasak, quyidagicha bo‘ladi.
Xabar
|
|
|
|
|
|
|
|
|
|
2
|
14
|
12
|
15
|
20
|
19
|
4
|
17
|
|
5
|
17
|
15
|
18
|
23
|
22
|
7
|
20
|
Shifrmatn
|
F
|
R
|
P
|
S
|
X
|
W
|
H
|
U
|
Hisoblash amallarini bajargandan so‘ng shifrmatn ga teng bo‘ladi. Ushbu jarayonni amalga oshirishda amali ya’ni modul arifmetikasiga e’tibor berish kerak. Qaysi alifbodan foydalanishga qarab, modulni uni miqdorida o‘rnatib olish kerak.
Sezar kriptografik algoritmida ma’lumotlarni deshifrlash.
Deshifrlash jarayonida huddi shifrlash jarayoniga o‘xshash faqat ayrish amali bajariladi.
Alfabit jadvaliga asoslanib quyidagini olish mumkin:
Xabar
|
|
|
|
|
|
|
|
|
|
5
|
17
|
15
|
18
|
23
|
22
|
7
|
20
|
Shifrlash amalini ifodasiga asosan hisoblaymiz. Umumiy jadvalda ifodalasak, quyidagicha bo‘ladi.
Xabar
|
|
|
|
|
|
|
|
|
|
5
|
17
|
15
|
18
|
23
|
22
|
7
|
20
|
|
2
|
14
|
12
|
15
|
20
|
19
|
4
|
17
|
Shifrmatn
|
|
|
|
|
|
|
|
|
Ushbu jarayonni ham amalga oshirishda amali ya’ni modul arifmetikasiga e’tibor berish kerak. Qaysi alifbodan foydalanishga qarab, modulni uni miqdorida o‘rnatib olish kerak. Agar modul manfiy bo‘lib qolsa, quyidagi ifoda yordamida hisoblash kerak.
Sezar kriptografik algoritmining dasturiy ta’minoti
Algoritm dasturini tuzishda Visual C# dasturlash muhitidan foydalanildi. Jarayon aniqroq bo‘lishi uchun dastur forma ko‘rinishida ifodalandi. Quyida dastur bilan tanishib chiqamiz.
Dastlab masalaga mos forma yaratib olamiz:
VisualStudio 2013 dasturini ishga tushiramiz va Visual C# dasturlash tilini forma oynasini tanlaymiz.
Bunda uskunalar panelidan Button, label, textbox, kabi tugma va uskunalarni olib formaga joylaymiz.
10-rasm. Dasturning ishchi oynasi
Ushbu oynada Key bo‘limida shifrlash va deshifrlash uchun kalit kiritiladi, Plaintext qismiga ochiq matn kiritiladi, Cyphertext qismida esa shifrmatn aks etadi.
Dasturni ishchi kodlarini asosan Encrypting va Descrypting tugmalarini orqali ikki marta chertish orqali hosil bo‘lgan oynalarga kiritiladi.
11-rasm. Dasturning kod kiritish oynasi
Kod kiritilgandan so‘ng, dasturni kompilyatsiya qilib, ishga tushiramiz.
“Axborot” so‘zini 3 kalit bilan shifrlaymiz.
Endi esa deshifrlash jarayonini amalga oshiramiz.
Natijada dasturimizda ma’lumot shifrlandi va deshifrlandi.
Ishni bajarilish tartibi va qo‘yilgan vazifa
Asosiy matn shifrlash usullaridan birida shifrlansin va qadamma – qadam izohlansin. Shuningdek Delpi, Java, S++ va C# dasturlash tizimlaridan birida dasturiy ta’minot yaratilsin.
Hisobot tarkibi
Hisobot quyidagi ma’lumotlardan tarkib topgan bo‘lishi lozim:
Nazariy qismda keltirilgan algoritmning dasturiy ta’minotidan foydalanish jarayonidagi olingan rasmlar va undan foydalanish uchun izoh.
6- amaliy mashg’ulot
Mavzu: Affin Sezar shifrlash algoritmi va uning dasturi
Affin kriptotizimlari. Affin kripototizimlari keng tarqalmagan o‘rniga qo‘yish usullari sanalib, bir alfavitli shifrlash usullariga kiradi. Bu tizimlarga affin tizimidagi Sezar usuli, ROT13 va Atbash usullari kiradi.
Affin tizimidagi Sezar usulida har bir harfga almashtiriluvchi harflar maxsus formula bo‘yicha aniqlanadi: E(x)=ax+b (modm), bu yerda a, b - butun sonlar bo‘lib, kalitlar hisoblanadi, 0≤a, bm – alfavit uzunligi.
Deshifrlash jarayoni quyidagi formula asosida amalga oshiriladi: . Bu yerda a-1 modm bo‘yicha a ga teskari bo‘lgan son.
Lotin alfaviti foydalanilganda u quyidagicha raqamlanadi:
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
T
|
U
|
V
|
W
|
X
|
Y
|
Z
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
16
|
17
|
18
|
19
|
20
|
21
|
22
|
23
|
24
|
25
|
Shifrlash. Ushbu usulda ma’lumotlarni shifrlash uchun “ATTACK AT DAWN” ochiq matni olinib, kalit sifatida a=3 va b=4 olindi. Alfavit uzunligi m=26 ga teng. Bu holda shifrlash funksifsining umumiy ko‘rinishi quyidagicha bo‘ladi: . Yuqoridagi jadvalga asoslanib quyidagini olish mumkin:
Xabar
|
A
|
T
|
T
|
A
|
C
|
K
|
A
|
T
|
D
|
A
|
W
|
N
|
|
0
|
19
|
19
|
0
|
2
|
10
|
0
|
19
|
3
|
0
|
22
|
13
|
Shifrlashning umumiy ko‘rinishi esa quyidagicha bo‘ladi:
Xabar
|
A
|
T
|
T
|
A
|
C
|
K
|
A
|
T
|
D
|
A
|
W
|
N
|
x
|
0
|
19
|
19
|
0
|
2
|
10
|
0
|
19
|
3
|
0
|
22
|
13
|
3x+4
|
4
|
61
|
61
|
4
|
10
|
34
|
4
|
61
|
13
|
4
|
70
|
43
|
(3x+4)mod26
|
4
|
9
|
9
|
4
|
10
|
8
|
4
|
9
|
13
|
4
|
18
|
17
|
Shifr matn
|
E
|
J
|
J
|
E
|
K
|
I
|
E
|
J
|
N
|
E
|
S
|
R
|
Deshifrlash jarayoni. Deshifrlash formulasi ga teng bo‘lib, , b=4 va m=26 ga teng bo‘ladi.
Shifr matn
|
E
|
J
|
J
|
E
|
K
|
I
|
E
|
J
|
N
|
E
|
S
|
R
|
|
4
|
9
|
9
|
4
|
10
|
8
|
4
|
9
|
13
|
4
|
18
|
17
|
Deshifrlashning umumiy ko‘rinishi esa :
Shifrmatn
|
E
|
J
|
J
|
E
|
K
|
I
|
E
|
J
|
N
|
E
|
S
|
R
|
y
|
4
|
9
|
9
|
4
|
10
|
8
|
4
|
9
|
13
|
4
|
18
|
17
|
9(y-4)
|
0
|
45
|
45
|
0
|
54
|
36
|
0
|
45
|
81
|
0
|
126
|
117
|
9(y-4)mod26
|
0
|
19
|
19
|
0
|
2
|
10
|
0
|
19
|
3
|
0
|
22
|
13
|
Xabar
|
A
|
T
|
T
|
A
|
C
|
K
|
A
|
T
|
D
|
A
|
W
|
N
|
Olingan alfavitdagi barcha belgilarni shifrlash natijasi quyidagiga teng bo‘ladi.
Do'stlaringiz bilan baham: |