Шифр Playfair

1

Як шифр Плейфера захищав секрети до епохи комп’ютерів

Якщо ви думаєте, що сучасне шифрування складно, ви маєте рацію. Але задовго до появи квантових комп’ютерів та 256-бітних ключів шпигуни та дипломати використовували щось набагато простіше. Вони використали диграфи. Замість заміни окремих літер вони об’єднували їх у пари.

Найвідоміший приклад? Шифр Плейфера.

Це шифр підстановки. Він старий. Винайдений у 1854 році сером Чарльзом Уітстоном, він отримав своє ім’я на честь Лайона Плейфера, першого барона Плейфера із Сент-Ендрюса, який просував його у Британському зовнішньому міністерстві. Чому це мало значення? Тому що він ламав простий частотний аналіз, який легко зламував базові шифри. Обробляючи пари букв як єдині одиниці, він розмивав межі. Пари літер, як і раніше, корелюють, безумовно. Але не так очевидно, як окремі букви.

Ось як це працює практично.

Ви починаєте із сітки 5×5. В алфавіті 26 літер. Вам потрібно 25 осередків. Тому I і J поділяють одну комірку. Ви обираєте ключове слово. Давайте використовуємо MONARCHY. Ви записуєте його першим. Потім заповнюєте решту літер, що залишилися, в алфавітному порядку.

Шифр ​​Плейфера знижував ефективність сирого частотного розподілу, обробляючи диграфи як одиниці.

Це не просто теорія. Лорд Пітер Вімзі зламує шифр Плейфера в романі Дороті Л. Сейєрс Have His Carcase. Це витончений трюк. Але він не є ідеальним. Диграфи корелюють. Ви все ще можете зламати його, якщо у вас достатньо тексту.

То чому це важливо сьогодні?

Тому що це демонструє еволюцію безпеки. Ми перейшли від ручних сіток до алгоритмів. Але основна ідея залишається незмінною. Заплутайте дані. Зробіть їх складними для читання без ключа.

Шифр Плейфер був кроком вперед. Він був складнішим, ніж зсув Цезаря. Але він не був не зламується.

І ось у чому справа зі старими технологіями. Вони елегантні. Вони прості. Вони також недосконалі.

Ми більше його не використовуємо. У нас є найкращі інструменти. Але розуміння цього допомагає. Це показує, як ми потрапили сюди. Це демонструє боротьбу між секретністю та викриттям.

Сітка зникла. Ключові слова забуті. Але гра продовжується.

Навігація за правилами матриці Плейфера

Криптографія середини ХХ століття полягала у приховуванні повідомлень, а й у тому, щоб зробити їх нечитаними без загального ключа. Шифр Плейфера, зокрема, при використанні унікальної матриці, згенерованої Сеєрсом, спирається на строгий набір геометричних правил. Для шифрування повідомлення ви не розглядаєте літери окремо. Ви розглядаєте їх як диграфи – пари букв.

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

Різні рядки та стовпці

Це найпоширеніший сценарій. Якщо дві літери, скажімо W і E, перебувають у різних рядках і різних стовпцях, вони утворюють кути прямокутника. Логіка шифрування тут проста: кожна буква змінює місцями позицію, щоб завершити інші кути прямокутника.

W перетворюється на той самий рядок, але у стовпець, де E. E перетворюється на свій стовпець, але у рядок W. У масиві Сейерса W стає U, а E стає G. Результат — UG. Це простий обмін на основі геометрії.

Один рядок

Ситуація змінюється, коли літери перебувають у одному рядку. Візьмемо A і R. Якщо вони стоять поряд (або у будь-якому місці однієї горизонтальної лінії), правило змінюється на циклічний зсув. Ви робите крок праворуч.

A стає R. R стає M, з переходом на початок рядка за потреби. Це зсув, а чи не обмін.

Один стовпець

Вертикальне вирівнювання запускає іншу механіку. Розглянемо I і S. Якщо вони стоять один над одним в одному стовпці, ви не рухаєтеся праворуч. Ви рухаєтеся вниз.

I стає S. S стає X, знову ж таки, з правилом переходу на початок стовпця, якщо ви досягаєте нижньої частини сітки. Шифр рухається вертикально, а чи не горизонтально.

Обробка подвійних букв та непарної довжини

p align=”justify”> Система Плейфера має неприємну звичку давати збій при зіткненні з подвійними літерами. Ви не можете зашифрувати MM як один диграф. Правило суворе: пара має бути унікальною.

Якщо ви маєте слово SUMMER, ви не можете згрупувати його як SU-MM-ER. Натомість ви вставляєте літеру-заповнювач, зазвичай Q, між подвійними літерами. MM перетворюється на MQ та ME. Таким чином, SUMMER розпадається на SU-MQ-ME-R (з додаванням заповнення див. нижче).

Саме тут з’являється Q. Це фіктивний символ, заповнювач, який несе семантичного навантаження, але гарантує, що алгоритм зможе обробити пару.

Потім виникає проблема довжини. Плейфер вимагає парної кількості літер. Якщо повідомлення закінчується непарною кількістю символів, ви додаєте X (або іноді Q) в кінець. Це грубе рішення структурного обмеження.

Результат

Коли ви застосовуєте ці правила до знайомого прикладу відкритого тексту, використовуючи специфічний масив Плейфера Сейєрса, результат являє собою рядок, що складається з випадкових літер, що здаються випадковими. Але для будь-кого, хто тримає матрицю, геометрія розкриває вихідне повідомлення.

Краса цієї системи не в її секретності, а в її елегантності. Проста сітка, чотири правила та безліч логічних операцій з позиціями. Вона перетворює мову на головоломку, де деталі не просто підходять; вони ковзають.

Що відбувається, коли літера-заповнювача сама утворює подвійну літеру з наступним символом?

Чому шифр Плейфера все ще протікає дані

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

Але із шифром Плейфера відбувається не так.

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

Криптоаналітики використовують цю структуру. Це його ключова слабість.

Але тут є нюанс. Шифр все ж таки приховує значну частину частотного розподілу відкритого тексту. Це робить його більш стійким до злому, ніж проста моноалфавітна підстановка. Чи не неможливим. Просто значно складнішим.

Як кореляції рядків і стовпців допомагають хакерам

Шифр Плейфер працює з диграфами (парами букв). Він використовує сітку розміром 5×5. Розташування літер у цій сітці визначає правила шифрування.

Якщо дві літери знаходяться в одному рядку, вони рухаються праворуч. Якщо в одному стовпці вниз. В інших випадках вони утворюють прямокутник, і літери змінюються місцями стовпчиками.

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

Чому це важливо? Тому що повна випадковість рідко зустрічається у людській мові. Якщо усунути очевидні закономірності, тіні все одно залишаються. Метод Плейфера зрушує ці тіні, але не стирає їх.

Порівняння шифру Плейфера з моноалфавітними системами

Моноалфавітний шифр зіставляє кожну букву відкритого тексту одній літері шифротексту. A стає X, B стає Y. Частотний аналіз тривіальний. Ви рахуєте літери. Зіставляєте найчастіші з E, T, A. Готово.

Плейфер ускладнює це завдання. Він зіставляє окремі букви. Він зіставляє пари. Це змінює частотний ландшафт.

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

Однак частотність диграф зберігається. І вона не є рівномірною. Деякі пари зустрічаються найчастіше через структуру мови. Правила рядків та стовпців Плейфера не повністю рандомізують ці частоти. Вони спотворюють їх. Але вони залишаються виявленими.

То що він безпечний?

Ні, за сучасними стандартами. Це був крок уперед порівняно із простою підстановкою. Він виграв час. Змусив атакуючих думати парами, а чи не окремими літерами. Але структура все ще є. Відхилення від плоского розподілу – це ознака.

Сітка залишається. Геометрія лишається. І доки зберігається геометрія, можна знайти закономірності.

Попередня статтяЯк Auto-GPT перетворює GPT-4 на автономного агента, який дійсно виконує роботу
Наступна статтяЧому хмарне сховище замінює ваш жорсткий диск