Как работает шифр Плейфера

Шифр Плейфера — первая в истории система, которая шифровала не отдельные буквы, а их пары. Идея кажется скромной, но именно она вывела криптографию из тупика, в котором та застряла на несколько столетий: любой шифр простой замены вскрывался подсчётом того, как часто встречается каждая буква. Плейфер сломал этот приём, и потому продержался на военной службе от Англо-бурской войны до Второй мировой.

Ниже — разбор механики по шагам, с полностью просчитанным примером на русском языке, а не только с классическим английским 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 утра», а «в пять утра». Это не недостаток реализации, а свойство самого метода, рассчитанного на ручную работу с карандашом и бумагой.