Шифруется не буква, а пара букв — и частотный анализ перестаёт работать. Прямая дорога к современным блочным шифрам.
Плейфер и Уитстон — представители отдельной группы шифров замены: полиграммных. Частный случай — биграммные, когда блок состоит ровно из двух букв. Это третья, завершающая ступень эволюции классических шифров замены.
Исторически оба шифра связаны: Плейфер придумал Чарльз Уитстон в 1854 году (популяризировал — лорд Плейфер, отсюда название), а шифр с двумя квадратами — прямое развитие той же идеи: что если использовать не одну таблицу, а две?
Шифр применялся британской армией во время англо-бурской и Первой мировой войны. Цезарь и Виженер шифруют каждую букву по отдельности — это удобно ломать частотным анализом. Плейфер устроен иначе: он шифрует сразу пару букв, и результат зависит от того, какая буква стоит рядом. Одна и та же буква в разных парах превратится в разные буквы — частотный анализ отдельных букв перестаёт работать.
Шаг 1. Выписываем буквы ключевого слова по порядку, без повторов.
Шаг 2. Продолжаем выписывать остальные буквы алфавита по порядку (А, Б, В, Г…), пропуская Ё, Й, Ъ, Ь и буквы, уже стоящие в таблице.
Шаг 3. В последнюю свободную ячейку ставим символ пробела «␣».
Шаг 4. Заполняем ячейки построчно, слева направо, сверху вниз — по 6 букв в строке, всего 5 строк.
Правило 1 — буквы в одной строке. Каждая буква заменяется на букву правее неё в этой же строке (с переносом на начало строки).
Правило 2 — буквы в одном столбце. Каждая буква заменяется на букву ниже неё в этом же столбце (с переносом на начало столбца).
Правило 3 — буквы образуют прямоугольник. Если буквы не в одной строке и не в одном столбце, каждая заменяется на букву из своей строки, но столбца второй буквы.
Расшифровка использует те же правила в обратную сторону: для строки — сосед слева, для столбца — сосед сверху. Правило прямоугольника одинаково работает в обе стороны.
Буква Й заменяется на И, поэтому ключ фактически «ТАИНА», повтор буквы А не дублируется.
текст: ВЗЛОМ СЕТИ → ВЗЛОМСЕТИ (9 букв, нечётно → +␣) → ВЗЛОМСЕТИ␣ пары: ВЗ ЛО МС ЕТ И␣ ВЗ прямоугольник В→Б, З→К → БК ЛО одна строка, справа Л→М, О→П → МП МС одна строка, справа М→О, С→Л → ОЛ (С переносится в начало строки) ЕТ прямоугольник Е→Г, Т→И → ГИ И␣ прямоугольник И→В, ␣→Э → ВЭ шифротекст: БК МП ОЛ ГИ ВЭ (слитно — БКМПОЛГИВЭ)
Прямое развитие идеи Плейфера. Первая буква пары ищется в левой таблице, вторая — в правой, а на пересечении их строк и столбцов строится тот же прямоугольник — только теперь он «перекидывается» между двумя разными таблицами. Обе таблицы строятся независимо, по тому же алгоритму, но каждая — по своему ключевому слову.
Особый случай — одна и та же строка. Если первая буква пары (в левой таблице) и вторая буква пары (в правой таблице) стоят в одной и той же строке — обе буквы остаются без изменений.
Общий случай — прямоугольник. Если строки разные, первая зашифрованная буква берётся из левой таблицы — в строке первой буквы, но в столбце второй; вторая — из правой таблицы — в строке второй буквы, но в столбце первой.
Если совпадают только столбцы — прямоугольник всё равно строится обычным образом, потому что таблицы разные.
текст: УРОК НАЧАЛСЯ → УРОКНАЧАЛСЯ (11 букв, нечётно → +␣) → УРОКНАЧАЛСЯ␣ пары: УР ОК НА ЧА ЛС Я␣ (1-я буква — слева, 2-я — справа) УР строки 4 и 3 → прямоугольник → ЧЛ ОК строка 1 и 1 → без изменений → ОК НА строки 3 и 2 → прямоугольник → ИВ ЧА строки 4 и 2 → прямоугольник → ТЖ ЛС строки 1 и 4 → прямоугольник → ШХ Я␣ строка 5 и 5 → без изменений → Я␣ шифротекст: ЧЛ ОК ИВ ТЖ ШХ Я␣ (слитно — ЧЛОКИВТЖШХЯ␣)
Всё выполняется вручную, в тетради: сначала строим таблицу по ключу, потом работаем по парам.
НАЙДИ ФЛАГНМЦЕУЛРЦФАТБЗАПИСЬ УДАЛЕНАРЖКОРЦЗЛОМАВТЫЛевая таблица — ключ КЛЮЧ, правая — ключ ФЛАГ.
СЕТЬ ВЗЛОМАНАЖМВПЯИСТЕКЮНЛевая таблица — ключ ТЕТРАДЬ, правая — ключ ОСИНТ.
ЦЕЛЬ НАЙДЕНАКНДАШТДГЧЖСИ