Kriptografik usullar



Yüklə 11,99 Mb.
səhifə21/30
tarix24.10.2023
ölçüsü11,99 Mb.
#160892
1   ...   17   18   19   20   21   22   23   24   ...   30
Kriptografik usullar

Amaliy mashg’ulot № 9
Mavzu:Ryukzak algoritmi yordamida shifrlash.
1. Ryukzak masalasi qo’yilishi. Ruykzak masalasi mohiyati quyidagicha: Har xil m1, m2, m3,...,mn og’irlikdagi n ta obyekt(jism, modda, narsa ) bor. Ularni ichidan bir nechtasini tanlab ryukzakka solamiz. Ryukzakka solingan obyektlar umumiy og’irligi oldindan aniqlangan S ga teng. Agar S mavjud bo’lsa, u ryukzak masalasini yechimi deyiladi.
Masalani matematik formula orqali quyidagich ifodalaymiz:
S = b1*m1+ b2*m2+ b1*m3+...+ bn *mn , bu yerda, bi qiymati 1 ga teng, agarda mi obyekt ryukzakka solingan bo’lsa, o ga teng bo’ladi, agarda u ryukzakka solinmagan bo’lsa.
1-Misol. Obyekt og’irliklari 1,5,6,11,14 va 20 ga teng bo’lsin. Agar ruyzak sig’imi 22 ga teng bo’lsa, unga o’g’irliklari 5,6 va 11 ga teng uchta obyektni solish mumkin. Lekin ryukzak sig’imi 24 teng bo’lsa, u holda umumiy o’girliklari 24 ga teng obyektlar to’plami mavjud emas.




1-variant

2-variant

3-variant

Ochiq matn

1

1

1

0

0

1

0

1

0

1

1

0

0

1

1

0

0

0

Ryukzak

1

5

6

11

14

20

1

5

6

11

14

20

1

5

6

11

14

20

Shifrlangan matn

1+5+6+20=32

5+11+14=30

5+6=11

1-jadval
Jadvaldan ko’rinib turibdiki, obyektlar soni qancha ko’p bo’lsa, variantlar soni shuncha ko’p bo’ladi.
Ta`rif-1. Ryukzak vektori deb n (n  3) ta tartiblangan natural sonlardan tashkil topgan A = (a1,...,an) vektorga aytiladi.
Ta`rif-2. Ryukzak masalasining boshlang’ich ma`lumotlari deb (A, ) juftlikka aytiladi. Bu erda A - ryukzak vektori, - natural son. (A, ) ma`lumotlar uchun ryukzak masalasining yechimi deb A ning shunday qism to`plamiga aytiladiki, uning elementlari yig’indisi  ga teng bo`ladi. Bu yig’indida A ning har bir elementi faqat bir marta ishtirok etadi.
A ryukzak vektoridan faqat ikkilik sanoq sistemasidagi sonlardan tashkil topgan S matn blogini shifrlash uchun foydalaniladi. Unda S ning bir soniga A vektorning mos o`rinlarida turgan elementlari yig’indisi olinadi. Agar bu yig’indini  bilan belgilasak, ryukzak masalasi A dan foydalanib  ni, yoki  dan foydalanib A topish masalasiga keladi.
Misol-2. n=10 bo`lsin. Quyidagi tez o`suvchan vektorni ko`raylik:
A = (103, 107, 211, 430, 863, 1718, 3449, 6907, 13807, 27610) .
A ning komponentalari umumiy yig’indisi S=103+107+211+430+863+1718+3449+6907+ +13807+27610=55205 dan 2 birlikka katta bo`lgan m=55207 modulini olaylik. Shuningdek, t=25236 ko`paytuvchini shunday tanlaymizki, (t, m)=1 bo’lsin. Haqiqatdan ham, 1061 * 25236 - 1 = 485 * 55207. Bu ifodadan u = 1061 .
Kuchli modul bo`yicha ko`paytirish natijasida quyidagi vektorga ega bo`lamiz: t*ai = bi +ci *m, bu yerda i=1,2,..10. B=(4579, 50316, 24924, 30908, 27110,17953, 32732,16553, 22075, 53620) .
Masalan,
25236  103 = 4579 + 47  55207 va 1061  4579 = 103 + 88  55207 ,
25236  1718 = 17953 + 785  55207 va 1061  17953 = 1718 + 345  55207 ,
2523627610 = 53620 + 1262055207 va 1061  53620 = 27610+103055207.
B vektor shifrlashning ochiq kaliti hisoblanadi. A, t, u va m lar esa maxfiy kalitni tashkil qiladi. Albatta, m va t larni bilgan kishi qolgan miqdorlarni ham hisoblab topishi mumkin.
Ochiq B kalitdan foydalanib, “BITIRUV MALAKAVIY ISHI HIMOYASI” matnini shifrlaymiz. Buning uchun matnni raqamlar yordamida kodlab olamiz. Unda “bo`sh joy” belgisi - 0, qolgan harflar esa lotin alifbesida turgan o`rniga qarab, 1-26 bo`lgan qiymatlarni oladi. Raqamli kodlarni ikkilik sanoq sistemasida ifodalaymiz. Bunda 1-misol uchun yozilgan jadvaldan foydalanamiz.
B vektor uzunligi 10 ga teng bo`lgan ikkitalik bloklarni shifrlashga mo`ljallangani uchun biz matnni ikkitadan harfli bloklarga ajratamiz. Quyidagi jadvalda ana shu bloklar, ularning ikkilik sanoq sistemaisdagi ifodasi va blokning 10 lik sanoq sistemasidagi shifri keltirilgan.

BI

00010 01001

117260

Y

11001 00000

82005

TI

10100 01001

115855

IS

01001 10011

171074

RU

10010 10101

123613

HI

01000 01001

136668

V

10110 00000

60411

H

00000 01000

32732

MA

01101 00001

155970

IM

01001 01101

180331

LA

01100 00001

128860

OY

01111 11001

237563

KA

01011 00001

161954

AS

00001 10011

120758

VI

10101 01001

142965

I

01001 00000

77426

2-jadval
B vektor elementlari soni 10 ta bo’lgani uchun matn 2 harf birgalikda shifrlanadi. Agar B vektor elementlari soni 15 ta bo’lsa, matn 3 harf birgalikda shifrlanadi.
Bizning misolda, B vektor elementlari soni 10 ta bo’lgani uchun matn 2 harf birgalikda shifrlanadi. 2-jadval birinchi ustunida harflar juftligi, ikkinchi ustunida juftlikdagi har bir harfni 1-jadvalga mos 5 ta 0 va 1 bilan almashtiramiz. Uchinchi ustun esa, ikkinchi ustundagi mos 0 va 1 lar ketma ketligi va B vektor elementlari qiymatidan foydalanib hisoblaymiz. 3- ustunda berilgan matnni shifri hosil qilinadi.
Masalan, BI→00010 01001 → 0*b1+0*b2+0*b3+1*b4+ 0 *b5+ 0 *b6+ 1 *b7+ 0 *b8+ 0 *b9+ 1 *b10 =1*30908+1*32732+1*53620= 117260
Endi, shifrni ochish masalasini ko’rib chiqamiz. Buning uchun m=55207 va u=1061 lardan foydalanamiz. Birinchi sonni, ya`ni 117260 ni quyidagicha yozib olamiz: 1061 * 117260 = 2253 * 55207 + 31489 . Endi ryukzak masalasini (A, 31489) boshlang’ich ma`lumotlar uchun yechamiz. 3-jadvalni A verktorning komponentalari ustuni A vector elementlari kamayish tartibida to’ldiriladi. Qaralayotgan son ustuni birinchi satriga 31489 kiritiladi. So’ngra, bu son shu satrning A verktorning komponentalari ustunidagi 1-son 27610 bilan taqqoslanadi (31489>27610). Agar u A ning qaralayotgan komponentasidan kichik bo`lmasa, Harflar blogi kodi ustuniga mos 1-satriga 1 ni yozamiz. Endi u sonni A verktorning komponentalari ustunidagi 1-sondan ayiramiz (31489-27610=3879). Ayirma natijasini Qaralayotgan son ustuni ikkinchi satriga kiritamiz. Masalan, Qaralayotgan son ustuni 2-satridagi 3879 soni A verktorning komponentalari ustunidagi 2-satridagi 13807 dan kichik bo’lgani uchun Harflar blogi kodi ustuniga 2-satriga 0 kiritildi va A verktorning komponentalari ustunidagi 3-satriga undan yuqori satrda turgan(3879) sonni qayta kiritamiz. Ushbu amallarning natijasida quyidagi jadval hosil bo’ladi.


Yüklə 11,99 Mb.

Dostları ilə paylaş:
1   ...   17   18   19   20   21   22   23   24   ...   30




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin