2-amaliy ish. Klassik shifrlash algoritmlarini ishlash tartibini o‘rganish. Sezar Usuli Цезар усулида алмаштирувчи харфлар k ва силжиш билан аниқланади. Юлий Цезар бевосита k = 3 бўлганда ушбу усулдан фойдаланган.
k = 3 бўлганда ва алифбодаги ҳарфлар m = 26 та бўлганда қуйидаги жалвал ҳосил қилинади:
A
→
D
B
→
E
C
→
F
D
→
G
E
→
H
F
→
I
G
→
J
H
→
K
I
→
L
J
→
M
K
→
N
L
→
O
M
→
P
N
→
Q
O
→
R
P
→
S
Q
→
T
R
→
U
S
→
V
T
→
W
U
→
X
V
→
Y
W
→
Z
X
→
A
Y
→
B
Z
→
C
Мисол.
Матн сифатида KOMPYUTER сўзини оладиган бўлсак, Цезар усули натижасида қуйидаги шифрланган ёзув ҳосил бўлади: NRPSBXWHU. Цезар усулининг камчилиги бу бир хил ҳарфларнинг ўз навбатида, бир хил ҳарфларга алмашишидир.
O’rin almashtirish usuli Eng sodda jadvalli shifrlashda asosan uzatiladigan ma`lumotning harflari juda sodda holda o`rin almashgan. Bu usulning kaliti jadval o`lchovi bilan aniqlangan. Bu usul skitala usuliga juda o`xshash. Masalan, T0 = УСМАНБАЕВ ДОНИЁРБЕК degan ma`lumot jadvalga ustun bo`yicha yoziladi. To’rtta qator va beshta ustundan iborat jadvalga ma`lumot quyidagicha yoziladi
У
Н
В
Н
Б
С
Б
_
И
Е
М
А
Д
Ё
К
А
Е
О
Р
*
Endi esa qator bo’yicha o’qib olinadi, so’ngra shifrlangan matn tayyor.
T1 = УНВНБСБ_ИЕМАДЁКАЕОР*;
Deshifrlashda,esa kalit k=4*5; matritsa o’lchamiga teng bo’ladi va bunda qator bo’yicha yozilib ustun bo’yicha o’qiladi.
VERNAM USULI Vernam usuli bo’yicha shifrlashda Ingliz alifbosi va yana 6 ta simvol jami 32 ta belgini tartiblab raqamlaymiz va 0 va 1 lik kodlarga o’girib chiqamiz. Keyinchalik xor amali orqali belgilarni yig’indisini olamiz. Qo’shiluvchilar esa shifrlanuvchi ma’lumot va kalitdir.
A=0=00000 N=13=01101 #=26=11010
B=1=00001 O=14=01110 !=27=11011
C=2=00010 P=15=01111 _=28=11100
D=3=00011 Q=16=10000 @=29=11101
E=4=00100 R=17=10001 ?=30=11110
F=5=00101 S=18=10010 *=31=11111
G=6=00110 T=19=10011 XOR jadvali
H=7=00111 U=20=10100 0+0=0
I=8=01000 V=21=10101 0+1=1
J=9=01001 W=22=10110 1+0=1
K=10=01010 X=23=10111 1+1=0
L=11=01011 Y=24=11000 Formulasi:
M=12=01100 Z=25=11001 T1=T0+K
T0 = USMANBAYEV_DONIYORBEK_SHUHRATOVICH
K = TALABA
Qo’shish jarayoni :
U 10100 S 10010 M 01100 A 00000
+ + + +
T 10011 A 00000 L 01011 A 00000
= = = =
H 00111 S 10010 H 00111 A 00000
Shu tariqa davom ettirsak quyidagich shifrlanadi :
T1 = HSHAMBTYPV@D@NDYPRSEB_THHH#ASOGIJH
Shu yo’l bilan orqaga qaytiladi ya’ni tayyor ma’lumotga kalit qo’shiladi va shifrlangan ma’lumot qaytarib olinadi.
RSA алгоритми Алгоритм модуль арифметикасининг даражага кўтариш амалидан фойдаланишга асосланган. Алгоритмни қуйидаги қадамлар кетма-кетлиги кўринишида ифодалаш мумкин.
1-қадам. Иккита 200дан катта бўлган туб сон p ва q танланади.
2-қадам. Калитнинг очиқ ташкил этувчиси n ҳосил қилинади
n=pq.
3-қадам. Қуйидаги формула бўйича Эйлер функцияси ҳисобланади:
f(p,q)=(p-1)(q-1).
Эйлер функцияси n билан ўзаро туб, 1 дан n гача бўлган бутун мусбат сонлар сонини кўрсатади. Ўзаро туб сонлар деганда 1 дан бошқа бирорта умумий бўлувчисига эга бўлмаган сонлар тушунилади.
4-қадам.f(p,q) қиймати билан ўзаро туб бўлган катта туб сон e танлаб олинади.
5-қадам. Қуйидаги шартни қаноатлантирувчи е сони аниқланади
ed=1(modf(p,q)) .
Бу шартга биноан кўпайтманинг f(p,q) функцияга бўлишдан қолган қолдиқ 1га тенг. е сони очиқ калитнинг иккинчи ташкил этувчиси сифатида қабул қилинади. Махфий калит сифатида d ва n сонлари ишлатилади.
6-қадам. Дастлабки ахборот унинг физик табиатидан қатъий назар рақамли иккили кўринишда ифодаланади. Битлар кетма-кетлиги L бит узунликдаги блокларга ажратилади, бу ерда L - L log2(n+1) шартини қаноатлантирувчи энг кичик бутун сон. Ҳар бир блок [0, n-1] оралиқка тааллуқли бутун мусбат сон каби кўрилади. Шундай қилиб, дастлабки ахборот Х(i), i= сонларнинг кетма-кетлиги орқали ифодаланади. i нинг қиймати шифрланувчи кетма-кетликнинг узунлиги орқали аниқланади.
7-қадам. Шифрланган ахборот қуйидаги формула бўйича аниқланувчи Y(i) сонларнинг кетма-кетлиги кўринишида олинади:
Ахборотни расшифровка қилишда қуйидаги муносабатдан фойдаланилади:
Х(i)=(Y(i))d(modn). Мисол.<ГA3> сўзини шифрлаш ва расшифровка қилиш талаб этилсин. Дастлабки сўзни шифрлаш учун қуйидаги қадамларни бажариш лозим.
1-қадам. p=3 ва q=11 танлаб олинади.
2-қадам. ҳисобланади.
3-қадам. Эйлер функцияси аниқланади.
4-қадам. Ўзаро туб сон сифатида e=7 сони танлаб олинади.
5-қадам. шартини қаноатлантирувчи d сони танланади.
(f*1+1)/e= хақиқий сон
20*1+1/7=3
d=3 6-қадам. Дастлабки сўзнинг алфавитдаги харфлар тартиб рақами кетма-кетлигига мос сон эквиваленти аниқланади. А харфига -1, Г харфига-4, З харфига -9. Ўзбек алфавитида 36та харф ишлатилиши сабабли иккили кодда ифодалаш учун 6 та иккили хона керак бўлади. Дастлабки ахборот иккилик кодда қуйидаги кўринишга эга бўлади:
000100 000001 001001.
Блок узунлиги бутун сонлар ичидан шартини қаноатлантирувчи минималь сон сифатида аниқланади. =33 бўлганлиги сабабли =6.
Демак, дастлабки матн кетма-кетлик кўринишида ифодаланади.
7-қадам. кетма-кетлиги очиқ калит {7,33} ёрдамида шифрланади:
Y(1)=(47)(mod 33)=16384(mod 33)=16
Y(2)=(17)(mod 33)=1(mod 33)=1
Y(1)=(97)(mod 33)=4782969(mod 33)=15
Шифрланган сўз Y(i)=<16,1,15>
Шифрланган сўзни расшифровка қилиш махфий калит {3,33} ёрдамида бажарилади.:
Y(1)=(163)(mod 33)=4096(mod 33)=4
Y(1)=(13)(mod 33)=1(mod 33)=1
Y(1)=(153)(mod 33)=3375(mod 33)=9
Дастлабки сон кетма-кетлиги расшифровка қилинган X(i)=<4,1,9> кўринишида дастлабки матн <ГАЗ> билан алмаштирилади.
Келтирилган мисолда ҳисоблашларнинг соддалигини таъминлаш мақсадида мумкин бўлган кичик сонлардан фойдаланилди.
Vazifa: Har bir talaba ushbu usullar orqali o’z ism va familyasini shifrlash va deshifrlash jarayonini amalga oshirsin.