Тақырыбы: «Ашық кілтті шифрлау жүйелері»



бет3/3
Дата15.03.2022
өлшемі29,41 Kb.
#28017
1   2   3
Байланысты:
id204258

Р

Е

С

П

У

Б

Л

И

К

А

В

Г

Д

Ж

З

М

Н

О

Т

Ф

Х

Ц

Ч

Ш

Щ

Ы

Ь

Э

Ю

Я




Қарапайым ауыстыруды қолдана отырып, сіз кез-келген мәтінді шифрлай аласыз, бірақ мұндай шифр төмен қарсылыққа ие, өйткені шифрланған мәтін көп жағдайда бастапқы сипаттамамен бірдей статистикалық сипаттамаларға ие. Сонымен қатар, егер шифрланған мәтіннің көлемі бір жолдан әлдеқайда үлкен болса, онда шифрланған мәтіндегі әріптердің пайда болу жиілігі алфавиттегі әріптердің пайда болу жиілігіне жақынырақ болады және шифрды шешу одан да оңай болады. Сондықтан қарапайым ауыстыру шифрланған мәтін қысқа болған жағдайда ғана қолданылады.



Шифрдың беріктігін арттыру үшін көп алфавиттік алмастырулар қолданылады, оларда бастапқы мәтіннің таңбаларын ауыстыру үшін бірнеше алфавиттік таңбалар қолданылады.

  1. Бұл әдістің бір түрі-Вижинерді шифрлау схемасы. Шифр ашуға өте төзімді. Вижинер кестесі-N2 элементтері бар квадрат матрица, мұндағы n - қолданылатын алфавиттің таңбалар саны. Әр жол алфавиттің бір таңбаға циклдік ауысуы арқылы алынады.






А

Б

В

Г

Д

Е

Ж

З

И

К

Л

М

Н

О

П

..

..

Э

Ю

Я

-

А

А

Б

В

Г

Д

Е

Ж

З

И

К

Л

М

Н

О

П

..

..

Э

Ю

Я

-

Б

-

А

Б

В

Г

Д

Е

Ж

З

И

К

Л

М

Н

О

..

..

Ъ

Э

Ю

Я

В

Я

-

А

Б

В

Г

Д

Е

Ж

З

И

К

Л

М

Н

..

..

Ы

Ъ

Э

Ю



..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

Я

В

Г

Д

Е

Ж

З

И

К

Л

М

Н

О

П

..

..

..

..

Я

-

А

Б

-

Б

В

Г

Д

Е

Ж

З

И

К

Л

М

Н

О

П

..

..

..

Ю

Я

-

А

Хабарламаны шифрлау кезінде ол жолға жазылады, ал оның астында әріп кілті болады. Егер кілт хабарламадан қысқа болса, онда ол циклді түрде қайталанады. Шифровку алады, мемлекет меншігіндегі символы бағанасында бойынша кестелер түркизмдерді мәтін жолында, тиісті әрпін кілт.

Мысалы:

Сообщение П Р И Е З Ж А Ю Ш Е С Т О Г О

Ключ А Г А В А А Г А В А А Г А В А

Шифровка П Н И Г З Ж Ю Ю ЮА Е О Т М

Алдыңғы шифрлар монограммаланған деп аталады, өйткені шифрлау бір әріппен жүргізіледі. 2 әріппен шифрлау биграмм деп аталады.
4. Ең танымал bigram шифры Playfair деп аталады (I дүниежүзілік соғыста қолданылған). Ашық мәтін жұпқа бөлінеді (биграммалар).Мәтін келесі ережелер бойынша шифрланады:

Егер бастапқы мәтіннің биграммасының екі әрпі кестенің бір бағанына жатса, онда Шифр әріптері олардың астындағы әріптер болып саналады. Егер ашық мәтіннің әрпі төменгі қатарда болса, онда Шифр үшін жоғарғы қатардан тиісті әріп алынады. Бір әріптен немесе бірдей әріптерден тұратын Биграмма да осы ережеге бағынады.

Егер бастапқы мәтіннің биграммасының екі әрпі кестенің бір жолына жатса, онда Шифр әріптері олардың оң жағында орналасқан әріптер болып саналады. Егер ашық мәтіннің әрпі оң бағанда болса (соңғы), онда Шифр үшін бірінші бағаннан тиісті әріп алынады.

Егер ашық мәтіндік биграмманың екі әрпі әр түрлі бағандарда болса, онда олардың орнына төрт төртеуі төртбұрыш болатындай 2 әріп алынады. Бұл жағдайда шифрдегі әріптер тізбегі бастапқы жұптың айнасы болуы керек.


"Республика"кілті бар 5×6 кесте үшін мысал
Открытый текст ПУ СТ ЬК ОН СУ ЛЫ БУ ДУ ТБ ДИ ТЕ ЛЬ НЫ Шифр УБ РХ СЗ ДО ПБ ИЩ РБ НР ШР ЖЛ ФР КЩ ЗЮ

4. 1854 жылы ағылшын Чарльз Уилсон Қос квадрат деп аталатын жаңа биграммалық шифрды ойлап тапты.

Қос шаршы бірден көлденең орналасқан 2 кестені қолданады, ал шифрлау Playfair шифріндегідей биграммалармен жүреді.

Кестелер алфавитпен кездейсоқ толтырылады, біз 2 түрлі кесте аламыз. Шифрлау үшін хабарлама биграммаларға бөлінеді. Биграмманың бірінші әрпі сол жақ кестеде, екіншісі оң жақта. Содан кейін ақылға қонымды түрде кестеде тіктөртбұрыш салынған, сондықтан биграмманың әріптері оның қарама-қарсы шыңдарында орналасады. Бұл тіктөртбұрыштың басқа екі шыңы шифрлау әріптерін береді және айна түрінде болады.

Егер хабарлама биграммасының екі әрпі бір жолда болса, онда шифрлау әріптері сол жолдан алынады. Шифрлау биграммасының бірінші әрпі хабарлама биграммасының екінші әрпіне сәйкес келетін бағандағы сол жақ кестеден алынады. Шифрлау биграммасының екінші әрпі хабарлама биграммасының бірінші әрпіне сәйкес келетін бағандағы оң жақ кестеден алынады.

Практикалық бөлім:

1. Осы жұмыстың теориялық бөлігімен танысыңыз.

2. Ауыстыру әдістерінің бірін таңдаңыз. а) Атбаш шифры

б) Цезарь шифры

в) Полибиан квадраты шифры г) Трисемус шифры

д) Виженерді көпалфавиттік ауыстыру шифры е) биграммалармен Шифр

ж) Гронсфельд шифры

3. Таңдалған әдіс бойынша шифрлау бағдарламасының алгоритмін жасаңыз.

4. Тиісті тапсырма бойынша шифрлау бағдарламасын жасаңыз.

5. Таңдалған әдіс бойынша шифрлау бағдарламасының алгоритмін жасаңыз.

6. Тиісті тапсырмаға сәйкес шифрлау бағдарламасын жасаңыз.

7. Жасалған жұмыс туралы есеп жасаңыз.

8. Жұмысты қорғаңыз.




"Атбаш" шифрлау бағдарламасын орындау мысалы
Program new; Uses crt;

Var Alfavit, Alfavit2:string; A: array[1..100] of integer; S,S1,S2 :string;

Klyh: string[3];

Shifr: array[1..100] of Char; Kl: array[1..3] of integer; i,l,j,Cod: integer; Key1:Char;

Begin

clrscr; Alfavit:='абвгдеёжзийклмнопрстуфхцчшщъыьэюя'; Alfavit2:='яюэьыъщшчцхфутсрпонмлкйизжёедгвба'; S1:='abcdifghijklmnopqrstuvwxyz'; S2:='ABCDEFGHIJKLMNOPQRSTUVWXYZ';



TextColor (4);

Writeln;


Writeln('ПРОГРАММА ШИФРОВАНИЯ ШИФРОМ АТБАШ');

Repeat TextColor (13); Writeln; Writeln;

Writeln('Введите данные, которое хотите зашифровать'); TextColor (14);

Readln(S); l:=0;

For i:=1 to Length(S) do

For j:=1 to Length(S2) do begin

If (S[i]=S1[j]) or (S[i]=S2[j]) then l:=l+1; end;

if l<>0 Then

Writeln ('ОШИБКА!');

Writeln('Выражение должно быть написано только строчной кирилицей!'); Until l=0;

For i:=1 to Length(s) do For j:=1 to 33 do begin

if S[i]=Alfavit[j] then begin Shifr[i]:=Alfavit2[j];

end; end;

TextColor(4); Writeln('Шифровка: ',Shifr,' '); Readln;

Repeat TextColor(13);

Writeln('Введите сообщение, которое хотите расшифровать'); TextColor(14);

Readln(S); l:=0;

For i:=1 to Length(S) do

For j:=1 to Length(S2) do begin

If (S[i]=S1[j]) or (S[i]=S2[j]) then l:=l+1; end;

if l<>0 Then

Writeln('Выражение должно быть написано только кирилицей'); Until l=0;

For i:=1 to Length(S) do For j:=1 to 33 do begin

if Shifr[i]=Alfavit[j] then begin S[i]:=Alfavit2[j];

end;

end;


TextColor (4);

Writeln ('Расшифрованное выражение:',S,' '); Readln;

GotoXY(2,24);

Write('ESC - Выход из программы '); Repeat

Key1:=ReadKey; case Key1 of chr(27),chr(27):exit; else End;

until (Key1=chr(27)) or (Key1=chr(27)); Readln;



end.







Достарыңызбен бөлісу:
1   2   3




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет