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
Мисол.
Матн сифатида Dilshodbek сўзини оладиган бўлсак, Цезар усули натижасида қуйидаги шифрланган ёзув ҳосил бўлади: GLOVKRGEHN Цезар усулининг камчилиги бу бир хил ҳарфларнинг ўз навбатида, бир хил ҳарфларга алмашишидир.
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 =SAMADOV_DILSHODBEKdegan ma`lumot jadvalga ustun bo`yicha yoziladi. To’rtta qator va beshta ustundan iborat jadvalga ma`lumot quyidagicha yoziladi
S
A
V
I
H
B
A
D
_
L
O
E
M
O
D
S
D
K
Endi esa qator bo’yicha o’qib olinadi, so’ngra shifrlangan matn tayyor.
T1 = SAVIHBAD_LOEMODSDK;
Deshifrlashda,esa kalit k=3*6; 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 = SAMADOV_DILSHODBEK_USMONIVECH
K = KITOB
Qo’shish jarayoni :
S 10010 A 00000 M 01100 A 00000
+ + + +
K 01010 I 01000 T 10011 O 01110
= = = =
Y 11000 I 01010 * 11111 O 01110
Shu tariqa davom ettirsak quyidagich shifrlanadi :
T1 =YI*OCE@PNJB#UACLMZSVYE@DJ*MRJ 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). Мисол. сўзини шифрлаш ва расшифровка қилиш талаб этилсин. Дастлабки сўзни шифрлаш учун қуйидаги қадамларни бажариш лозим.
1-қадам. p=3 ва q=11 танлаб олинади.
2-қадам. N=3*11=33ҳисобланади.
3-қадам. Эйлер функцияси аниқланади.
F(n)=(3-1)*(11-1)=20
4-қадам. Ўзаро туб сон сифатида e=7 сони танлаб олинади.
5-қадам (d*7)(mod 20)=1.шартини қаноатлантирувчи d сони танланади.
(f*1+1)/e= хақиқий сон
(20*1+1)/7=3
d=3 қадам. Дастлабки сўзнинг алфавитдаги харфлар тартиб рақами кетма-кетлигига мос сон эквиваленти аниқланади. А харфига -1, Г харфига-4, З харфига -9. Ўзбек алфавитида 36та харф ишлатилиши сабабли иккили кодда ифодалаш учун 6 та иккили хона керак бўлади. Дастлабки ахборот иккилик кодда қуйидаги кўринишга эга бўлади: