Криптографія і захищена зв'язок: історія перших шифрів

Криптографія та шифрування тисячі років використовуються людьми для захисту своїх секретів. З деякою часткою умовності цю історію можна почати з Стародавнього Єгипту.

Стародавній Єгипет
Найдавніший текст з елементами криптографії знайдений в гробниці давньоєгипетського вельможі Хнумхотепа ІІ, наслідного князя і номарха міста Менат-Хуфу, який жив майже 4000 років тому. Десь близько 1900 р. до н. е. писар Хнумхотепа описував життя свого пана в його гробниці. Серед ієрогліфів він використав кілька незвичайних символів, які приховують пряме значення тексту. Такий метод шифрування фактично являє собою шифр підстановки, коли елементи вихідного тексту замінюються іншими елементами за певними правилами.


Символи з гробниці Хнумхотепа II і їх розшифровка

По мірі розвитку єгипетської культури заміни ієрогліфів зустрічалися частіше. Є різні версії, чому єгиптяни використовували таку систему шифрування. За однією версією, вони хотіли зберегти свої релігійні ритуали від звичайних людей. За іншою версією, таким чином писарі надавали тексту якийсь формальний вигляд, як у наш час юристи використовують специфічні вирази для заміни звичайних слів. Як і зараз, єгипетська криптографія теж могла бути способом писаря вразити інших людей — показати, що він може висловлюватися на більш високому рівні, ніж вони.

Стародавня Греція
Приблизно в 500 р. до н. е. спартанці розробили пристрій під назвою скитала, створене для відправки і отримання секретних повідомлень. Воно являло собою циліндр, обгорнутий по спіралі вузькою смужкою пергаменту. Послання писалося вздовж скиталы, але якщо смужку розгорнути, воно ставало нечитабельним. Для прочитання тексту була потрібна скитала такого ж діаметру. Тільки в цьому випадку літери ставали в ряд, щоб відновити оригінальне повідомлення.


Приклад скиталы

Скитала є прикладом перестановочного шифру, в якому елементи вихідного тексту міняють місцями, а не замінюють іншими символами. За сучасними стандартами скиталу було б дуже просто зламати, але 2500 років тому дуже мало людей вміли читати і писати. Скитала забезпечила спартанцям захищений зв'язок.

Древній Рим
Найраніший відомий спосіб військового застосування криптографії належить Юлію Цезарю. Близько 2000 років тому Цезар, будучи полководцем римської армії, вирішив проблему безпечних комунікацій зі своїми полками. Проблема була в тому, що гінці з секретними військовими повідомленнями часто перехоплювалися ворогом. Цезар розробив шифр підстановки, в якому заміняв одні букви іншими. Тільки той, хто знав таблицю підстановки, міг розшифрувати секретне повідомлення. Тепер, навіть якщо гонець потрапить в руки ворога, шифровки не будуть розсекречені. Це дало римлянам величезну перевагу у війні.


Приклад шифру підстановки

На відміну від прикладу на цій ілюстрації, Цезар зазвичай просто зсував літери на якесь певне число. Це число було шифрувальним ключем для його алгоритму. Випадковий порядок заміни символів забезпечує набагато кращу безпеку завдяки більшій кількості можливих таблиць заміни.

Шифр Альберті-Віженер
В середині 15 століття італійський вчений, архітектор, скульптор, художник і математик Леон Батіста Альберті винайшов систему шифрування на основі шифрувального диска. Це було механічний пристрій з ковзаючими дисками, які допускали багато різних методів підстановки символів. Це базова концепція многоалфавитного шифру, в якому метод шифрування змінюється безпосередньо в процесі шифрування. У своїй книзі «Зломщики кодів» Девід Кан називає Альберті «батьком західної криптографії». Альберті ніколи не реалізував свою концепцію шифрувального диска, вона залишилася лише на папері.


Шифрувальний диск

У 16 столітті французький дипломат Блез Віженер на основі концепції многоалфавитного шифру Альберті створив шифр, який отримав назву шифру Віженер. Він працює точно як система Цезаря за винятком того, що ключ змінюється в процесі шифрування. У шифру Віженер застосовується сітка з літер, яка задає метод підстановки. Її називають квадратом Віженер або таблицею Віженер. Решітка складається з 26 рядків алфавіту зі зміщенням на один символ відносно один одного.



Метод зміни одного ключа на інший слід простого шаблону. В якості ключа шифрування обирається спеціальне секретне слово. Кожен символ у вихідному тексті замінюється з використанням таблиці. Щоб визначити, на яку букву потрібно замінити перший символ, ми поєднуємо перший символ вихідного тексту (по одній осі) з першим символом секретного слова (по іншій осі). Метод повторюється для другої і кожної наступної букв, секретне слово використовується багаторазово, поки не закінчаться символи у вихідному тексті.

Припустимо, що потрібно зашифрувати таку фразу:

ATTACKATDAWN («Напад на заході»)

Відправник послання вибирає секретне слово і повторює його до закінчення вихідного тексту. Наприклад, LEMON.

LEMONLEMONLE

Для зашифровування першого символу потрібно поєднати рядок A зі стовпцем L (у результаті виходить L), для шифрування другого символу — рядок T зі стовпцем E (у результаті виходить X) і так далі. Ось як виглядає результат:

Вихідний текст:   ATTACKATDAWN
Ключове слово:   LEMONLEMONLE
Шифротекст:       LXFOPVEFRNHR

Розшифрування виконується таким же способом: буква в тексті послання (діагональні рядки таблиці) поєднується з буквою секретного слова у стовпцях або рядках таблиці.

Дисковий шифр Джефферсона
В кінці 18 століття Томас Джефферсон придумав шифрувальну систему, дуже схожу на шифр Віженер, але з кращою захистом. Його шифратор складався з 26 дисків з буквами алфавіту, випадково розміщеними на кожному. Диски були пронумеровані і встановлені на циліндр в певному порядку. Ключем є порядок дисків на осі.


Дисковий шифр Джефферсона

Щоб зашифрувати повідомлення, потрібно скласти вихідний текст в одній з рядків циліндра. Зашифрованим текстом буде будь-яка інша рядок. Одержувач повинен розташувати диски в правильному порядку, після чого скласти рядок зашифрованого тексту на циліндрі. Потім швидкий візуальний огляд циліндра відразу виявить текст вихідного повідомлення. Практично нульова ймовірність, що в рядках циліндра з'явиться два не позбавлених сенсу повідомлення.

Як і Альберті, Джефферсон ніколи не використовував свою систему шифрування. На початку 20 століття шифрувальники американської армії придумали заново циліндр Джефферсона, нічого не знаючи про цей винахід. Джефферсон випередив свій час більш ніж на сто років. Армія США використовувала таку систему шифрування з 1923 по 1942 роки.
Джерело: Хабрахабр

1 коментар

avatar
Интересная статья))) Спасибо!
Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.