Г г′ д е є ж з и і ї й к л м н о п р с т у ф х ц ч ш щ ь ю я а б в
При зашифровуванні літера А замінювалася на літеру Г, В – замінювалася на Д, У – на Ц й т. д. Приміром, слово РИМ перетворювалося на УЙП. Одержувач повідомлення УЙП шукав ці літери в нижньому рядку і по літерах над ними відновлював вихідне слово РИМ. Ключем у шифрі Цезаря є величина зсунення нижнього рядка абетки.
Природне розвинення шифру Цезаря є очевидне: нижній рядок дворядкового запису літер абетки може бути з довільним розташуванням цих літер. Якщо в абетковому розташуванні літер у нижньому рядку існує всього 33 варіанти ключів (кількість літер в українській абетці), то за їхнього довільного розташування кількість ключів стає величезною. Вона становить 33! (33 факторіали), тобто приблизно 1035. Цей момент є надто важливий. Якщо неправочинний користувач здогадався чи одержав відомості про використаний шифр (а шифри використовуються тривалого часу), то він може спробувати перебрати усі варіанти можливих секретних ключів при дешифруванні перехопленої криптограми. Навряд чи віднайдеться дешифрувальник, котрий навіть у наші дні обрав би цей шлях дешифрування. Однак у часи Цезаря, коли панувала суцільна неграмотність населення, сама можливість побачити осмислене повідомлення за "абракадаброю", навіть складеною зі знайомих літер, здавалася нездійсненною. Принаймні давньоримський історик Светоній не наводить випадків дешифрування переписування Цезаря. Нагадаємо, що сам Цезар усе життя використовував один і той самий ключ (зсунення – 3). Цим шифром він користувався, зокрема, для обміну посланнями з Цицероном.
У художній літературі класичним прикладом шифру заміни є відомий шифр "Танцюючі чоловічки" (К. Дойла). У ньому літери тексту замінювалися на символічні фігурки людей. Ключем такого шифру були постави чоловічків, котрі замінювали літери.
Існували й інші способи захисту інформації, розроблені в античні часи.
1.2.2 Винаходи Енея
Одне з перших історичних імен, котре згадується у зв'язку з криптографією, це ім'я Енея – легендарного полководця, захисника Трої. В царині тайнопису Енеєві належать два винаходи.
1.2.2.1 Диск Енея
Перший з винаходів – так званий "диск Енея". Принципи його побудови й дії є вельми прості. На диску діаметром 10...15 см і товщиною 1...2 см висвердлювалися отвори за кількістю літер абетки. В центрі диска містилася "котушка" з намотаною на ній ниткою потрібної довжини. При зашифровуванні нитка "витягалася" з котушки і послідовно протягалася через отвори відповідно до літер зашифровуваного тексту. Диск був посланням. Одержувач послання послідовно витягав нитку з отворів, що дозволяло йому зчитувати передаване повідомлення, але в зворотному порядку слідування літер. При перехоплянні диска неправочинний користувач мав можливість прочитати повідомлення у той самий спосіб, що й одержувач. Але Еней передбачав можливість легкого знищення передаваного повідомлення в разі загрози захоплення диска. Для запобігання цьому досить було висмикнути "котушку" із закріпленим на ній кінцем нитки до повного виходу всієї нитки з отворів диска.
1.2.2.2 Лінійка Енея
Ідея Енея була використана при створюванні й інших оригінальних шифрів заміни. Наприклад, в одному з варіантів замість диска використовувалася лінійка з кількістю отворів, дорівнюваних кількості літер абетки. Кожен отвір позначався власною літерою; літери по отворах розташовувалися в довільному порядку. До лінійки було прикріплено котушку з намотаною на неї ниткою. Поруч з котушкою був проріз. При шифруванні нитка протягалася через проріз, а потім через отвір, котрий відповідав першій літері зашифровуваного тексту, при цьому на нитці зав'язувався вузлик у місці проходження її через отвір; потім нитка поверталася до прорізу – й аналогічно зашифровувалася друга літера тексту й т. д.
Після закінчення зашифровування нитка витягалася і передавалася одержувачеві повідомлення. Той, маючи ідентичну лінійку, протягав нитку через прорізи отворів, зумовлених вузлами, і відновлював вихідний текст за літерами отворів. Цей пристрій дістав назву лінійки Енея. Шифр, зреалізовуваний лінійкою Енея, є одним з прикладів шифру заміни: у ньому літери замінюються на певній відстані поміж вузликами на нитці. Ключем шифру був порядок розташування літер по отворах у лінійці. Неправочинний користувач, котрий здобув нитку (навіть маючи лінійку, але без нанесених літер), не міг прочитати передаване повідомлення.
Аналогічне до лінійки Енея так зване "вузелкове письмо" ("кіпу") набуло поширення в індіанців Центральної Америки. Свої повідомлення вони також передавали у вигляді нитки, на якій зав'язувалися різнобарвні вузлики, котрі визначали зміст повідомлення.
1.2.2.3 Книжковий шифр
Помітним внеском Енея до криптографії є запропонований ним так званий книжковий шифр, описаний у творі "Про оборону укріплених місць". Еней запропонував проколювати малопомітні дірки в книзі чи в іншому документі над літерами таємного повідомлення. Варто відзначити, що в першій світовій війні минулого сторіччя німецькі шпигуни використовували аналогічний шифр, замінивши дірки на крапки, які наносилися спеціальними чорнилами на літери газетного тексту.
Винайдення друкарства Йоганном Гуттенбергом (1440, Німеччина, м. Майнц) помітно позначилось на підвищенні грамотності населення. Пожвавішало листування, став зростати обсяг обміну секретною інформацією. З іншого боку, доступні для всіх книги самі собою спричинилися до застосовування книжкових шифрів, використовуваних і в даний час.
Суть книжкового шифру полягає в заміні літер на номер рядка і номер цієї літери в рядку в заздалегідь обумовленій сторінці певної книги. Ключем такого шифру є сама книга й використовувана сторінка в ній. Існує чимало способів використання книги для таємного обміну повідомленнями. Наприклад, якщо адресати заздалегідь домовилися поміж собою про використання дублікатів однієї й тієї самої книги як ключа шифру, то їхні таємні послання могли б складатися з таких елементарних одиниць: n|m|t, де n – номер сторінки книги, m – номер рядка, t – номер літери в рядку; по цих літерах і читається таємне послання. Поряд з нумерацією літер можуть використовуватися позначення слів і навіть цілих фраз.
Книжковий шифр став "довгожителем" і застосовувався навіть у часи другої світової війни минулого сторіччя.
1.2.3 Полібіанський квадрат
Ще один винахід древніх греків – так званий квадрат Полібія (Полібій – грецький державний діяч, полководець, історик, ІІІ сторіччя до н. е.). Стосовно сучасної латинської абетки з 26 літер шифрування за цим квадратом здійснюється у такий спосіб. До квадрата розміром 5´5 клітинок виписуються всі літери абетки, при цьому літери I та J не розрізнюються (J ототожнюється з літерою I):
A | B | C | D | E | |
A | A | B | C | D | E |
B | F | G | H | I | K |
C | L | M | N | O | P |
D | Q | R | S | T | U |
E | V | W | X | Y | Z |
Зашифровувана літера замінюється на координати квадрата, у якому вона записана. Приміром, В замінюється на АВ, F – на BA, R – на DB і т. д. При розшифровуванні кожна така пара визначає відповідну літеру повідомлення. Зауважимо, що секретом у даному разі є сам спосіб замінювання літер. Ключ у цій системі є відсутній, оскільки використовується фіксований порядок слідування літер.
Існував і другий варіант шифрування за допомогою квадрату Полібія. При зашифровуванні в цьому квадраті відшукували чергову літеру відкритого тексту й записували до шифртексту літеру, розташовану нижче за неї в тім самім стовпці. Якщо літера тексту містилася в нижньому рядку таблиці, то для шифртексту брали найверхню літеру з того самого стовпця.
Ускладнений варіант шифру Полібія полягає в записуванні літер до квадрата у довільному (неабетковому) порядку. Цей довільний порядок і є ключем. Тут, однак, виникла й певна незручність. Довільний порядок літер важко запам'ятати, тому користувачеві шифру було необхідно постійно мати при собі ключ – квадрат. Виникла небезпека щодо таємного ознайомлення з цим ключем сторонніх осіб. Як компромісне рішення в якості ключа було запропоновано пароль. Легко запам'ятовуваний пароль виписувався без повторювання літер у квадрат; у клітинки, котрі залишилися порожніми, за абеткою виписувалися літери абетки, відсутні в паролі. Приміром, нехай паролем є слово THE TABLE.
Тоді квадрат має вигляд
T | H | E | A | B |
L | C | D | F | G |
I | K | M | N | O |
P | Q | R | S | U |
V | W | X | Y | Z |
Такий квадрат уже не треба мати при собі. Досить запам'ятати ключ-пароль. Зауважимо до речі, що в такий самий спосіб можна запам'ятовувати порядок розташування літер при використанні лінійки Енея, а також шифру заміни Цезаря (за довільного розташування літер у нижньому рядку). Цікаве употужнення шифру Полібія було запропоновано одним криптографом-аматором вже XІХ сторіччя. Зміст цього ускладнення з’ясуємо на прикладі.
Нехай маємо такий квадрат Полібія:
E | K | T | L | B | |
H | I,J | A | D | U | |
M | S | G | C | V | |
F | P | Q | R | W | |
O | Y | X | Z | N |
Зашифруємо за ним слово THE APPLE. Дістанемо шифрований текст:
13.21.11.23.42.42.14.11.(1.1)
На цьому зашифровування за Полібієм завершено. Це був шифр простої заміни типу шифру Цезаря, в якому кожна літера відкритого тексту замінювалася на певне двознакове десяткове число, і ця заміна не змінювалася по всьому тексту. Кількість ключів цього шифру дорівнює 25!.
Ускладнений варіант полягає в такому. Здобутий первинний шифртекст зашифровується вдруге. При цьому він виписується без розбивання на пари:
1321112342421411 (1.2)
Здобута послідовність цифр зсувається циклічно ліворуч на один крок:
Ця послідовність знову розбивається на біграми:
32.11.12.34.24.21.41.11.
й за таблицею замінюється на остаточний шифртекст:
SEKCDHFE (1.3)
Кількість ключів у цьому шифрі залишається тією самою (25!), але він є вже значно стійкіший. Зауважимо, що цей шифр вже не є шифром простої заміни (літера Е відкритого тексту переходить у різні літери: К, Е; літера Р – у літери D, H). Було виявлено й негативний момент. Якщо в шифрі простої заміни шифртекст буде написано з однією помилкою (наприклад у тексті (1.1) замість четвертої літери 23 буде написано 32), то розшифрований текст міститиме лише одну помилку: THE SPPLE, що вона легко виправляється одержувачем повідомлення. Якщо ж у тексті (1.3) буде спотворено четверту літеру (літеру С замінено, приміром, на К), то в розшифрованому тексті буде вже два спотворення: THE HІPLE, що вже утруднює відновлення вихідного повідомлення.
Аналогічно обстоїть справа з помилками виду "пропускання літер". Нехай у тексті (1.3) пропущено літеру С. Шифртекст набере вигляду SEKDHFE, чи
32.11.12.24.21.41.11.
Після розшифровування здобудемо THE ІPLE, тобто поряд з пропущенням літери в розширеному тексті наявне й спотворення іншої літери. За пропущення в (1.3) першої літери при розшифровуванні здобудемо EE APPLE.
Слід зауважити, що в дещо зміненому вигляді шифр Полібія добувся до наших днів і дістав своєрідної назви "тюремний шифр". Для його використання потрібно знати лише природний порядок розташування літер абетки (як у зазначеному вище прикладі квадрата Полібія для англійської мови). Сторони квадрата позначаються не літерами (ABCDE), а цифрами (12345). Цифра 3, наприклад, передається шляхом потрійного стукоту. При передаванні літери спочатку "відстукується" цифра, котра відповідає рядкові, в якому міститься літера, а потім – номер відповідного стовпця. Наприклад, літера F передається подвійним стукотом (другий рядок) і потім – одноразовим (перший стовпець).
Із застосовуванням цього шифру пов'язано певні історичні казуси. Приміром, декабристи, впроваджені до в'язниці після невдалого повстання, не спромоглися встановити зв'язок з князем Одоєвським, який перебував у „одиночці”. Виявилося, що князь (добре освічена для свого часу людина) не пам'ятав природного порядку розташування літер у російській та французькій абетках (іншими мовами він не володів). Декабристи для російської абетки використовували прямокутник розміром 5´6 (5 рядків і 6 стовпців) і скорочену до 30 літер абетку.
„Тюремний шифр”, строго кажучи, – не шифр, а спосіб перекодовування повідомлення з метою його приведення до вигляду, зручного для передавання „каналом зв'язку” (через стінку). Річ у тім, що в таблиці використовувався природний порядок розташування літер абетки. Отже, секретом є сам шифр (а не ключ), як у Полібія.
1.2.4 Спосіб шифрування Тритемія і його застосовування
У XV сторіччі абат Тритемій (Німеччина) зробив дві новаторські пропозиції в царині криптографії: він запропонував шифр "Аве Марія" й шифр, на підставі ключа, котрий періодично зсувається.
Шифр "Аве Марія" грунтовано на принципі заміни літер зашифровуваного тексту на заздалегідь обумовлені слова. З цих слів складалося зовнішньо "безневинне" повідомлення. Наведемо приклад.
Замінимо літери Н, І на такі слова:
Н=ЗЕЛЕНИЙ, МІЙ; БІЛЯ
І= КЛЮЧ, МОРЕ, ГАЙ
Тоді негативна секретна відповідь НІ на задане запитання може мати кілька "безневинних" варіантів: Біля моря, Мій ключ, Зелений гай.
Найбільш вагома пропозиція Тритемія щодо захисту інформації, котра дійшла до наших днів, полягає у створеній ним таблиці – таблиці Тритемія. Еквівалент її для англійської абетки наведено в додатку А.
У додатку А перший рядок є водночас і рядком літер відкритого тексту. Перша літера тексту зашифровується за першим рядком, друга літера – за другим рядком і т. д.; після використання останнього рядка – знову повертаються до першого рядка. Приміром, слово "fіght" (боротьба) набуває вигляду "fjіkx".
Зреалізовування таблиці Тритемія не потребувало використання якихось механічних пристосувань; шифрабетка з кожним кроком зашифровування зсувається на одиницю ліворуч. Однак у первинному варіанті в шифрі Тритемія був відсутній ключ. Секретом був сам спосіб шифрування. Надалі ускладнювання шифру пішло двома шляхами:
· уведення довільного порядку розташовування літер вихідної абетки зашифровуваного тексту замість лексикографічно упорядкованої абетки;
· застосовування ускладнюваного порядку вибору рядків таблиці при зашифровуванні.
Ці ускладнення дозволили застосовувати ключові множини значного обсягу. Відзначимо, що шифр простої заміни є варіантом шифру Тритемія: у ньому всі літери зашифровуються за одним і тим самим рядком таблиці.
1.2.4.1 Шифр Белазо
Наступний крок у розвиненні запропонованого Тритемієм способу шифрування було зроблено італійцем Джованні Белазо. 1553 року виходить друком його брошура "Шифр сеньйора Белазо". У цьому шифрі ключем був так званий пароль – легко запам'ятовувані фраза чи слово. Пароль записувався періодично над літерами відкритого тексту. Літера пароля розміщена над відповідною літерою відкритого тексту, зазначала номер рядка в таблиці Тритемія, за якою треба було проводити заміну (зашифровування) цієї літери. Отже, якщо паролем є слово ROІ, то при зашифровуванні слова FІGHT здобуваємо WWOYH. Аналогічні ідеї щодо зашифровування використовуються й сьогодні.
1.2.4.2 Шифр «братерства франкмасонів»
Шифр "братерства франкмасонів", чи "вільних каменярів", що вони використовували для спілкування поміж собою, за сучасними поняттями і всупереч поширеній думці, зовсім не є стійкий, але становить певний інтерес. Наведемо невеликий приклад (стосовно англійської мови). Нарисуємо три фігури такого вигляду:
A: | B: | C: | J. | K. | L. | S | T | U | ||
D: | E: | F: | M. | N. | O. | V | W | X | ||
G: | H: | I: | P. | Q. | R. | Y | Z |
Відповідно до цих фігур літери набувають такого геометричного подання:
Фраза "We talk about" при зашифровуванні набуває вигляду
Геометричне подання може змінюватися, наприклад, на
Тоді
Варто зауважити, що при поході на Росію Наполеон використовував у нижчих ланках свого зв'язку подібні шифри. Їх було розкрито російськими фахівцями, що вельми вплинуло на перебіг бойових дій.
1.2.5 Шифрувальні таблиці Трисемуса
1508 року абат з Німеччини Йоганн Трисемус надрукував працю з криптології за назвою "Поліграфія". У цій книзі він уперше систематично описав застосовування шифрувальних таблиць, заповнюваних абеткою у довільному порядку. Для дістання такого шифру заміни зазвичай використовувались таблиці для записування літер абетки й ключове слово (чи фраза). У таблицю спочатку вписувалося по рядках ключове слово, причому повторювані літери відкидалися. Потім ця таблиця доповнювалася літерами абетки, які не ввійшли до неї одна за одною. Оскільки ключове слово чи фразу легко зберігати в пам'яті, то такий підхід спрощував процеси зашифровування чи розшифровування.
При шифруванні відшукують у цій таблиці чергову літеру відкритого тексту записують у шифртекст літеру, розташовану нижче за неї в тім самім стовпці. Якщо літера тексту міститься в нижньому рядку таблиці, тоді для шифртексту беруть першу верхню літеру з того ж самого стовпця.
Такі табличні шифри називаються монограмними, тому що шифрування виконується за однією літерою.
1.2.6 Біграмний шифр Плейфейра
Основою шифру Плейфейра є шифрувальна таблиця з випадково розташованими літерами абетки вихідних повідомлень.
У цілому структура таблиці системи шифрування Плейфейра є цілком аналогічна до структури таблиці Трисемуса.
Процедура зашифровування включає такі вимоги:
Відкритий текст вихідного повідомлення розбивається на пари літер (біграми). Текст повинен мати парну кількість літер і в ньому не повинно бути біграм, котрі містили б дві однакові літери. Якщо цих вимог не додержано, то текст змодифіковується навіть через незначні орфографічні помилки.
Послідовність біграм відкритого тексту перетворюється за допомогою шифрувальної таблиці на послідовність біграм шифртексту за такими правилами:
· якщо дві літери відкритого тексту не потрапляють в один рядок чи стовпець шифрувальної таблиці, тоді відшукують літери в кутах прямокутника, визначуваного даною парою літер. Послідовність літер у біграмі шифртексту має бути дзеркально розташована стосовно послідовності літер у біграмі відкритого тексту;
· якщо обидві літери біграми відкритого тексту належать до одного стовпця таблиці, то за літери шифртексту вважаються літери, котрі розміщено під ними. Коли при цьому літера відкритого тексту перебуває в нижньому рядку, то для шифртексту береться відповідна літера з верхнього рядка того самого стовпця;
Якщо обидві літери біграми відкритого тексту належать до одного рядка таблиці, то за літери шифртексту вважаються літери, котрі розміщено праворуч від них. Коли при цьому літера відкритого тексту перебуває в крайньому правому стовпці, то для шифру беруть відповідну літеру з лівого стовпця в тому самому рядку.
При розшифровуванні застосовується зворотний порядок дій.
1.3 Шифри складної заміни
При шифруванні за допомогою шифрів складної заміни закон перетворення змінюється від символа до символу. Шифри складної заміни називають багатоабетковими шифрами, тому що для шифрування кожного символу вихідного повідомлення застосовують власний шифр простої заміни. Багатоабеткове підставляння послідовно й циклічно змінює використовувані абетки.
При r-абетковому підставлянні символ х0 вихідного повідомлення замінюється на символ у0 з абетки В0, символ х1 – на символ у1 з абетки В1 і т. д., символ хr-1 замінюється на символ уr-1 з абетки Вr-1, символ хr замінюється на символ уr знову з абетки В0 і т. д.
Загальна схема багатоабеткового підставляння для випадку r=4 наведена у табл.1.4
Таблиця 1. 4 – Схема r-абеткового підставляння для випадку r = 4
Вхідний символ | х0 | х1 | х2 | х3 | х4 | х5 | х6 | х7 | х8 | х9 |
Абетка підставляння | В0 | В1 | В2 | В3 | В0 | В1 | В2 | В3 | В0 | В1 |
Ефект використання багатоабеткового підставляння полягає в тім, що забезпечується маскування природної статистики вихідної мови, тому що конкретний символ з вихідної абетки А може бути перетворено на кілька різних символів шифрувальних абеток Вj.
1.3.1 Розвинення шифрів складної заміни
Багатоабеткові шифри заміни запропонував і запровадив у практику криптології Леон Батист Альберті, котрий був також відомим архітектором і теоретиком мистецтва. Його книга "Трактат про шифр", написана 1566 року, являла собою першу в Європі наукову працю з криптології. Криптологи усього світу вважають Л. Альберті за основоположника криптології.
Леон Альберті уперше запропонував ідею подвійного шифрування – текст, здобутий внаслідок першого шифрування, піддавався повторному зашифровуванню. У трактаті Альберті було наведено і його власний шифр, який він назвав "шифром, вартим королів". Він стверджував, що цей шифр є недешифровний. Реалізація шифру здійснювалася за допомогою шифрувального диска, який поклав початок цілої серії багатоабеткових шифрів. Пристрій являв собою пару дисків – зовнішній, нерухомий (на ньому було нанесено літери в природному порядку й цифри від 1 до 4) і внутрішній – рухомий (на ньому літери було переставлено). Процес шифрування полягав у перебуванні літери відкритого тексту на зовнішньому диску й заміні її на відповідну (яка містилася під нею) літеру шифрованого тексту. Після зашифровування декількох слів внутрішній диск зсувався на один крок. Ключем даного шифру є порядок розташування літер на внутрішньому диску і його початкове положення щодо зовнішнього диска.
Шифр, зреалізовуваний диском Альберті, нашого часу дістав назви багатоабеткового. Зміст цієї назви полягає в такому.
Повернімося до дворядкового запису шифру заміни Ю. Цезаря. Назвемо верхній рядок абеткою відкритого тексту, а нижній – абеткою шифрованого тексту (шифрабеткою). Якщо в перебігу шифрування абетка шифрованого тексту не змінюється, то шифр є одноабетковим (чи шифром простої заміни); якщо ж ця абетка змінюється, то шифр є багатоабетковим. Отже, шифр Цезаря – це шифр простої заміни, а в багатоабетковому шифрі Альберті кількість абеток дорівнює кількості літер в абетках відкритого тексту плюс чотири. Альберті – винахідник багатоабеткових шифрів, які, в основному, використовуються й у наші дні. Однак засіб продукування послідовності абеток шифрованого тексту та їхній вибір є надто ускладнений; в Альберті він визначався циклічним зсуненням на одиницю через заздалегідь обумовлену кількість літер, які треба зашифрувати, тобто процес шифрування став "динамічним".
Другий винахід Альберті – літерно-цифровий код (щоправда, малого обсягу). Цифри на диску Альберті (1, 2, 3, 4) шифруються так само, як і літери. Альберті запропонував використовувати упорядковані дво-, три- й чотирицифрові комбінації в якості кодопозначень для літер, слів і цілих фраз (кількість таких комбінацій дорівнює 336). Не виключено, що такі коди використовувалися й раніше, але в історичних документах їх позв'язують з ім'ям Альберті. Особливо відзначимо, що кодовані повідомлення потім повторно шифрувались, тобто використовувався код з перешифровуванням. Ця ідея використовується і в сучасному шифруванні.
У XVІ сторіччі вагомий внесок до розвинення криптографії вклав криптограф папи римського Маттео Ардженті, котрий успадкував мистецтво тайнопису від свого дядька. Саме Ардженті запропонував використовувати слово-пароль для надання абетці легко запам'ятовуваного змішаного вигляду. Про це вже йшлося при розгляданні ускладненого шифру Полібія.
Ардженті рекомендував не відокремлювати слова, застосовувати омофонні заміни, вставляти в шифртекст велику кількість "пустишок", усувати пунктуацію, не вставляти в шифртекст відкриті слова ("клер") і т. д. Для утруднення дешифрування шифрів заміни він запропонував таке: замінювати літери чи на цифри (від 0 до 9), чи на числа (від 00 до 99), причому, аби уникнути плутанини при розшифровуванні, цифри, використовувані як самостійні шифропозначення, не повинні входити до двознакових позначень. Оскільки однознакових позначень виявляється порівняно небагато, то, аби не впадала в око їхня мала частість з’явлення в шифртексті, Ардженті рекомендував додавати однознакові позначення літер, які найчастіше зустрічаються у відкритому тексті.
Наведемо приклад шифру заміни Ардженті для італійської мови. У цій заміні поряд із шифруванням використовується шифрування-кодування деяких дво- й трилітерних часто вживаних сполучень.
A B C D E F G H I L M N O
1 86 02 20 62, 82 22 06 60 3 24 26 84 9
P Q R S T U Z
66 68 28 42 80 46 88
ET CON NON CHE ПУСТИШКИ
08 64 00 44 5, 7
Слово ARGENTI могло набути при зашифровуванні такого вигляду:
5128066284580377 або такого: 1772850682584780537.
Це було насправді серйозне ускладнення шифру заміни. Частісний аналіз дешифрувальника істотно ускладнювався.
Ардженті займався також ускладненням кодів (номенклаторів). Зокрема, він уперше розробив літерний код, у якому 1200 літер, складів, слів і цілих фраз замінювалися на групу з літер.
Порта видозмінив шифрувальний диск Альберті, перетворивши абетку шифрованого тексту на улюблені ним символіко-геометричні фігури. Зрозуміло, жодного ускладнення при цьому шифр Альберті не набув, додалося лише екзотики у шифрованому тексті.
Основна книга Порта про тайнопис – це книга "Про таємне переписування". Вона написана в жанрі підручника. У ній Порта висвітлив слабкості широко розповсюджених того часу шифрів, у тому числі й шифрів масонів, котрі він іронічно назвав шифрами "сільських жителів, жінок та дітей", і запропонував так званий біграмний шифр.
Цей шифр є шифр біграмної (дволітерної) заміни, в якому кожному дволітерному сполученню відкритого тексту в шифрованому тексті відповідав спеціально вигаданий знак. Знаки шифртексту мали форму символіко-геометричних фігур. Власне це був той самий шифр простої заміни, але на рівні дволітерних сполучень. Криптографічна стійкість за такої заміни порівняно з політерним шифруванням помітно ставала потужнішою.
Порта також запропонував змеханізовувати процес шифрування за його таблицею. Він навів опис механічного дискового пристрою, який зреалізовує біграмну заміну.
Порта рекомендував не використовувати в переписуванні стандартних слів та виразів; більш того, він пропонував записувати відкритий текст з помилками, аби утруднити роботу дешифрувальника. Він писав: "... коли тема переписування є відома, аналітик може робити проникливі припущення щодо слів ...", що може істотно полегшити роботу дешифрувальника.
Порта запропонував певну модифікацію шифру Белазо. У застосуванні до української мови він являє собою прямокутну таблицю з літер абетки в порядку, наведеному на рис.1.4.
Шифрування здійснюється за допомогою секретного гасла. Це гасло періодично виписується над відкритим текстом, за першою літерою цього гасла відшукується абетка (великі літери на початку рядків), у верхній чи нижній напівабетці відшукується перша літера відкритого тексту і замінюється на відповідну їй літеру з верхнього чи нижнього рядка. Аналогічно шифруються й інші літери (інтервали поміж словами не враховуються). Навеведемо приклад:
Гасло: с к а р б н и ц я с к а р б н и ц я ………..........
Відкритий текст: п е р и о д и ч н и й ш и ф р …………….............
Шифртекст: з ш г п б щ ь л б р п ї п ж ї .................................
За цей шифр Порта пізніше назвали батьком сучасної криптографії, але свого часу цей шифр не набув широкого застосування. Причина цього – необхідність постійно мати при собі зазначену таблицю і складність процесу шифрування. Однак було надано імпульсу для з׳явлення інших систем шифру (наприклад шифру Віженера).
А Б | а н | б о | в п | г р | д с | е т | є у | ж ф | з х | и ц | і ч | ї ш | й щ | к ь | л ю | м я | |
В Г | а о | б п | в р | г с | д т | е у | є ф | ж х | з ц | и ч | і ш | ї щ | й ь | к ю | л я | м н | |
Д Е | а п | б р | в с | г т | д у | е ф | є х | ж ц | з ч | и ш | і щ | ї ь | й ю | к я | л н | м о | |
Є Ж | а р | б с | в т | г у | д ф | е х | є ц | ж ч | з ш | и щ | і ь | ї ю | й я | к н | л о | м п | |
З И | а с | б т | в у | г ф | д х | е ц | є ч | ж ш | з щ | и ь | і ю | ї я | й н | к о | л п | м р | |
І Ї | а т | б у | в ф | г х | д ц | е ч | є ш | ж щ | з ь | и ю | і я | ї н | й о | к п | л р | м с | |
Й К | а у | б ф | в х | г ц | д ч | е ш | є щ | ж ь | з ю | и я | і н | ї о | й п | к р | л с | м т | |
Л М | а ф | б х | в ц | г ч | д ш | е щ | є ь | ж ю | з я | и н | і о | ї п | й р | к с | л т | м у | |
Н О | а х | б ц | в ч | г ш | д щ | е ь | є ю | ж я | з н | и о | і п | ї р | й с | к т | л у | м ф | |
П Р | а ц | б ч | в ш | г щ | д ь | е ю | є я | ж н | з о | и п | і р | ї с | й т | к у | л ф | м х | |
С Т | а ч | б ш | в щ | г ь | д ю | е я | є н | ж о | з п | и р | і с | ї т | й у | к ф | л х | м ц | |
У Ф | а ш | б щ | в ь | г ю | д я | е н | є о | ж п | з р | и с | і т | ї у | й ф | к х | л ц | м ч | |
Х Ц | а щ | б ь | в ю | г я | д н | е о | є п | ж р | з с | и т | і у | ї ф | й х | к ц | л ч | м ш | |
Ч Ш | а ь | б ю | в я | г н | д о | е п | є р | ж с | з т | и у | і ф | ї х | й ц | к ч | л ш | м щ | |
Щ Ь | а ю | б я | в н | г о | д п | е р | є с | ж т | з у | и ф | і х | ї ц | й ч | к ш | л щ | м ь | |
Ю Я | а я | б н | в о | г п | д р | е с | є т | ж у | з ф | и х | і ц | ї ч | й ш | к щ | л ь | м ю |
Рисунок 1.4 – Шифр Белазо для української мови
У середині XVІ сторіччя в Італії з'являється книга математика, лікаря й філософа Дж. Кардано "Про тонкощі" з доповненням "Про різні речі", у якій є розділи, присвячені криптографії. У ній знайшли відбиття нові ідеї криптографії: використання частини самого передаваного відкритого тексту як ключа до шифру і новий спосіб шифрування, котрий увійшов до історії як ґрати Кардано. Для виготовлення ґрат брався лист із твердого матеріалу (картон, пергамент, метал), котрий являв собою квадрат, в якому вирізано "вікна". При шифруванні ґрати накладалися на аркуш паперу і літери відкритого тексту вписувалися у "вікна". По заповненні всіх "вікон" ґрати поверталися на 90° – знову літери відкритого тексту вписувалися у "вікна" повернених ґрат. Потім знову здійснювалось повертання на 90° і т. д. За один "захід" ґрати працювали чотири рази. Якщо текст було зашифровано не цілковито, то ґрати ставилися у вихідне положення – і вся процедура повторювалася. Це є не що інше, як шифр переставляння.
Головна вимога до ґрат Кардано: за всіх повертань "вікна" не повинні потрапляти на одне й те саме місце в квадраті, в якому утворюється шифртекст.
Якщо в квадраті після зняття ґрат утворилися порожні місця, то в них вписувалися довільні літери. Потім літери квадрата виписувалися порядково, що й становило шифрований текст.
Запропонований Кардано шифр-ґрати покладено в основу славнозвісного шифру Рішельє, в якому шифрований текст мав вигляд "безневинного" послання. З цупкого матеріалу вирізувався прямокутник розміром, приміром, 7´10; у ньому робилися "вікна". Секретний текст вписувався в ці „вікна”, потім ґрати знімалися – і клітинки, що вони залишилися, заповнювалися у такий спосіб, аби вийшло "безневинне" повідомлення. Зрозуміло, використання цього шифру спричинює утруднення й вимагає відповідного інтелекту.
Блез де Віженер (XVІ ст.), посол Франції в Римі, ознайомившись з працями Тритемія, Белазо, Кардано, Порта, Альберті, також захопився криптографією. 1585 року він написав "Трактат про шифри", в якому викладено основи криптографії. У цій праці він зауважує: "Усі речі в світі являють собою шифр. Уся природа є просто шифром і секретним посланням". Цю думку було пізніше повторено Блезом Паскалем – одним з основоположників теорії ймовірностей, а потім і Норбертом Вінером – "батьком" кібернетики. У цьому трактаті знову „взято на озброєння” ідею використання самого відкритого тексту як ключа. Заздалегідь обумовлюється одна ключова літера абетки, й перша літера повідомлення шифрується таблицею Тритемія за рядком, що він відповідає першій літері шифрованого повідомлення, і т. д. Отже, було зреалізовано ідею, раніше запропоновану Кардано.
Система Віженера є подібна до такої системи шифрування Цезаря, в якій ключ підставляння змінюється від літери до літери. Цей шифр багатоабеткової заміни можна описати таблицею шифрування, яку називають таблицею (квадратом) Віженера (додаток А).
Таблиця Віженера використовується для зашифровування й розшифровування. Таблиця має два входи:
· верхній рядок підкреслених символів, який використовується для зчитування чергової літери вихідного відкритого тексту;
· крайній лівий стовпець ключа.
Послідовність ключів зазвичай здобувають з числових значень літер ключового слова.
При шифруванні вихідного повідомлення його виписують у рядок, а під ним записують ключове слово (чи фразу). Якщо ключ виявився коротше за повідомлення, то його циклічно повторюють. У перебігу шифрування відшукують у верхньому рядку таблиці чергову літеру вихідного тексту й у лівому стовпці – чергове значення ключа. Чергова літера шифртексту перебуває на перетинанні стовпця, визначуваного зашифровуваною літерою, і рядка, визначуваного числовим значенням ключа. Нехай ключова послідовність має довжину r, тоді ключ r-абеткового підставляння є r-рядок
.
Система шифрування Віженера перетворює відкритий текст на шифртекст за допомогою ключа згідно з правилом
Тp → ;
,
де .
Недолік цього шифру – його слабка стійкість: якщо використовувана таблиця Тритемія є відома, то для дешифрування досить опробувати першу (ключову) літеру – і шифр "розколюється".
Другий варіант використання таблиці Тритемія, запропонований Віженером, полягає в застосуванні гасла. Власне Віженер сполучив підходи Тритемія, Белазо, Порта до шифрування відкритих текстів, істотно не внісши до них нічого оригінального.
Пізніше шифр Віженера значно спростив для його практичного використання граф Гронсфельд – керівник першого в Німеччині державного дешифрувального органа ("криптографічної лабораторії"). Його пропозиція призвела до появи так званого шифру гаммування – одного з найпоширеніших шифрів у сучасній криптографії. Суть цієї пропозиції полягає в такому.
Випишемо латинську абетку: