Стеганографія
Стеганографія старше кодування і шифрування. Це мистецтво з'явилося дуже давно. Воно буквально означає «приховане лист» або «тайнопис». Хоч стеганографія не зовсім відповідає визначенням коду чи шифру, але вона призначена для приховування інформації від чужих очей. Стеганографія є найпростішим шифром. Типовими прикладами є проковтнуті записки, вкриті ваксою, або повідомлення на голеній голові, яке ховається під виросли волоссям. Найяскравішим прикладом стеганографії є спосіб, описаний у безлічі англійських (і не тільки) детективних книг, коли повідомлення передаються через газету, де малопомітним чином позначені літери. Головним мінусом стеганографії є те, що уважний стороння людина може її помітити. Тому, щоб секретне послання не було легко читаним, спільно з стеганографией використовуються методи шифрування і кодування.ROT1 та шифр Цезаря
Назва цього шифру ROTate 1 letter forward, і він відомий багатьом школярам. Він являє собою шифр простої заміни. Його суть полягає в тому, що кожна буква шифрується шляхом зсуву за алфавітом на 1 букву вперед. А -> Б, Б -> В, , Я -> А. Наприклад, зашифруем фразу «наша Настя голосно плаче» і отримаємо «общб Обтуа дспнлп рмбшеу». Шифр ROT1 може бути узагальнений на довільне число зсувів, тоді він називається ROTN, де N - це число, на яке слід зміщувати шифрування букв. У такому вигляді шифр відомий з глибокої давнини і носить назву «шифр Цезаря». Шифр Цезаря дуже простий і швидкий, але він є шифром простої одинарною перестановки і тому легко зламується. Маючи подібний недолік, він підходить тільки для дитячих пустощів.Транспозиционные або перестановочные шифри
Дані види шифру простої перестановки більш серйозні і активно застосовувалися не так давно. У Громадянську війну В США і в Першу світову його використовували для передачі повідомлень. Його алгоритм полягає в перестановці літер місцями - записати повідомлення у зворотньому порядку або попарно переставити букви. Наприклад, зашифруем фразу «азбука Морзе - теж шифр» -> «акубза есром - ежот рфиш». З гарним алгоритмом, який визначав довільні перестановки для кожного символу або їх групи, шифр ставав стійким до простого злому. Але! Тільки в свій час. Так як шифр легко зламується простим перебором або словниковим відповідником, сьогодні з його розшифровкою впорається будь-який смартфон. Тому з появою комп'ютерів цей шифр також перейшов у розряд дитячих.Азбука Морзе
Абетка є засобом обміну інформацією і її основне завдання - зробити повідомлення більш простими і зрозумілими для передачі. Хоча це суперечить тому, для чого призначене шифрування. Тим не менш вона працює подібно найпростішим шифрів. В системі Морзе кожна літера, цифра, знак пунктуації мають свій код, складений з групи тире і точок. При передачі повідомлень за допомогою телеграфу тире і точки означають довгі і короткі сигнали. Телеграф і азбука Морзе Морзе був тим, хто перший запатентував «свій» винахід в 1840 році, хоча до нього і в Росії, і в Англії були винайдені подібні апарати. Але кого це тепер цікавить Телеграф і абетка Морзе зробили дуже великий вплив на світ, дозволивши майже миттєво передавати повідомлення на континентальні відстані.Моноалфавитная заміна
Описані вище ROTN і азбука Морзе є представниками шрифтів моноалфавитной заміни. Приставка «моно» означає, що при шифруванні кожна буква початкового повідомлення замінюється іншою буквою або кодом з єдиного алфавіту шифрування. Дешифрування шифрів простої заміни не складає труднощів, і в цьому їх головний недолік. Розгадуються вони простим перебором або частотним аналізом. Наприклад, відомо, що найбільш використовуються букви російської мови - це «о», «а», «і». Таким чином, можна припустити, що в зашифрованому тексті букви, які зустрічаються найчастіше, означають або «о», або «а», або «і». Виходячи з таких міркувань, можна розшифрувати послання навіть без перебору комп'ютером.Відомо, що Марія I, королева Шотландії з 1561 по 1567 р., використовувала дуже складний шифр моноалфавитной заміни з кількома комбінаціями. І все ж її вороги змогли розшифрувати послання, та інформації вистачило, щоб засудити королеву до смерті.
Шифр Гронсфельда, або полиалфавитная заміна
Прості шифри криптографією визнані непотрібними. Тому багато з них було доопрацьовано. Шифр Гронсфельда — це модифікація шифру Цезаря. Даний спосіб є значно більш стійким до злому і полягає в тому, що кожен символ кодованої інформації шифрується за допомогою одного з різних алфавітів, які циклічно повторюються. Можна сказати, що це багатовимірне застосування найпростішого шифру заміни. Фактично шифр Гронсфельда дуже схожий на шифр Віженер, розглянутий нижче.Алгоритм шифрування ADFGX
Це найвідоміший шифр Першої світової війни, використовуваний німцями. Своє ім'я шифр отримав тому, що алгоритм шифрування приводив все шифрограми до чергуванню цих букв. Вибір самих же букв був визначений їх зручністю при передачі по телеграфних лініях. Кожна буква в шифрі представляється двома. Розглянемо більш цікаву версію квадрата ADFGX, яка включає цифри і називається ADFGVX.A
D
F
G
V
X
A
J
Q
A
5
H
D
D
2
E
R
V
9
Z
F
8
Y
I
N
K
V
G
U
P
B
F
6
O
V
4
G
X
S
3
T
X
W
L
Q
7
C
0
Алгоритм складання квадрата ADFGX наступний:
А
Б
У
Р
Д
А
Е/Е
Н
Ь/Ъ
А
І/Ї
Б
Ч
В/Ф
Р/К
З
Д
У
Ш/Щ
Б
Л
Х
Я
Р
Р
М
Про
Ю
П
Д
Ж
Т
Ц
И
У
Дана матриця виглядає дивно, так як ряд осередків містить по дві літери. Це допустимо, сенс послання при цьому не втрачається. Його легко можна відновити. Зашифруем фразу «Компактний шифр» за допомогою цієї таблиці:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Фраза
До
Про
М
П
А
До
Т
Н
И
Ї
Ш
І
Ф
Р
Шифр
бв
гв
гб
гд
аг
бв
дб
аб
дг
пекло
ва
пекло
бб
га
Таким чином, підсумкове зашифроване послання виглядає так: «бвгвгбгдагбвдбабдгвдваадббга». Зрозуміло, німці проводили подібну рядок ще через кілька шифрів. І в підсумку виходило дуже стійке до злому шифроване послання.
Шифр Віженер
Даний шифр на порядок більш стійкий до злому, ніж моноалфавитные, хоча являє собою шифр простої заміни тексту. Однак завдяки стійкому алгоритмом довгий час вважався неможливим для злому. Перші його згадки відносяться до 16-го століття. Віженер (французький дипломат) помилково вважається його винахідником. Щоб краще розібратися, про що йде мова, розглянемо таблицю Віженер (квадрат Віженер, tabula recta) для російської мови.Приступимо до фрази шифруванню «Касперович сміється». Але, щоб шифрування вдалося, потрібно ключове слово — хай їм буде «пароль». Тепер почнемо шифрування. Для цього запишемо ключ стільки разів, щоб кількість літер з нього відповідало кількості букв в шифрованих фразі, шляхом повтору ключа або обрізання:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Фраза:
До
А
З
П
Е
Р
Про
У
І
Ч
З
М
Е
Е
Т
З
Я
Ключ
П
А
Р
Про
Л
Ь
П
А
Р
Про
Л
Ь
П
А
Р
Про
Л
Тепер по таблиці Віженер, як по координатній площині, шукаємо клітинку, яка є перетином пар букв, і отримуємо: К + П = Ъ, А + А = Б, З + Р = В і т. д.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Шифр:
Ъ
Б
У
Ю
З
Н
Ю
Р
Щ
Ж
Е
Ї
Х
Ж
Р
А
Л
Отримуємо, що "касперович сміється" = "ъбвюснюгщж эйхжгал". Зламати шифр Віженер так складно, тому що для роботи частотного аналізу необхідно знати довжину ключового слова. Тому злом полягає в тому, щоб навмання кидати довжину ключового слова і намагатися зламати засекречене послання. Слід також згадати, що крім абсолютно випадкового ключа може бути використана абсолютно різна таблиця Віженер. В даному випадку квадрат Віженер складається з порядково записаного російського алфавіту зі зміщенням на одиницю. Що відсилає нас до шифру ROT1. І точно так само, як і в шифрі Цезаря, зміщення може бути будь-яким. Більше того, порядок букв не повинен бути алфавітним. В даному випадку сама таблиця може бути ключем, не знаючи яку неможливо буде прочитати повідомлення, навіть знаючи ключ.