Читать книгу Європейська криптологія - Вадим Гребенников - Страница 3
2. Становлення криптології як науки
ОглавлениеВ арабському світі криптологія не тільки не занепала, але продовжувала успішно розвиватися, досягши значних успіхів. Про тайнопис і його значення говорилося навіть у казках «Тисячі й однієї ночі». У 855 році арабський письменник, алхімік і єгиптолог Абу Бакр Ахмед ібн Вахш (Ахмад Бін Абубекр Бін Вахіші) описав відомі йому класичні шифралфавіти у своїй «Книзі про велике прагнення людини розгадати загадки давньої писемності» (араб. Kitab Shawq al-Mustaham). Видання арабського тексту з англійським перекладом з'явилося лише у 1806 році.
Це була одна з перших книг про криптографію з описами декількох шифрів, зокрема із застосуванням декількох алфавітів, де автор також обговорює деякі давні писемності та стверджує про дешифрування єгипетських ієрогліфів. Один із шифралфавітів, що називався «дауді» (на ім'я ізраїльського царя Давида), використовувався для зашифрування трактатів з «чорної» магії. Він був складений з видозмінених букв давньоєврейського алфавіту.
Крім того, найбільш ранній із відомих описів методу використання частоти появи букв з метою «злому» шифрів належав перу арабського вченого Абу Юсуф Якуб ібн Ісхак ібн Сабах аль-Кінді (біля 800—879) та датований приблизно 850 роком. Відомий як «філософ арабського світу», аль-Кінді був автором 290 книг з медицини, астрономії, математики, лінгвістики й музики. Його найзнаменитіший трактат, що був виявлений заново лише у 1987 році в оттоманському архіві Сулайманія в Стамбулі, називався «Трактат про дешифрування криптографічних повідомлень аль-Кінді». Хоча в ньому був викладений докладний аналіз статистики, фонетики й синтаксису арабської мови, революційна система криптоаналізу аль-Кінді вміщається у два короткі абзаци:
«Один із способів прочитати зашифроване повідомлення, якщо ми знаємо мову, якою воно написано, – це взяти інший незашифрований текст на тій же мові, розміром приблизно на сторінку, і потім підрахувати появу в ньому кожної з букв. Назвемо букву, що найбільш часто зустрічається, «першою», букву, що за частотою появи знаходиться на другому місці, назвемо «другою», букву, що за частотою появи знаходиться на третьому місці, назвемо «третьою» і так далі, поки не будуть пораховані всі різні букви в незашифрованому тексті.
Потім подивимося на зашифрований текст, що ми хочемо прочитати, і таким же способом проведемо сортування його символів. Знайдемо символ, що найбільш часто зустрічається, і замінимо його «першою» буквою незашифрованого тексту, другий за частотою появи символ замінимо «другою» буквою, третій за частотою появи символ замінимо «третьою» буквою й так далі, поки не будуть замінені всі символи зашифрованого повідомлення, що ми хочемо дешифрувати».
Але по-справжньому характеризує пізнання арабів у сфері криптології енциклопедія з 14-ти томів «Шауба аль-Аша» (Світоч для незрячого в ремеслі писаря), що була написана вченим Шихабом ад-Дін Абу-л-Абас Ахмад ібн Алі ал-Калкашанді (1335—1418) у 1412 році. У розділі «Щодо приховання букв таємних повідомлень», автор виклав всі відомі йому на той час існуючі в арабському світі криптосистеми. Він містив дві частини: одна стосувалася символічних дій і натяків, а інша була присвячена симпатичному чорнилу та криптології.
У роботі пропонувалося сім систем шифрування, що повторювали неопубліковані ідеї його попередника Ібн ад-Дурайхима (1312—1361), який був першим, хто використав частотний аналіз букв:
– замінювати одну букву іншою;
– писати слово у зворотному порядку;
– переставляти у зворотному порядку букви слів;
– замінювати букви на цифри згідно з прийнятою заміною арабських букв на числа;
– замінювати кожну букву відкритого тексту на дві арабські букви, які використовуються і як числа й сума яких дорівнює цифровій величині букви відкритого тексту, що шифрується;
– замінювати кожну букву на ім'я якої-небудь людини;
– використовувати словник заміни, що описує положення Місяця, назви країн (у певному порядку), назв фруктів, дерев тощо.
Першого разу за всю історію шифрів в енциклопедії приводився список як систем перестановки, так і систем заміни. Більше того, у п'ятому пункті списку вперше згадувався шифр, для якого була характерна більш ніж одна заміна букв відкритого тексту. Однак яким би чудовим та важливим цей факт не був, він затьмарюється першим в історії описом криптоаналітичного дослідження шифротекста.
Його джерела, мабуть, варто шукати в інтенсивному й скрупульозному вивченні Корану численними школами арабських граматиків. Поряд з іншими дослідженнями вони займалися підрахунком частоти появи слів, намагаючись скласти хронологію глав Корана, вивчали фонетику слів, щоб установити, чи були вони справді арабськими або були запозичені з інших мов. Більшу роль у виявленні лінгвістичних закономірностей, що призвели до виникнення криптоаналізу в арабів, зіграв також розвиток лексикографії. Адже при складанні словників авторам фактично доводилося враховувати частоту появи букв, а також те, які букви можуть стояти поруч, а які ніколи не зустрічаються по сусідству.
Калкашанді писав у своїй книзі: «Якщо ви хочете прочитати повідомлення, що ви одержали в зашифрованому вигляді, то насамперед почніть підрахунок букв, а потім порахуйте, скільки разів повторюється кожен знак, і підбийте підсумок у кожному окремому випадку. Якщо винахідник шифру був дуже уважний та сховав у повідомленні всі границі між словами, то перша задача, що повинна бути вирішена, полягає в перебуванні знака, що розділяє слова. Це робиться так: ви берете букву та працюєте, виходячи з припущення, що наступна буква є знаком, що поділяє слова. І в такий спосіб ви вивчаєте все повідомлення з урахуванням різних комбінацій букв, з яких можуть бути складені слова… Якщо виходить, тоді усе в порядку; якщо ні, то ви берете наступну букву і т.д., поки ви не зможете установити знак розділу між словами. Потім потрібно знайти, які букви найчастіше трапляються у повідомленні, та порівняти їх зі зразком частоти появи букв, про яке згадувалося колись. Коли ви побачите, що одна буква трапляється частіше, ніж інші у даному повідомленні, ви припускаєте, що це буква „аліф“. Потім ви припускаєте, що наступна за частотою появи буде буквою „лам“. Точність вашого припущення повинна підтверджуватися тим фактом, що в більшості контекстів буква „лам“ випливає за буквою „аліф“… Потім перші слова, що ви спробуєте розгадати у повідомленні, повинні складатися з двох букв. Це робиться шляхом оцінки найбільш ймовірних комбінацій букв доти, поки ви не переконаєтеся в тому, що ви знаходитеся на правильному шляху. Тоді ви дивитеся на їхні знаки і виписуєте їхні еквіваленти кожного разу, коли вони трапляються у повідомленні. Потрібно застосовувати точно такий же принцип стосовно трибуквених слів цього повідомлення, поки не переконаєтеся, що на щось натрапили. Ви виписуєте еквіваленти з усього повідомлення. Цей же принцип застосовується стосовно слів, що складають з чотирьох і п'яти букв, причому метод роботи такий же. Коли виникає який-небудь сумнів, потрібно висловити два-три припущення або ще більше і виписати кожне з них, поки воно не підтвердиться на підставі іншого слова».
Давши це чітке пояснення, Калкашанді наводить приклад розкриття шифру. Дешифрована криптограма складається з двох віршованих рядків, зашифрованих за допомогою умовних символів. На закінчення Калкашанді відзначив, що вісім букв не було використано і що це саме ті букви, що знаходяться наприкінці переліку, складеного за частотою появи. Він підкреслив: «Однак це проста випадковість: буква може бути поставлена не на те місце, що вона повинна займати у вищезгаданому переліку». Таке зауваження свідчить про наявність великого досвіду в сфері криптоаналізу. Щоб розставити всі крапки над «і», Калкашанді приводить другий приклад криптоаналізу досить довгої криптограми. Цим прикладом він і закінчив розділ із криптології.
Араби першими звернули увагу на можливість використання стандартних слів і виразів для дешифрування. Так, перший широко відомий філолог серед арабів Ха-ліль ібн Ахмад аль-Фарахіді (біля 718—791), дешифрувавши криптограму грецькою мовою, надіслану йому візантійським імператором, заявив: «Я сказав собі, що лист повинен починатися зі слів „В ім'я Бога“ або як-небудь у цьому роді. Отже, я склав на основі цього перші букви, і все виявилося правильним». На основі відкритого ним методу дешифрування він написав книгу «Кітаб аль-маумма» (Книга таємної мови).
Історія замовчує те, як араби використали свої блискучі криптоаналітичні здібності, продемонстровані Калкашанді, для розкриття військових і дипломатичних криптограм, або який вплив це зробило на мусульманську історію. Однак зрозуміло, що незабаром ці знання перестали застосовуватися на практиці та були забуті. Один епізод, що відбувся майже 200 років по тому, яскраво демонструє ту деградацію у сфері криптоаналізу, що відбулася за той час.
У 1600 році мароканський султан Ахмед аль-Мансур направив до англійської королеви Єлизавети I посольство на чолі з довіреною людиною – міністром Абдель Вахід ібн Масуд ібн Мухамед Ануном. Посольство повинне було укласти з Англією союз, спрямований проти Іспанії. Анун відправив на батьківщину зашифровану простою заміною депешу, яка незабаром після цього якимось чином потрапила в руки одного араба. Араб той був, можливо, розумною людиною, але, на жаль, він нічого не знав про велику арабську спадщину у сфері криптоаналізу. Свідчення тому -пам'ятна записка, у якій він написав:
«Хвала Аллаху! Щодо листа міністра Абдель Вахід ібн Масуд ібн Мухамед Ануна. Я знайшов лист, написаний його рукою, у якому він за допомогою таємних знаків виклав деякі відомості, призначені для нашого заступника Ахмеда аль-мансура. Ці відомості стосуються султанші християн (хай покарає їх Аллах!), що жила в країні за назвою Лондон… З того моменту, як цей лист потрапив до мене, я постійно час від часу вивчав знаки, що містилися в ньому. Пройшло приблизно 15 років, поки не настав той час, коли Аллах дозволив мені зрозуміти ці знаки, хоча ніхто не навчав мене цьому…».
Відмітимо, що для таке завдання Калкашанді виконав би не за 15 років, а за кілька годин!
Невідомо, чи був тісний зв'язок між розвитком європейської та східної криптології. Безумовно подібного роду контакти могли відбуватися в Іспанії й під час Хрестових походів, але стверджувати, що європейська криптологія в той час використала арабський досвід, не можна. Праці Калкашанді не були перекладені з арабської мови, тому прямого зв'язку європейської криптології зі східною немає. Крім того, якщо на сході криптологія була скоріше частиною лінгвістики, то в Європі вона була ближче до математики й природничих наук, що також визначило її специфіку.
Європейська цивілізація почала користуватися криптологією з часів середньовічного феодалізму. Правда, спочатку тайнопис знаходився в зародковому стані, його застосовували рідко і мінливо. Навіть, церковні системи шифрування були простими, хоча в ту епоху церква користувалася найбільшим впливом у суспільстві. Цікаво, що в той час, коли прості люди шифрування вважали чаклунством, основні роботи в сфері криптології виконувалися в лоні католицької церкви.
У X столітті чернець Герберт Орильякський (Аврилакський), що правив католицькою церквою під ім'ям папи Сильвестра II (біля 946—1003) і вивчав «магічні» знання, вів записи за стенографічною системою, створеною Марком Туллієм Тіроном (103—4 до н.е.), вільновідпущеним і другом відомого Цицерона.
У 1267 році англійський монах-францисканець, професор в Оксфорді, універсальний вчений, математик, оптик, астроном Роджер Бекон (1214—1294) написав першу європейську книгу, яка була присвячена криптології та називалася «Послання ченця Роджера Бекона про таємні дії мистецтва і природи та нікчемність магії» (лат. Epistola fratris Rogerii Baconis de secretis operibus artis et naturae, et de nullitate magiae). У передмові він помітив: «Дурень той, хто пише про таємницю яким-небудь способом, але не так, щоб приховати її від простолюду».
У розділі «Сім способів заховання таємниці» Бекон привів такі методи шифрування: повна заміна символів і знаків, використання загадкових і образних виразів, особливі способи запису, одночасне використання букв різних мов, застосування різних малюнків, скорочення голосних букв тощо. За свої наукові праці він був засуджений за «чорну магію» церковним судом і провів 14 років в ув'язненні.
У 1379 році антипапа Климент VII, який за рік до цього втік до французького Авіньону, звелів своїй канцелярії ввести в дію нові шифри. Секретар антипапи Габріель де Лавінда, що працював у його представництві в одному з північно-італійських міст-держав, виготовив індивідуальні ключі для всіх 24 кореспондентів антипапи. Ключі де Лавінда, що були найдавніші серед збережених на Заході, поєднували у собі елементи коду й шифру.
У своїй книзі «Трактат про шифри» Габріель де Лавінда описав новий тип шифру, що використовував «омофони», тобто припускав заміну букв декількома символами (знаками), кількість яких пропорційна появі букв у відкритому тексті. Імена, посади, географічні назви він рекомендував заміняти спеціальними знаками. Крім шифроалфавіту заміни з «пустишками» майже кожен такий ключ включав невеликий список з десятка широко розповсюджених слів або імен, яким приводилися у відповідність двобуквені кодові еквіваленти. Це самий ранній зразок «Номенклатора» – гібридної системи шифрування, який у наступні 450 років поширився по всій Європі.
Розвитку європейської криптології сприяло те, що середньовічні вчені, зробивши відкриття, аж ніяк не поспішали описати його в листах колегам, як це було тоді прийняте за відсутності періодичних наукових видань. Нерідко ту частину відкриття, що тепер називають «know how», вони шифрували анаграмою, переставляючи букви повідомлення за відомим тільки їм ключем. Наприклад, назви древньої та сучасної столиць Японії в російському написанні теж являють собою анаграму: КІОТО – ТОКІО.
Пояснюючи широке поширення тайнопису серед вчених середньовіччя, О.І.Герцен писав: «Гнані, блукачі із країни в країну, оточені небезпеками, вони не зарили з розсудливого страху істини, про яку були покликані свідчити; вони висловлювали її скрізь, де не могли висловлювати прямо – одягали її в маскарадне плаття, наділяючи алегоріями. Ховали під умовними знаками, прикривали тонким флером, що для когось проникливого нічого не приховувало, але приховувало від ворога: любов догадлівіша й проникливіша ненависті. Іноді вони це робили, щоб не злякати боязкі душі сучасників; іноді – щоб не потрапити на багаття».
Найбільшого розквіту криптологія досягла в період Епохи Відродження. Творчі періоди життя таких великих людей, як Леонардо да Вінчі, кардинала Рішельє, Лю-овиків XII—XIV й інших дали поштовх до зародження наукового підходу до проблем тайнопису. Саме в ці роки виникло поняття «кодування» повідомлень, тобто заміни букв і цифр відкритого тексту на букви, цифри, знаки, згідно із заздалегідь обумовленим правилом, законом.
Леонардо да Вінчі (1452—1519) також шифрував більшість своїх особистих записів. Найпростіший вид шифру, яким він користувався, це зворотнє (дзеркальне) написання тексту так, що прочитати його можна було лише у відбитті дзеркала, наприклад: слово «UKRAINE» перетворюється у шифротекст «ENIARKU». Однак Леонардо іноді використовував й більш серйозні шифри, тому далеко не всі його замітки та записи розшифровані й вивчені до цього часу. Невипадково вийшли в світ книга та фільм з назвою «Код да Вінчі».
Одним із провідних європейських криптологів був відомий англійський письменник, астроном-аматор, митний чиновник Джеффрі Чосер (1343—1400). В 1370-х роках він виконував секретні дипломатичні доручення свого короля в Італії й Франції. Все таємне листування Чосер здійснював, використовуючи шифр простої заміни. Його книга «Екватор Планет», що вийшла у 1390 році, містила окремі шифровані глави.
У 1401 році в Мантуанському герцогстві був знайдений шифр із використанням «омофонів» для голосних букв. Той факт, що «омофони» застосовувалися не для всіх букв, а тільки для голосних, свідчив про знання криптоаналітичних методів, заснованих на частоті появи знаків шифротекста.
Широкий розвиток торгівлі в середині століття спровокував появу специфічних шифрів, дуже простих і зручних, якими могли б користуватися купці для передачі, наприклад, дати приїзду або ціни товару. Це були прості шифри заміни цифр на букви, засновані на ключовому слові. Торговці заздалегідь домовлялися про використання загального ключового слова, букви якого відповідали б цифрам.
Наприклад, для ключа «ШИФРОВАНИЙ» цифра 0 означає букву «Ш», цифра 1 означає «И», 2 – «Ф», 3 – «Р» тощо. Тому одержавши від кореспондента повідомлення «ПРИБУВАЮ ИФШАЙР», вони його читали як «ПРИБУВАЮ 12/06/93». Простота та зручність цієї системи шифрування дозволили їй дожити до початку минулого століття без усяких змін. Крім цих шифрів, найчастіше використовувався шифр простої заміни, що полягав у заміні кожної букви повідомлення на відповідну їй букву шифру.
У ручних шифрах того часу часто використовувалися таблиці, які давали прості шифри перестановки. Ключем у них служив розмір таблиці та фраза, що задавала перестановку або спеціальну особливість таблиць. Проста перестановка без ключа – один із найпростіших методів шифрування, родинний шифру «скитала».
Наприклад, повідомлення «ЗУСТРІЧАЙ У ДЕСЯТЬ» записувалося в таблицю розміром 4х4 по стовпцях (див. таблицю).
Після того, як відкритий текст був записаний по стовпцях, для утворення шифровки він зчитувався по рядках. В результаті виходив шифротекст: «ЗРЙСУ-ІУЯСЧДТТАЕЬ». Для використання цього шифру відправнику та одержувачу потрібно було домовитися про загальний ключ у вигляді розміру таблиці. Об'єднання букв у групи не входило у ключ шифру та використовувалося лише для зручності запису тексту.
Більш практичним був метод шифрування, який був названий одиночною перестановкою за ключем. Він відрізнявся від попереднього лише тим, що стовпці таблиці переставлялися за ключовим словом, фразою або набором чисел довжиною в рядок таблиці. Ключове слово (наприклад, «ШИФР») вписувалося у перший рядок таблиці, та здійснювалася перестановка стовпців відповідно до порядкових номерів букв ключа (див. таблицю).
В результаті зчитування по рядках повідомлення «ЗУСТРІЧАЙ У ДЕСЯТЬ» перетворялося у шифротекст «РСЙЗІЯУУЧТДСАЬЕТ».
Крім одиночних перестановок використовувалися ще подвійні перестановки стовпців і рядків таблиці з повідомленням згідно з попередньо визначеним порядком нумерування рядків і стовпців таблиці, що й було ключем шифру. При цьому перестановки визначалися окремо для стовпців та окремо для рядків. У таблицю вписувався текст по стовпцях, після чого здійснювалися перестановки стовпців та рядків (див. таблицю).
В результаті кінцевого зчитування по рядках повідомлення «ЗУСТРІЧАЙ У ДЕСЯТЬ» перетворялося у такий шифротекст: ЯІУУСРЗЙЬАТЕТЧСД. При розшифруванні порядок перестановок був зворотнім. Однак навіть шифри подвійної перестановки були слабким видом шифру, тому що легко читалися при будь-якому розмірі таблиці шифрування.
Новий етап розвитку криптології розпочався у другій половині XV століття з введенням у практику криптології багатоалфавітних шифрів заміни. Батьком цього шифру виявився теоретик мистецтва Леон Батіста Альберті (1404—1472), який узагальнив досвід гуманістичної науки у вивченні античної спадщини, написав трактати «Про статую», «Про живопис», «Про зодчество», десять книг про зодчество, побудував палац Ручеллаї, церкву Іль Джезу та ряд інших чудових здобутків зодчества середньовічної Італії.
У 1466 році Альберті надав до папської канцелярії також і трактат про шифри, де здійснив аналіз частот букв, дослідив шифри заміни та перестановки, торкнувся питань стійкості шифрів. Підмічена Альберті різночастотність появи букв в осмислених текстах дала поштовх вивченню синтаксичних властивостей письмових повідомлень. При цьому основна увага приділялясь буквам, що частіше зустрічались у тексті.
Альберті вперше висунув ідею «подвійного» шифрування – текст, отриманий в результаті першого шифрування, піддавався повторному зашифруванню. Він запропонував використовувати два або більше шифралфавітів, переходячи від одного до іншого в процесі зашифровування й заплутуючи цим можливих криптоаналітиків.
Наприклад, обравши два шифралфавіти, можемо зашифрувати повідомлення, використовуючи по черзі то один, то інший. Таким чином, щоб зашифрувати слово «UKRAINE», зашифруємо першу букву за допомогою першого шифроалфавіту, так що «U» перетвориться в «Z», другу ж букву ми зашифруємо, використовуючи другий шифралфавіт, при цьому «K» стане «E». Для зашифровування третьої букви ми повернемося знову до першого шифроалфавіту (R → U), а щоб зашифрувати четверту букву, ми знову звернемося до другого шифроалфавіту (A → U) і так далі: I → M, N → H, E → H. В результаті отримаємо такий шифротекст: ZEUUMHH.
Основна перевага системи Альберті полягала в тому, що однакові букви у відкритому тексті не обов'язково залишалися однаковими у шифротексті. Точно так повторювані букви у шифротексті були різними буквами відкритого тексту.
В своїй книзі Альберті запропонував також свій власний шифр із нескромною назвою «шифр, гідний королів», який зробив шифровку дуже стійкою до «злому». Реалізація шифру забезпечувалась за допомогою механічного шифрувального диску, що було також одним з найважливіших винаходів Альберті.
Шифрувальний диск складався з великого зовнішнього диска та рухомого внутрішнього диска. Окружність зовнішнього диска була розділена на 24 рівні сектори, до яких були вписано 20 букв латинського алфавіту в їхньому природному порядку та 4 цифри. При цьому з алфавіту були вилучено 6 букв, без яких можна було обійтися – H, J, K, U, Y, W. Окружність внутрішнього диска була розділена також на 24 сектори, до яких були вписані букви змішаного латинського алфавіту.
Маючи два такі прилади, кореспонденти домовлялися про першу індексну букву на рухомому диску. При шифруванні повідомлення відправник ставив індексну букву проти будь-якої букви великого диска. Він інформував кореспондента про таке положення диска, записуючи цю букву зовнішнього диска як першу букву шифротекста. Чергова буква відкритого тексту відшукувалася на нерухомому диску, і буква меншого диска, що стояла проти неї, була результатом її шифрування. Після того, як були зашифровані декілька букв тексту, положення індексної букви змінювалося, про що також повідомлялося кореспонденту.
A B C D E F G I L M N O P Q R S T V X Z. 1…2 3. 4
L G A Z E N B O S F C H T Y. Q I. X K V P ET M R D
Так, наприклад, для індексної букви «L» одним з багатьох варіантів шифрування слова «PRESIDENT» може бути «ATQEIOZECX», а іншим – «BHYZQBAZFI» тощо.
B C D E F G I L M N O P Q R S T V X Z 1. 2..3. 4 A
L G A Z E N B O S F C H. T Y Q I X K V P ET M R D
Такий шифр мав дві особливості, що робили винахід Альберті важливою подією в історії криптології. По-перше, на відміну від шифрів простої заміни шифродиск використовував не один, а декілька алфавітів для зашифрування. Такі шифри одержали назву багатоалфавітних. По-друге, шифродиск дозволяв використовувати так звані коди з перешифруванням, що одержали широке поширення лише наприкінці XIX століття, тобто через чотири століття після винаходу Альберті.
Для цієї мети на зовнішньому диску малися цифри. Альберті склав код, що складався з 336 кодових груп, занумерованих від 11 до 4444. Кожному кодовому позначенню відповідала деяка закінчена фраза. Коли така фраза траплялася у відкритому повідомленні, вона замінялася відповідним кодовим позначенням, а за допомогою диска цифри зашифровувалися як звичайні знаки відкритого тексту, перетворюючись у букви.
У 1474 році був написаний перший у світі трактат, присвячений винятково криптоаналізу. Це зробив Чико Сімонетті, один із секретарів правителів Мілана – герцогів Сфорца. У ньому він виклав удосконалені шифри заміни, у тому числі шифр багатозначної заміни, у якому одній букві (голосній) відповідало декілька шифропозначень. Він розробив 13 правил розкриття шифрів простої заміни, у яких збережені роздільники слів. Рукопис, написаний на трьох шматках пергаменту, починався зі слів: «Перша необхідна умова полягає в з'ясуванні того, чи написаний документ латинською або місцевою мовою, а це можна установити в такий спосіб: з'ясуєте, чи мають слова в даному документі тільки п'ять різних закінчень, менше або більше. Якщо їх тільки п'ять або менше, ви праві, вважаючи, що документ написаний місцевою мовою…».
Сімонетті у своєму трактаті докладно описав шифри заміни, у яких для вирівнювання частоти появи букв у шифротексті голосним буквам ставився у відповідність не один знак, а декілька. Тут же вперше був наведений опис так званого «гаслового» шифру, що у різних модифікаціях буде застосовуватися й кілька століть пізніше. Правило заміни букв у ньому визначалося таким чином: під алфавітом писалася ключова фраза – гасло (наприклад, «Ukraine») без повторюваних букв, а потім букви, що у гаслі не зустрічалися, у природному порядку.
A B C D E F G H I. J. K L M N O P Q R S T U V W X Y Z
U K R A I N E B C D F G H. J. L M O P Q S T V W X Y Z
В результаті слово «UZHGOROD» перетворюється у шифротекст: «TZBELPLA».
У 1518 році з'явилася перша друкована праця з криптології «Поліграфія» (лат. Polygraphia). Вона була написана Йоганом Гейденбергом (1462—1516), або Тритемієм (Трисемусом), абатом бенедиктинського монастиря Святого Мартіна (м. Вюрцбург, Німеччина), якого багато істориків вважають батьком європейської криптології. «Поліграфія» являла собою збірник з 6 книг і містила стовпці латинських термінів, слів, поставлених у відповідність буквам відкритого тексту, та першу квадратну таблицю, основу багатоалфавітної заміни.
Хоча у праці Тритемія було описано багато шифрів – як існуючих у той час, так і винайдених самим автором, вона була пронизана кабалістичними й окультними алюзіями.
В результаті книга викликала гнів багатьох монархових дворів Європи, які думали, що Тритемій видав у ній занадто багато таємниць. Крім того, Римська католицька церква вважала праці Тритемія єретичними та у 1609 році внесла його книги до списку заборонених. Ця заборона тривала 250 років.
У 1541 році книга була перевидана французькою мовою, а незабаром був зроблений її переклад на німецьку мову. У цій книзі Тритемій зробив дві нові пропозиції в криптології: він запропонував шифр «Аве Марія» і шифр, побудований на основі ключа, що періодично зрушується.
Шифр «Аве Марія» ґрунтувався на принципі заміни заздалегідь обговорених слів на букви шифротексту. З таких слів складалося зовні «безневинне» повідомлення. Наприклад, замінимо букви «А», «К», «Т» на такі слова: «А» – чекаю, мій; «К» – вдома, ключ; «Т» – я, тут. У такому разі позитивна таємна відповідь на задане питання може мати декілька варіантів: «Я чекаю вдома» або «Тут мій ключ».
Другим більш серйозним шифром була «таблиця Тритемія» – квадратна таблиця розміром 24х24 з багатьма алфавітами, яка була названа «tabula recta». Алфавіти були записані в рядки таблиці один під іншим, причому кожний з них був зрушений на одну позицію вліво в порівнянні з попереднім.
Тритемій пропонував використовувати цю таблицю для багатоалфавітного шифрування найпростішим з можливих способів: перша буква тексту шифрувалася першим алфавітом, друга буква – другим тощо. У цій таблиці не було окремого алфавіту відкритого тексту, для цієї мети служив алфавіт першого рядка. Таким чином, слово «UKRAINE» перетворювалося у шифротекст «ULTDNSL».
Перевага цього методу шифрування в порівнянні з методом Альберті полягала в тому, що кожна чергова буква текста шифрувалася новим алфавітом. Альберті змінював алфавіти лише після трьох або чотирьох слів. Тому його шифротекст складався з відрізків, кожний з яких мав закономірності відкритого тексту, що допомагали розкрити криптограму. Шифрування по буквах не давало такої переваги.
Крім того, Тритемій пропонував також використовувати одноалфавітне шифрування за допомогою квадрата Полібія та ключового слова – пароля. Обиралося яке-небудь слово, з нього прибиралися повторювані букви, а ті, що залишалися, записувалися в перші клітини квадрата. Порожні клітини заповнювалися буквами алфавіту, що залишилися, у природному порядку.
Розглянемо цю систему шифрування у варіанті для української мови, таблиця якої буде мати розмір не 5х5, а 5х6. Буква шифровки бралася з клітини, що знаходилася під клітиною букви повідомлення. Оскільки ключове слово легко було зберігати в пам'яті, то такий підхід спрощував процеси шифрування та дешифрування. Для ключа «ШИФРОВКА» таблиця буде мати такий вигляд (див. таблицю).
Для вищеописаного шифру за даною таблицею повідомлення «УХОДИМО» дає шифровку «ЯЬДЛАХД». Такі табличні шифри були названі монограмними, тому що шифрування велося по одній букві.
Тритемій також першим помітив, що можна шифрувати одночасно по дві букви, які стояли разом та були названі «біграмою». Такий шифр був названий «біграмним». Опишемо його на прикладі тієї ж таблиці. Відкритий текст розбивався на біграми, а текст шифровки виходив з нього згідно з двома такими правилами:
1. Якщо обидві букви біграми вихідного тексту належали до одного стовпця таблиці, то буквами шифру вважалися букви, які були під ними. Так, біграма «РІ» давала текст шифровки «ГТ». Якщо буква відкритого тексту перебувала в нижньому рядку, то для шифру бралася відповідна буква з верхнього рядка: біграма «ЛЯ» давала шифр «УО» (біграма з однієї букви або пари однакових букв теж підкорялася цьому правилу).
2. Якщо обидві букви біграми вихідного тексту належали одному рядку таблиці, то буквами шифру вважалися букви, які лежали праворуч від них. Так, біграма «АД» давала текст шифровки «БЕ». Якщо буква відкритого тексту була в правому стовпці, то для шифру бралася відповідна буква з лівого стовпця: біграма «ІМ» давала шифр «ЛЄ».
3. Якщо обидві букви біграми відкритого тексту лежали в різних рядках і стовпцях, то замість них бралися дві букви таким чином, щоб вся їх четвірка складала прямокутник. При цьому послідовність букв у шифрі була віддзеркаленням вихідної пари. Наприклад, «АУ» шифрувалося як «ДП», а «ТБ» – як «СГ».
При шифруванні фрази «ОГОЛОШЕНИЙ ЗБІР» по біграмах виходить шифрування «РДДУВИКХААСЗТГ»:
ОГ ОЛ ОШ ЕН ИЙ ЗБ ІР
РД ДУ. ВИ. КХ АА. СЗ ТГ
Шифрування біграмами різко підсилило стійкість шифрів до розкриття.
При всьому тому, що «Поліграфія» була досить доступною друкованою книгою, описані в ній ідеї одержали визнання лише трьома століттями пізніше. Скоріше за все це було викликано непопулярністю Тритемія серед професійних криптологів, який був не криптологом, а богословом, бібліофілом і засновником архівної справи.
Наступний крок у розвитку запропонованого Тритемієм способа шифрування був зроблений італійцем Джовані Батіста Белазо. У 1553 році він опублікував брошуру «Шифр сеньйора Джовані Батіста Белазо» (італ. La cifra del. Sig. Giovan Batista Belaso), де запропонував використовувати для багатоалфавітного шифру буквений ключ, що був названий ним «паролем» та повинен був легко запам'ятовуватися. Пароль виписувався під або над рядком повідомлення. Буква пароля, що знаходилися над (під) буквою повідомлення, визначала номер рядка таблиці Тритемія, тобто алфавіт заміни, згідно з яким і здійснювалося шифрування. Буква повідомлення визначала номер стовпця таблиці, а буква шифротекста знаходилась на перетинанні рядка та стовпця таблиці.
Приблизно в той же час італійський математик і філософ Джироламо Кардано (1501—1576) запропонував використовувати як ключ сам текст повідомлення, тобто «самоключ» або «автоключ» (autokey). Наприклад, у фразі «ЗБІР СЬОГОДНІ» ключем було слово «ЗБІР»:
текст – ЗБІРСЬОГОДНІ
ключ – ЗБІР ЗБІР ЗБІР
Шифрування здійснювалось за допомогою таблиці Тритемія.
Крім того, у 1556 році захоплення теорією магічних квадратів привело Кар-дано до відкриття нового класу шифру перестановок, названого ґратами або трафаретом. Вони являли собою квадратні таблиці, де чверть осередків прорізана так, що при чотирьох поворотах вони покривали весь квадрат. Вписування в прорізані осередки тексту й повороти ґрат тривали доти, поки весь квадрат не був заповнений. Наприклад, на малюнку нижче показаний процес шифрування ґратами 4х4. Трафарет мав 4 прорізані клітини, а повороти здійснювалися за годинною стрілкою на зазначений нижче кут (див. таблицю).
Головна вимога до ґрат – при усіх поворотах «вікна» не повинні попадати на одне й те місце у квадраті, у якому утвориться шифротекст. Якщо у квадраті після зняття грат утворювалися пусті місця, то в них вписувалися будь-які букви.
Кількість подібних ґрат швидко росте з їхнім розміром. Так, ґрати 2х2 єдині, ґрат 4х4 уже 256, а ґрат 6х6 понад сто тисяч. Незважаючи на певну складність, шифри типу ґрат досить просто розкривалися, тому не могли використовуватися як самостійний шифр. Однак вони були дуже зручними та ще довго використовувалися в практиці для посилення шифрів заміни.
Воскресити змішані алфавіти, що застосовував Альберті, та об'єднати ідеї Альберті з ідеями Тритемія і Белазо в сучасну концепцію багатоалфавітної заміни випало на долю італійця Джовані Батіста дела Порта (1535—1615). Йому було 28 років, коли він у 1563 році опублікував книгу «Про приховану значущість окремих букв» (лат. De Furtivis Literarum Notis). її перші два розділи були присвячені криптографії, а в інших двох викладалися основи криптоаналізу та розглядалися лінгвістичні особливості, що допомагали розкриттю шифрів.
Книга Порти містила перший в Європі опис того, як варто розкривати шифр простої заміни, коли шифротекст не був розділений на слова або був розділений неправильно. Порта також описав те, що вважалося другим за значимістю прийомом у сучасному криптоаналізі:
«…Коли тема листування відома, дослідник може зробити проникливі припущення щодо слів, що звичайно вживаються в такому контексті. Ці слова можна без великої праці знайти, помічаючи в текстах кількість знаків, а також подібність і розходження букв… Для кожної теми характерні деякі загальні слова, що супроводжують її, будучи необхідними. Наприклад, у любові – це «пристрасть», «серце», «вогонь», «полум'я», «згоряти», «життя», «смерть», «жалість», «жорстокість»; на війні – «солдат», «командир», «генерал», табір», «зброя», «боротися» і т. д. Таким чином, цей прийом розкриття, що не заснований на аналізі самих документів або на спробі розбити текст на голосні або приголосні, може полегшити задачу».
У своїй книзі Порта також дав одну мудру пораду, що й сьогодні корисна крипто-аналітику такою ж мірою, якою вона була доречна в Італії епохи Відродження:
«Необхідні повна зосередженість і ретельність, щоб вільна від сторонніх думок голова, коли все інше відкладено убік, була цілком зайнята єдиною задачею доведення початої справи до успішного завершення. І все-таки, коли така задача вимагає надмірного напруження і незвичайних витрат часу, напруження не повинно бути безперервним, не слід навантажувати мозок надмірно, тому що занадто великі зусилля і тривале розумове навантаження призводять до нервового виснаження, після якого голова вже менш придатна для подібних речей та з неї вже не вичавиш нічого…»
А далі Порта поділився з читачем своїм власним практичним досвідом роботи: «Крім того, дуже важливо, щоб повідомлення було написано рукою автора або митецького переписувача, тому що якщо перехоплене повідомлення буде скопійовано неправильно або якщо воно вийде з-під руки людини, незнайомого з мистецтвом шифру, то в результаті, оскільки правопис порушений, будь-яка інтерпретація повідомлення буде блокована».
Подібний досвід приходив тільки до криптоаналітика, що мав справу з повідомленнями, у яких букви часто були пропущені, переставлені або замінені на інші. Це траплялося лише при обробці дійсних криптограм. Завдання, що зустрічалися в книгах з криптоаналізу того часу, завжди були бездоганно складені з точки зору правопису й тому легко вирішувалися. Скоріше за все, Порта регулярно займався криптоаналізом, виконуючи доручення папської курії.
Повною мірою чудові здібності Порти проявилися при рішенні найбільш важкої проблеми криптоаналізу епохи Відродження – розкритті багатоалфавітних шифрів. Незважаючи на високу оцінку цих шифрів криптоаналітиками того часу, Порта відмовився визнати їхню невразливість і розробив для них методи розкриття. Хоча ці методи не були універсальними, їхня основна цінність складалася в застосованому Портою сміливому підході, що й привів його до успіху.
Для початку Порта спробував прочитати шифротекст, який його сучасниками був зашифрований за допомогою спеціального приладу. Цей прилад складався з двох дисків: внутрішнього нерухомого диска, на який за годинною стрілкою був нанесений алфавіт відкритого тексту, і зовнішнього рухливого диска з низкою вигадливих шифрознаків. Зовнішній диск після зашифрування чергової букви повертався за годинною стрілкою на один крок. Порта помітив, що якщо в якому-небудь слові відкритого тексту три букви підряд стояли в алфавітній послідовності, той самий шифрознак 3-разово повторювався у шифротексті. Це допомогло йому прочитати криптограму.
Потім Порта модифікував розроблений ним метод, щоб дешифрувати іншу багатоалфавітну криптограму, яка була складена згідно з принципом Джовані Белазо. На думку Порти, у криптограмі 3-кратне повторення букви шифротекста сигналізувало про те, що ключем із трьох букв, розташованих в звичайному алфавітному порядку, був зашифрований відкритий текст, у якому було три букви в порядку, протилежному алфавітному. Міркуючи з цього приводу, Порта впритул підійшов до універсального методу розкриття багатоалфавітних шифрів, знайти який він так прагнув:
«Оскільки… між першими трьома „М“ і цими ж трьома буквами, повтореними в 13-му слові, знаходиться 51 буква, я дійду висновку, що ключ повторений три рази, і правильно вважаю, що він містить 17 букв».
Однак Порта так і не скористувався своїм спостереженням. У результаті багатоалфавітний шифр продовжував вважатися надійним протягом трьох наступних століть.
У своїй книзі Порта ввів свою таблицю багатоалфавітного шифрування (див. таблицю).
Шифрування повідомлення здійснювалося за допомогою секретного гасла-пароля, що періодично виписувався над відкритим текстом. Буква гасла визначала алфавіт (заголовні букви першого стовпця), розташована під ключем буква відкритого тексту шукалася у верхньому або нижньому напівалфавіті та замінялася відповідною їй буквою другого напівалфавіту.
Наприклад, якщо як гасло використати слово «UKRAINE», то шифрування слова «UZHGOROD» буде виглядати таким чином:
гасло ...................UKRAINE
відкритий текст …UZHGOROD
шифротекст ………LHQTKLMN
За цей шифр Порту пізніше назвали батьком сучасної криптографії, але у той час цей шифр не знайшов широкого застосування. Причиною цього була необхідність постійно мати при собі вказану таблицю та складність процесу шифрування. Разом з тим, був даний імпульс для появи інших шифрувальних систем (наприклад, Віженера).
Також Порта запропонував шифр простої біграмної заміни з використанням квадратної таблиці зі змішаним алфавітом і паролем. У ньому пари букв (біграми) позначалися одним спеціальними графічними символами. Наприклад, біграма «ЕА» замінялася грецьким символом «Δ», біграма «LF» – символом «Ψ» тощо.
Вони заповнювали квадратну таблицю розміром 20х20, рядки й стовпці якої були занумеровані буквами латинського алфавіту. По суті справи це був той же шифр простої заміни, але на рівні двобуквених сполучень. Криптостійкість при такій заміні порівняно до шифрування по буквах значно підвищувалась.
Французький посол у Римі Блез де Віженер (1523—1596), ознайомившись з криптологічними працями та ідеями Цезаря, Альберті, Тритемія, Белазо й Порта, захопився криптологією. У 1585 році він написав книгу «Трактат про шифри» (фр. Traite des chiffres), де виклав основи криптології. В ній він висловив думку про те, що «усі речі у світі являють собою шифр. Уся природа є просто шифром і таємним листом». Пізніше цю думку повторили і Блез Паскаль, і батько кібернетики Норберт Вінер.
У своєму трактаті Віженер знову повторив ідею Кардано щодо використання «самоключа». Заздалегідь обмовлялася одна ключова буква алфавіта, та перша буква повідомлення шифрувалася за рядком таблиці Тритемія, що відповідав цій букві. Друга буква повідомлення шифрувалась за рядком, що відповідав першій букві шифротексту і так далі.
Другий варіант використання таблиці Тритемія, запропонований Віженером, полягав у застосуванні ключа-гасла. По суті Віженер, об'єднавши підходи Тритемія, Белазо, Порта до шифрування відкритих текстів, не вніс у них нічого оригінального.
Шифр Віженера містив у собі алфавітну квадратну таблицю Тритемія, що складалася з 24 покрокових ротацій у лівий бік прямого стандартного латинського алфавіту. У цій таблиці перший горизонтальний рядок називався «лінією мови», а перший вертикальний стовпчик ліворуч – «таємною лінією». Ключем могло бути будь-яке слово, букви якого виписувалися підряд над чи під буквами відкритого листа. Причому, коли воно закінчувалось, то записувалося знову, циклічно повторюючись, поки не закінчувався текст.
Цей ключ і був «таємницею», який Белазо називав «паролем», а Віженер назвав «гаслом». У наш час ключова послідовність букв або цифр одержала назву «гама» за аналогією з відомим музичним терміном. Таблиця Віженера легко відновлювалася перед самим процесом шифрування, після чого могла бути знищена.
Запропонована Віженером шифросистема стала першим великим відкриттям у криптології з часів Юлія Цезаря, яка протягом 350 років вважалася однією з найнадійніших систем. Головною її перевагою була простота.
Повідомлення шифрувалося буква за буквою, для чого в таблиці треба було знайти стовпець, позначений тією ж буквою, що й відповідна буква ключа, та рядок, позначений тією же буквою, що й буква відкритого тексту, що лежала під даною буквою ключа. Буква, що лежала у таблиці на перетинанні зазначених стовпця та рядка, й була потрібним шифросимволом.
Наприклад, якщо як ключ використати слово «UKRAINE», то шифрування слова «UZHGOROD» виглядатиме таким чином:
відкритий текст …UZHGOROD
ключ ....................UKRAINEU
шифротекст ………PHWGYESZ
Шифр Віженера мав також деякі з переваг більш раннього номенклаторного типу шифру. Кожна буква відкритого тексту могла передаватися в шифротексті таким числом різних шифросимволів, скільки різних букв утримувалося в ключі. Крім того, багатоалфавітна заміна дозволяла приховувати повторювані букви й інші внутрішньословні сполучення, характерні для даного відкритого тексту. При цьому в остаточному шифротексті використовувалися тільки 24 звичайні букви алфавіту, а які-небудь спеціальні символи або цифри були не потрібні.
Астрологічні захоплення Віженера привели його до шифру, у якому шифрознаками були положення небесних тіл у момент шифрування. Він спробував перевести свої послання на «мову неба».
У ХІХ сторіччі британський адмірал сер Френсіс Бофорт (1774—1857) запропонував свій різновид шифру Віженера – шифр (квадрат) Бофорта (Бьюфорта). Його рядками були рядки квадрата Віженера, але записані в зворотньому (зеркальному) порядку (див. таблицю).
Ця таблиця мала одну перевагу – правила зашифрування та розшифрування були однакові: і в тому, і в іншому випадку букви, що шифрувалися та дешифрувалися, витягалися з верхнього алфавітного рядка.
Заради історичної справедливості необхідно зазначити, що таблиця Бофора була запропонована ще у ХVІІІ сторіччі італійцем Дж. Сестрі. Однак його ім'я в історії виявилося забутим.
Людиною, що зуміла зробити криптологію окремою науковою дисципліною, став англійський філософ і державний діяч Френсіс Бекон (1561—1626), який був одним з розумніших людей свого часу та автором більше, ніж двох десятків робіт, опублікованих та визнаних сучасниками ще при його житті. Будучи лордом-канцлером при королі Якові І, він добре знав потреби держави в надійних шифрах, тому його перша талановита робота, що відносилася до 1580 року, надалі одержала блискучий практичний розвиток.
Присвятивши криптології спеціальні роботи «Успіх пізнання» та «Про достоїнство і збільшення наук», він був не тільки теоретиком, але й мистецьки застосовував на практиці свої знання, завдяки чому зайняв почесне місце серед видатних європейських криптологів. Зокрема, саме він уперше запропонував свою систему тайнопису, назвавши її «двобуквеним» шифром. Практично це було «двійкове кодування» букв латинського алфавіту – те ж саме, яке використовується зараз у комп'ютерах (див. таблицю).
По суті, це була бінарна система стеганографії, оскільки за допомогою шрифтів двох видів (наприклад, «А» і «В») у букви довільного (нетаємного) тексту потай вносилася додаткова (таємна) інформація. Кожній букві таємного послання ставилося у відповідність п'ять букв звичайного відкритого тексту.
На початку XVII століття Матео Ардженті, криптолог папської канцелярії, склав посібник з криптології на 135 аркушах, що був виданий у плетінні з телячої шкіри. У цій книзі він повторив ідею Чико Сімонетті щодо використання деякого слова як ключа для отримання змішаного алфавіту. Наприклад, ключове слово «UKRAINE» дає такий змішаний латинський алфавіт:
U K R A I N E B C D F G H J L M O P Q S T V W X Y Z
Такі змішані алфавіти часто використовувалися як алфавіти шифротексту в шифрах простої заміни. З метою ускладнення шифру простої заміни Ардженті рекомендував не розділяти слова, використовувати «омофонні» заміни, вставляти у шифротекст велику кількість «пустишок» (Ø), усувати пунктуацію, не вставляти у шифротекст відкриті слова («клер») тощо. Для букв, що часто траплялися у словах, він ввів декілька позначень, а для сполучень букв, що часто траплялися у текстах, – окремі позначення. Пізніше подібні ідеї одержали широке поширення.
Приведемо приклад шифру Ардженті:
A. B.. C.. D.. …E…..F.. G.. H.. I. L.. M. N..O. P
1 86 02 20 62,82 22 06 60 3 24 26 84 9 66
Q…R…S… T.. …U…..Z. ET CON NON CHE O
68 28 42 80 04,40 88 08.. 64.. 00… 44.. 5,7
Слово «UZHGOROD» може бути зашифровано багатьма способами, наприклад: 0488600659289720 або 754078856070692859205577.
Найбільшим досягненням Ардженті вважається розроблений ним буквений код (номенклатор), у якому 1200 букв, складів, слів та цілих фраз замінялися групами букв.
У XVII столітті найбільш цінною історичною працею в сфері криптології були твори Густава Селена (псевдонім Августа II герцога Брауншвейг-Люнебурга, князя Брауншвейг-Вольфенбюттеля) (1579—1666) «Криптописьмо і криптографія» (лат. Cryptomenytices et cryptographie): «Дев'ять книг Густава Селена, у яких викладається навчання про приховання змісту і тайнопису, написане Йоганом Тритемієм, настоятелем у Спенхеймі і Хербиполені, чоловіка чудесного розуму і схованих магічних здібностей. Тут же викладені важливі способи й інших авторів. 1624 р.». Ці книги, до речі, були навчальними посібниками російського криптолога XVIIІ століття Епінуса.
Криптологія вже була відома багатьом та застосовувалася в багатьох шарах суспільства. Так, англієць Самуель Пепіс (1633—1703) став всесвітньо відомим своїм зашифрованим щоденником, згідно з яким історики пишуть праці про перехід від Пуританства до Реставрації. Мистецтвознавці включили цей добуток у світову скарбницю літератури. Пепіс закінчив Кембридж завдяки кузену батька – адміралу Монтегю та мав багато друзів: ученого Ісаака Ньютона, архітектора Крістофера Рена, поета й драматурга Джона Драйдена. Пепіс був особисто свідком таких незабутніх для Англії подій, як повернення короля Чарльза II в Англію, велика чума 1664 року, пожежа Лондона 1666 року, революція 1688 року.
Свої мемуари Пепіс зашифрував за системою криптолога Томаса Шелтона та додатково своїм власним шифром, оскільки містили багато скандальних фактів про великих сучасників. Разом з його особистими книгами та паперами щоденник після смерті письменника потрапив у Кембридж, де відразу ж привернув увагу дослідників. Перший успіх у його розшифруванні був отриманий лише в 1822 році, а повністю він був розшифрований у 1899 році.