Як блокові шифри змінили шпигунство під час Першої світової війни

1

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

У епоху до комп’ютерів криптографи активно використовували цю техніку. Вони не мали алгоритмів до виконання складних обчислень. Натомість вони застосовували ключі на основі слів та прямокутні матриці для перемішування даних. Одним із популярних варіантів була система фракціонування. Ось як вона працювала: спочатку символи відкритого тексту замінювали кілька нових символів. Якщо поодинокі літери замінювалися парами, це називалося білінійним шифром. Потім застосовувався фінальний етап перестановки. Цей останній крок часто називають супершифруванням.

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

Механізм шифру ADFGVX

Система ADFGVX використовувала матрицю розміром 6×6. Ця сітка обробляла 26 літер алфавіту та 10 цифр. Кожен символ вихідного повідомлення замінювався парою символів, вибраних із набору: A, D, F, G, V та X. Так створювався білінійний шифр.

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

Шифр ​​ADFGVX був одним із найвідоміших польових шифрів в історії.

Чому це мало значення

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

У 1918 році французький криптоаналітик Жорж Ж. Пенвен зламав код. У нього не було суперкомп’ютера. Він використовував статистичний аналіз та розпізнавання патернів. Пенвен виявив критичні вразливості у цьому, як німецька армія застосовувала шифр. Його успіх мав негайні та руйнівні наслідки. Він змінив баланс сил у Другій битві на Марні.

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

Ми, як і раніше, використовуємо ту ж базову логіку сьогодні. Програмне шифрування також багатошарове. Але тепер продукт обробляється кремнієм, а не паперовими сітками. Принцип залишається тим самим: більше шарів може означати більшу безпеку. Але це також може означати більшу складність. А саме там і трапляються помилки.

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