10. Орнына қою және орын ауыстыру тәсілдері.
Криптографияда шифрлеудің 2 жай формалары орнына қою және орын ауыстыру қолданылады.
1. Орнына қою әдісі.
Орнына қою әдісін қолданылатын ең белгілі шифрлердің бірі Цезарь шифрі (б.э.д. 100-44 ж.) осы шифлеу әдісін ол Цицеронмен (б.э.д. 106 – 43ж) хабарласу барысында қолданған.
Цезарьдің осы шифрлеу әдісінің қалай қолданғаны жайлы келесі мысалда қарастырайық.
1-мысал. Цезарь кодымен шифрленген бағдарлама:
YGBPGGFBOQNGBUPQYBHQTBDCVVGTBUMKKPI
Бұл хабарламаның шифрден шығарғандағы түрі келесідегідей:
WE NEED MORE SNOW FOR BETTER SKING.
Цезарь шифрін түсіну үшін латын алфавит әріптерін (сонымен қоса пробел символын аламыз) тізбек бойынша орналастырып, әр әріпке сәйкес келетін өзінің реттік нөмірлерін қоямыз:
«» |
А |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
|
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
Бізге берілген мәтін және оның шифрленген түрі белгілі болғандықтан, Цезарь шифрін «шешейік». Y әріпіне 25саны сәйкес , G->7, B->2, P->16, G->7, G->7… Осы ретпен бірінші әріптердің нөмірлерін жазайық:
W->23, E->5, «_»->0, N-> 14, E->5, E->5 …
Дұрыстап қарасаңыздар, шифрленген мәтінде шынайы әріптер және олардың реттік номірлері алмастырылған.
W<->Y, E<->G, “ _”<->B, N<->D, E<->G,
23<->25, 5<->7, 0<->2, 14<->16, 5<->7 және т.б.
Осыдан гипотеза құрасақ. Цезарь шифрінде әрбір шынайы әріп оның алдында тұрған бір әріптен кейінгісіне алмастырылған, осыдан
a(әріп)=b(әріп) +2
мұндағы a(әріп)- шифрленген мәтін әріпінің номірін анықтайтын функция;
b(әріп) – шынайы әріп нөмірін анықтайтын функция.
Y, Z әріптеріне қай әріп сәйкес деген сұрақ пайда болады. Шынайы хабарламада бұл әріптер жоқ. Бұдан екі гипотиза пайда болады: Y<->”_”, Z<->A. Осы екі гипотеза Цезарь шифрін толығымен пайдаланады.
Цезарь шифрінің математикалық формула түрінде жазылуы:
a(әріп)=(b(әріп) +2) mod 27 (2)
мұндағы а mod в кез келген екі бүтін сан, а және в сандары үшін анықталған және а - ны в - ға бөлгендегі қалдықты көрсетеді.
Цезарь шифрін жинақтауға жеңіл, оны келесі шифрлеу формуласы арқылы көрсетуге болады:
a(әріп)=(b(әріп) +N) mod 27
мұндағы 1<N<27
2-мысал. Ежелгі рим қарақшылары бір-бірімен байланысып сөйлесу үшін әдейі өздеріне «тарабарлық тілін» ойлап тапты, оны арнайы шифр сияқты қарастыруға болады.
«Тарабарлық» тілдің шифрлануы орыс алфавитіндегі дауыссыз әріптердің бір-бірімен орын ауыстыру әдісі арқылы құрылған. Осы әріптердің бір-бірімен орын ауыстырылуы келесі әдіс арқылы жасалады: барлық дауыссыз әріптер алфавит бойынша өз орындарында тұрады, сонан кейін әр дауыссыз әріпке симметриялы тұрған. Қалған әріптер және символдар «_» өзгерусіз қалады. Орыс тілі әріптерін келесі ретпен жазайық:
Б |
В |
Г |
Д |
Ж |
З |
К |
Л |
М |
Н |
П |
Р |
С |
Т |
Ф |
Х |
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 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
Мысалы: Завтра идем воровать боярина Репнина
Фашкма ицер шомошакь щоямипа менпипа
Математикалық түрде шифрлеуді “тарабарлық” тілдің көмегімен мұндай түрде жазуға болады:
g(б)= 21-b(б) мұндағы 1<=b(б)<=20
b(б) мұндағы 21<=b(б)<=32
“тарабарлық” алгоритм тілін қолданып, Turbo Pascal тілінде шифрлауды жазайық:
Program cript (input, output);
Var st:string;
Kir: string[20];
L,k,i:integer;
Begin
Kir: ‘бвгджклмнпрстфхцчшщ’;
Writeln (‘введите строку’);
Readln(st);
L:=lenhght(st);
For k:=1 to 1 do
For i:=1 to 20 do
If st[k]=kir[i] then st[k]:=kir[20-i+1];
Write (st)
End.
Тура орнына қою әдістерінің жалпы сұрақтарын қарастырайық. Тура орнына қою кезде берілген мәтіннің әрбір белгісі бір немесе бірнеше белгілермен алмастырылады.
Көп алфавитті орнына қою әдістерін берілген мәтін әріптерін санмен алмастыру арқылы көрсетуге болады. Мәтіннің әрбір әріпі бір санға көбейтіледі (ондық коэффициент) және басқа санға қосады (жылжыту коэффициенті).
a (әріп)= (a*b (әріп)+S) mod N
мұндағы a - ондық коэффициент;
S – жылжыту коэффициенті;
N – алфавитің өлшемі.
Бұл формулаға сәйкес a=1, S=2, N=27 кезінде Цезарь шифрі іске асады.
... Магистерлік диссертацияның мақсаты. Байланыстың үзілісіздігін және қызмет көрсету сапасын арттыру мақсатында телекоммуникациялық желілердің өміршеңділігін бағалайтын әдістеме құру. Магистерлік диссертацияның ғылыми жаңалығы. Максималды ақпарат ағыны матрицасы мен е ...
... ғы – жас ұрпақты тәрбиелеу мәселелерін отбасының әлеуетін пайдалана отырып шешуге болады. 3.2 Қазақстандық отбасылардың әлеуметтік мәселелерін шешуде ұсынылатын модельдер Біздің қоғамның маңызды мәселелерінің бірі - отбасы тұрақтылығын сақтау, ...
... арнайы шұңқырларға салынып, залалсыздандыру жұмысын жүргізіп отырады. Берілген дипломдық жұмыс «Қарағанды қаласының сауда орталықтарына келіп түсетін ысталған балықты ветеринарлық-санитарлық сараптауға» байланысты біз ысталған балықтардың құрамында ...
... ;ып ай бойы әлде бір сиқырлы әлемге арбалғандай күйде жүрдім. «Қазақ әдебиеті тіршілігін тоқтатты деп кім айтты? Жоқ, ол тірі, мұндай ғажап туындыны дүниеге әкелген әдебиет өмір сүре береді» деген жүрекжарды лебізімді дүркін-дүркін қайталаумен болғаным есімде ...
0 комментариев