Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
ЛАБОРАТОРНА РОБОТА №7
Тема: Криптограми.Код Цезаря. Перестановочний код.
ТЕОРЕТИЧНІ ПОЛОЖЕННЯ
Прийомiв тайнопису - величезна кiлькiсть. Найбiльш простий тип криптограм - це так званi пiдстановочнi криптограми. Складаючи їх, кожнiй буквi алфавiту ставиться у вiдповiднiсть певний символ (хоча можуть бути i букви) i при кодуваннi всяку букву тексту замiнюють на вiдповiдний їй символ. Розшифрування таких криптограм досить просте. Воно базується на тому, що рiзнi букви природної мови зустрiчаються в осмислених текстах з рiзною частотою. У значнiй мiрi це вiдноситься до буквосполучень або декiлькох букв: однi iз яких зустрiчаються часто, а деякi взагалi не зустрiчаються.
Аналiзуючи частоту появи тих або iнших знакiв i їх комбiнацiй можна з великою впевненнiстю вiдновити букви зашифрованого тексту. Навiть якщо в деяких частинах тексту виникає неодназначнiсть, вона легко усувається по змiсту. Цей метод (вiн називається частотним аналiзом) базується на ранiше вiдомих частотах зашифрованих знакiв.
Ненадiйнiсть пiдстановочних криптограм (порiвняно легко розшифровуються) була помiчена давно i тому пропонувались рiзнi iншi методи шифрування. Серед них важливе мiсце займають перестановочнi криптограми. Розглянемо один тип перестановочної криптограми, яка складається за допомогою так званого ключового слова. Букви тексту, який повинен бути переданий у зашифрованому виглядi спочатку записується в клiтини прямокутної таблиці по її рядках, при цьому кiлькiсть стовпцiв такої таблицi дорiвнює кiлькостi символiв у ключовому словi. Букви ключового слова пишуться над стовпцями i вказують порядок (нумерацiю) цих стовпцiв. Порядок визначається номером букви у природному алфавiтi.
#Наприклад#
Повiдомлення - "Журилась пiд осiнь малесенька жабка".
Ключове слово - "Актор".
Таблиця 1
А |
К |
Т |
О |
Р |
- ключове слово |
1 |
2 |
3 |
4 |
5 |
порядок букв у ключовому словi, або порядок виписування стовпцiв для шифрування |
ж |
у |
р |
и |
л |
1-ий рядок |
а |
с |
ь |
п |
і |
2-ий рядок |
д |
о |
с |
і |
н |
3-ій рядок |
ь |
м |
а |
л |
е |
4-ий рядок Утворилась таблиця 7х5. |
с |
е |
н |
ь |
к |
5-ий рядок |
а |
ж |
а |
б |
к |
6-ий рядок |
а |
7-ий рядок |
5 стовпцiв
Виписуючи букви iз стовпцiв таблицi (спочатку iз першого, потiм iз другого i т.д.) отримаємо таку шифрограму:
жадьсааусомежипiльблiнеккрьсана.
Ключове слово вiдоме, звичайно,i адресату,який без проблем розшифрує це повiдомлення.
Є ряд шифрiв,в яких сумiщено прийоми пiдстановочного та перестановочного кодування. Шифр можна ще бiльш ускладнити,якщо додатково до цього кожну букву замiнити не одним, а двома або декiлькома символами (буквами або числами).
#Наприклад:#
Розмiстимо букви алфавiту кирилиці у квадратнiй таблицi 6х6 довiльним чином, як в таблицi 2.
Т а б л и ц я 2
0 |
1 |
2 |
3 |
4 |
5 |
|
0 |
З |
І |
И |
Р |
С |
|
1 |
А |
Т |
У |
Й |
Ь |
Є |
2 |
|
Б |
Ф |
Л |
К |
|
3 |
М |
Ю |
Я |
Г |
Х |
Ц |
4 |
Ч |
Н |
О |
Д |
Е |
|
5 |
Ж |
Ш |
Щ |
П |
Е |
Кожну букву шифруємо парою цифр -перша цифра це номер рядка в якому розташована дана буква друга-номер стовпця. Наприклад, букви б видповидає позначення 21 а слову тир -позначення 110304
Ще бiльшi труднощi для криптоаналiзу становить шифр, пов'язаний з iменем Тритемiуса. Цей шифр є розвитком коду Цезаря, суть якого полягає в тому,що весь алфавiт циклiчно зсувається на певне число букв вправо або влiво.Текст шифрується в новому алфавiтi.
#Наприклад:#
Повiдомлення: Приклад
Вихiдний алфавiт: абвгдеєжзиiїйклмнопрстуфхцчшщьюя
Порядок букв у повiдомленнi:6 7 3 4 5 1 2 ¦ ¦ ¦ ¦¦ ¦¦
Порядок букв у зашифрованому¦ ¦ ¦ ¦¦ ¦¦
повiдомленнi: 6 7 3 4 5 1 2
Зсунутий алфавiт: єжзиiїйклмнопрстуфхцчшщьюяабвгде
Зсув влiво на 6 букв
Зашифроване повiдомлення: хцмрсєi
Розглянемо суть шифру Тритемiуса. Букви вихiдного алфавiту нумеруються по порядку числами 1,2,...,32.
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
¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦
а б в г д е є ж з и і ї й к л м н о п р с т у ф х ц ч ш щ ь ю я
При шифруваннi ключове слово (або номери його букв) пiдписуються пiд повiдомленням з повтореннями,як показано нижче:
Порядковий номер: 19 18 14 10 8 1 20 10 3 19 18 14 10 19 11 14 -(m)
¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦
Повiдомлення: П о к и ж а р и в п о к и п i к
"Рак"-Ключове слово: Р а к р а к р а к р а к р а к р
¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦
Порядковий номер: 20 1 14 20 1 14 20 1 14 20 1 14 20 1 14 20 - (k)
Шифрування здiйснюється наступним чином:буква повiдомлення з
номером m замiнюється на букву з номером l=m+k (якщо m+k<33) або букву з номером l=m+k-33 (якщо m+k>=33).Наприклад,перша буква повiдомлення "П" буде замiнена буквою "Е",оскiльки l(П) = m(П)+k(Р) = 19+20-33 = 6,а пiд 6-им номером у вихiдному алфавiтi знаходиться буква "Е".Таким чином зашифроване повiдомлення буде:
l=m+k: 39 19 28 30 19 15 40 11 17 39 19 28 30 20 25 34
Номер букви у ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦
вихiдному ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦
алфавiтi: 6 19 28 30 19 15 7 11 17 6 19 28 30 20 25 1
Буква вихiд- ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦
ного алфавiту:е п ш ь п л є i н е п ш ь р x а
Зашифроване повiдомлення: епшьплєiнепшьрха
Якщо ключове слово вiдоме,то дешифрування здiйснюється без труднощiв на основi рiвностi :
m = l-k , якщо l-k>0, або
m = l-k+33, якщо l-k<0.
Ми розглянули тiльки деякi способи складання криптограм.
Зауважимо,що комбiнуючи їх,можна отримати шифри,ще більш складнi для дешифрування.
ЗАВДАННЯ
Завдання1. Знаючи зсув (таб.1) і повідомлення (таб.2) закодувати його за допомогою коду Цезаря. На мові Pascal написати програму кодування і декодування.
Варіант |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
Дані |
11 |
15 |
3 |
4 |
7 |
5 |
30 |
10 |
15 |
12 |
Варіант |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
Дані |
22 |
14 |
11 |
10 |
16 |
20 |
9 |
13 |
18 |
4 |
Варіант |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
Дані |
20 |
3 |
15 |
5 |
8 |
17 |
7 |
21 |
25 |
2 |
N варіанту |
Повідомлення |
1-6 |
Падав сніг на поріг кіт зліпив собі пиріг |
7-12 |
ой, піду я в сад, у садочок , та й нарву собі ягідочок |
13-18 |
Закувала та сива зозуля рано-вранці на зорі |
19-24 |
Мав я раз дівчиноньку-чепурненьку Любу щебетушечку румяненьку |
25-30 |
Що це було ? Мабуть НЛО Не сіло, не впало, по небу пливло |
Завдання 2. Закодувати повідомлення (таб.3) за допомогою перестановочного кодування. Ключові слова у таблиці 4. Написати на мові Pascal програму кодування і декодування.
Таблиця 3.
N варіанту |
Повідомлення |
1-10 |
Еней був парубок моторний і хлопець хоч куди козак |
11-20 |
Життя-це бал, на який ніхто другий раз не запросить |
21-30 |
Білі мухи налетіли все подвіря стало біле |
Варіант |
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 |
Дані |
гриб |
Голуб |
Вітер |
Актор |
базис |
Зебра |
PAGE 2