Как работает шифр Плейфера
Шифр Плейфера — первая в истории система, которая шифровала не отдельные буквы, а их пары. Идея кажется скромной, но именно она вывела криптографию из тупика, в котором та застряла на несколько столетий: любой шифр простой замены вскрывался подсчётом того, как часто встречается каждая буква. Плейфер сломал этот приём, и потому продержался на военной службе от Англо-бурской войны до Второй мировой.
Ниже — разбор механики по шагам, с полностью просчитанным примером на русском языке, а не только с классическим английским MONARCHY, который кочует из статьи в статью.
Кто и когда придумал шифр
Автор шифра — Чарльз Уитстон, английский физик, известный также изобретением концертины и измерительной схемы, которая до сих пор носит название «мост Уитстона». Шифр он предложил в 1854 году.
Продвижением занялся его друг и сосед Лайон Плейфер, первый барон Плейфер — учёный и политик, имевший вес в британском правительстве. Он представил систему Форин-офису и военному ведомству, отвечал на вопросы чиновников и в итоге подарил шифру своё имя. Уитстон остался автором, Плейфер — «лицом» проекта.
Реакция была прохладной: в министерстве сочли метод слишком сложным для полевых условий. Плейфер возразил, что обучить ему четырёх школьников из соседней школы можно за пятнадцать минут, и оказался прав. Британская армия использовала шифр во Второй англо-бурской войне и в Первой мировой войне, а во Второй мировой к нему прибегали австралийские и новозеландские береговые наблюдатели на островах Тихого океана.
Главная идея: биграммы вместо букв
Чтобы понять, почему Плейфер был шагом вперёд, достаточно вспомнить, как ломается шифр Цезаря или любая другая одноалфавитная замена. В русском языке буква «О» встречается примерно в 11 % случаев, «Е» — около 8 %, а «Ф» — реже чем в 0,2 %. Замените «О» на «Щ» — и «Щ» в шифротексте будет встречаться ровно так же часто. Криптоаналитику остаётся построить столбик частот и сопоставить его с эталонным.
Уитстон предложил шифровать биграммы — пары соседних букв. Пар в русском алфавите не 32, а 32 × 32, то есть больше тысячи, и распределены они гораздо ровнее, чем одиночные буквы. Простой частотный анализ по буквам после такого преобразования не даёт ничего: буква «О» в разных парах превращается в разные символы.
Формально Плейфер относится к полиграммным шифрам замены — тем, где единицей шифрования служит группа символов. До него практически вся криптография была моноалфавитной, то есть работала посимвольно.
Шаг 1. Строим таблицу из ключа
Ключ шифра — обычное слово или фраза. Из него строится квадратная (для английского) или прямоугольная (для русского) таблица.
Возьмём ключ КЛЮЧ. Выписываем его буквы по порядку, отбрасывая повторы, а затем дописываем оставшийся алфавит. Русская таблица имеет размер 4 × 8 — 32 клетки, поэтому буквы Е и Ё объединяются в одну:
Для английского языка таблица квадратная, 5 × 5, и в неё не помещается одна из 26 букв — традиционно I и J делят общую клетку. Подробный разбор того, как собрать таблицу вручную и не ошибиться, вынесен в отдельный материал: шифр Плейфера вручную — таблица 4 × 8.
Шаг 2. Разбиваем текст на пары
Зашифруем фразу ВСТРЕЧА В ПОЛДЕНЬ. Пробелы и знаки препинания отбрасываются — шифр работает
только с буквами. Остаётся ВСТРЕЧАВПОЛДЕНЬ, пятнадцать букв.
Разбиваем на пары слева направо, соблюдая два правила:
- если внутри пары оказались две одинаковые буквы, между ними вставляется заполнитель, и вторая буква переходит в следующую пару;
- если общее число букв нечётное, заполнитель дописывается в конец.
В нашей фразе букв пятнадцать, поэтому последняя пара достраивается буквой Х:
ВС ТР ЕЧ АВ ПО ЛД ЕН ЬХ
Единого стандарта на заполнитель нет. В английской традиции это X, в русскоязычных источниках
встречаются и Х, и Я. Важно лишь, чтобы отправитель и получатель договорились заранее:
от выбора зависит результат.
Шаг 3. Три правила замены
Каждая пара заменяется по одному из трёх правил — в зависимости от того, как буквы расположены в таблице.
Правило 1. Буквы в одной строке
Обе заменяются на соседей справа. Если буква стоит последней в строке, берётся первая буква той же строки — строка замкнута в кольцо.
Правило 2. Буквы в одном столбце
Обе заменяются на соседей снизу. Нижняя строка так же замыкается на верхнюю.
Правило 3. Буквы образуют прямоугольник
Самый частый случай. Мысленно достраиваем прямоугольник, где наши буквы — противоположные углы, и берём два других угла. Порядок важен: для каждой буквы берётся угол в её собственной строке.
Разберём первую пару ВС. Буква В стоит в строке 1, столбце 7. Буква
С — в строке 3, столбце 4. Строки и столбцы разные, значит работает правило прямоугольника.
Для В берём букву из строки 1, столбца 4 — это Ч. Для С берём букву из строки 3,
столбца 7 — это Ф. Пара ВС превращается в ЧФ.
Проделав это со всеми парами, получаем шифротекст:
ЧФУСЗЛБГРПКЕЖДЯУ
Шаг 4. Расшифровка
Обратная операция использует ту же таблицу и почти те же правила, только со сдвигом в другую сторону: в строке буквы берутся слева, в столбце — сверху. Правило прямоугольника работает одинаково в обе стороны — оно само себе обратно.
Расшифровав ЧФУСЗЛБГРПКЕЖДЯУ ключом КЛЮЧ, получаем ВСТРЕЧАВПОЛДЕНЬХ. Последняя
Х — тот самый заполнитель, его отбрасываем и читаем: «встреча в полдень».
Проверить любой пример из статьи можно прямо сейчас:
Шифр Плейфера онлайнНасколько это надёжно сегодня
По современным меркам — совсем не надёжно, и знать это важно, прежде чем доверять шифру что-то настоящее. Уже в 1914 году американский офицер Джозеф Моборн опубликовал работу с описанием вскрытия. К моменту Первой мировой немецкая разведка читала британские сообщения, зашифрованные Плейфером, за считанные часы — тактически это ещё имело смысл, стратегически уже нет.
Слабость в том, что частотный анализ никуда не делся — он просто перешёл с букв на пары. Кроме того, шифр обладает заметным свойством: пара AB и пара BA всегда шифруются взаимно обратно, что даёт криптоаналитику дополнительную зацепку. Подробный разбор методов вскрытия, включая современный «метод восхождения на гору», собран здесь: как взломать шифр Плейфера.
Практический вывод простой: используйте Плейфер для учебных задач, квестов, головоломок и знакомства с криптографией — но не для защиты реальных данных. Для этого существуют SHA-256 и современные симметричные алгоритмы вроде AES.
Самый известный случай применения
В августе 1943 года японский эсминец протаранил в проливе Блэкетт американский торпедный катер PT-109, которым командовал будущий президент США Джон Кеннеди. Выживший экипаж оказался на необитаемом острове.
Сообщение о спасательной операции передал австралийский береговой наблюдатель — и зашифровал его именно Плейфером. Этот эпизод часто пересказывают неточно, приписывая работу с шифром самому Кеннеди; на деле шифровальщиком был наблюдатель из Королевского австралийского флота. К 1943 году шифр давно не считался надёжным, но для береговых постов, работавших без шифровальной техники, он оставался разумным компромиссом между скоростью и секретностью.
Варианты и потомки шифра
Уитстон не остановился на одной таблице. Позже появилось семейство родственных систем: двухквадратный и четырёхквадратный шифры, где используются две или четыре таблицы сразу. Они устраняют главный структурный изъян Плейфера — свойство, при котором пара букв AB и пара BA всегда шифруются взаимно обратно.
Немецкая армия во Второй мировой применяла двухквадратный вариант под названием Handschlüssel. Британцы в Блетчли-Парке научились вскрывать его к 1944 году.
Плейфер в культуре
Шифр оставил заметный след за пределами военных архивов. Он лежит в основе сюжета романа Дороти Сэйерс «Have His Carcase», где детектив Лорд Питер Уимзи вскрывает зашифрованное послание. Плейфер появляется в романе Хэммонда Иннеса «The Trojan Horse» 1940 года и в фильме «Сокровище нации: Книга Тайн». Для многих читателей именно эти книги стали первым знакомством с идеей, что шифровать можно парами.
Что почитать и попробовать дальше
Если механика ясна, логичное продолжение — посмотреть, как та же задача решается кодом: реализация шифра Плейфера на Python с поддержкой кириллицы. А для сравнения с другой ветвью развития криптографии стоит взглянуть на шифр Виженера — он решал ту же проблему частотного анализа, но совершенно иным способом.
Частые вопросы
Почему шифр называется именем Плейфера, если придумал его Уитстон?
Чарльз Уитстон изобрёл шифр в 1854 году, но продвигать его в британском Форин-офисе и военном ведомстве взялся его друг Лайон Плейфер, первый барон Плейфер. Именно к нему чиновники обращались с вопросами, и его имя закрепилось за системой. Уитстон при этом остался в истории и как изобретатель концертины, и как автор мостовой схемы Уитстона.
Сколько букв помещается в русскую таблицу Плейфера?
Тридцать две. Таблица имеет размер 4 на 8 клеток, а в русском алфавите 33 буквы, поэтому одну пару приходится объединять. Чаще всего объединяют Е и Ё как графически и фонетически близкие. Некоторые реализации вместо этого выбрасывают Ъ, но тогда шифр перестаёт корректно обрабатывать слова вроде «объезд».
Что делать, если в тексте нечётное число букв?
В конец добавляется служебная буква-заполнитель, чтобы получилась полная биграмма. В английской традиции это X, в русской чаще берут Х или Я. При расшифровке такую букву нужно просто отбросить, ориентируясь на смысл: «АТАКАНАРАССВЕТЕХ» читается как «атака на рассвете».
Можно ли шифровать Плейфером цифры и знаки препинания?
Нет. Шифр работает только с буквами таблицы, поэтому цифры, пробелы и пунктуация при шифровании отбрасываются. Числа обычно записывают словами до начала шифрования: не «в 5 утра», а «в пять утра». Это не недостаток реализации, а свойство самого метода, рассчитанного на ручную работу с карандашом и бумагой.