Орнына қою және орын ауыстыру тәсілдері.

Криптографияда шифрлеудің 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-мысал. *********

Ежелгі орыс қарақшылары бір-бірімен байланысып сөйлесу үшін әдейі өздеріне «тарабарлық тілін» ойлап тапты, оны арнайы шифр сияқты қарастыруға болады.

«Тарабарлық» тілдің шифрлануы орыс алфавитіндегі дауыссыз әріптердің бір-бірімен орын ауыстыру әдісі арқылы құрылған. Осы әріптердің бір-бірімен орын ауыстырылуы келесі әдіс арқылы жасалады: барлық дауыссыз әріптер алфавит бойынша өз орындарында тұрады, сонан кейін әр дауыссыз әріпке симметриялы тұрған. Қалған әріптер және символдар «_» өзгерусіз қалады. Орыс тілі әріптерін келесі ретімен жазайық:

Б В Г Д Ж З К Л М Н П Р С Т Ф Х
Ц Ч Ш Щ А Е И Й О У Ь Ы Ъ Э Ю Я

Мысалы: Завтра идем воровать боярина Репнина

Фашкма ицер шомошакь щоямипа менпипа

Математикалық түрде шифрлеуді “тарабарлық” тілдің көмегімен мұндай түрде жазуға болады:

g(б)= 21-b(б) мұндағы 1<=b(б)<=20

b(б) мұндағы 21<=b(б)<=32

Тура орнына қою әдістерінің жалпы сұрақтарын қарастырайық. Тура орнына қою кезде берлеген мәтіннің әрбір белгісі бір немесе бірнеше белгілермен алмастырылады.

Көп алфавиттік орнына қою әдістерін берілген мәтін әріптерін санмен алмастыру арқылы көрсетуге болады. Мәтіннің әрбір әріпі бір санға көбейтіледі (ондық коэффициент) және басқа санға қосады (жылжыту коэффициенті).

a (әріп)= (a*b (әріп)+S) mod N

мұндағы a - ондық коэффициент;

S – жылжыту коэффициенті;

N – алфавитің өлшемі.

Бұл формулаға сәйкес a=1, S=2, N=27 кезінде Цезарь шифрі іске асады.

3-Мысал .Бұл шифрлар класына «Сцитала» шифры жатады. Бұл шифр б.э.д. V ғ. Спарта мен Афина соғысы кезінен белгілі. Оны іске асыру үшін Сцитала өсі бойынша мәтін жазылады. Лента оратылған кезде, онда тәртібі бұзылған ірәптер көрінеді. Сонан кейін лента қабылдаушыға жіберіледі. Қабылдаушы осындай сциталаға лентаға орап оқиды.

Бұл шифрде ашық мәтіннің өзгертілуі ол ашық мәтіндегі әріптерді орын ауыстыру барысында орындалады. Сондықтан «Сцитала» шифрі орын ауыстыру әдісіне жатады.

Ескерту: «Сцитала» шифрындағы орын ауыстырудың жалпы санын көрсетейік. Оның диаметрі 10см аспайды. 1см ұзындықта бір орамда 32 әріп орналасады, шеңбер ұзындығы p10<32 см. Сондықтан шеңбер бойынша 32 әріп орналасады.

Наши рекомендации