Перейти к содержанию

Шифр Плейфера

Эта статья входит в число хороших статей
Материал из Википедии — свободной энциклопедии
Чарльз Уитстон

Шифр Плейфера (англ. Playfair cipher), известный также как Шифр Уитстона — Плейфера (англ. Wheatstone–Playfair cipher) или квадрат Плейфера (англ. Playfair square) — ручная симметричная техника шифрования, основанная на замене биграмм. Шифр изобретён в 1854 году английским физиком Чарльзом Уитстоном, но получил название в честь лорда Лайона Плейфера[англ.], который внёс большой вклад в продвижение использования этого шифра в государственной службе. Шифр использовался британскими вооружёнными силами в ряде войн и локальных конфликтов. Одним из первых криптоанализ шифра Плейфера осуществил в 1914 году лейтенант Армии США Джозеф О. Моборн.

Шифр Плейфера предусматривает шифрование не одиночных символов, как в шифре подстановки или более сложных системах шифрования Виженера, а пар символов (биграмм). В качестве ключа для этого шифра используется матрица (таблица) размером 5 × 5, в которую вписывается предварительно выбранное слово, повторяющиеся буквы которого опускаются. Вслед за этим словом в остальные ячейки матрицы вписываются оставшиеся буквы английского алфавита. Исходное сообщение предварительно делится на биграммы, и каждая из этих биграмм преобразуется — буква каждой из биграмм заменяется на другую по определённым правилам с помощью ключа. Подобный шифр более устойчив к взлому по сравнению с шифром простой замены: частотный анализ усложняется в связи с применением биграмм, число вариантов которых намного больше, чем символов; также для успешного криптоанализа требуется больший объём зашифрованного текста.

Создание шифра

[править | править код]
Лорд Лайон Плейфер[англ.]

Фактическим разработчиком этого шифра был британский физик сэр Чарльз Уитстон, который был известен тем, что изобрёл систему электрического телеграфа ещё до того, как современную систему телеграфа запатентовал Самюэль Морзе[1]. Однако название шифру было дано по имени лорда Лайона Плейфера, популяризовавшего подобный способ шифрования информации[2][a]. Согласно одной из версий, выдвигаемой Крисом Кристенсеном, впервые шифр был продемонстрирован высшему британскому руководству в январе 1854 года: на ужине, организованном лордом-председателем Совета Гренвилем, присутствовали муж королевы Виктории принц Альберт, будущий премьер-министр Палмерстон и непосредственно сам лорд Плейфер. Последний описал Палмерстону суть системы шифрования, а через несколько дней, находясь в Дублине, получил от Палмерстона и Гренвиля зашифрованные подобным методом письма[4].

Первое официальное описание этого шифра было зарегистрировано в документе, подписанном Чарльзом Уитстоном 26 марта 1854 года[5][6]. Плейфер, друг Уитстона, рекомендовал этот шифр к использованию высшими государственными и военными деятелями, но Министерство иностранных дел Великобритании отклонило эту идею из-за сложности восприятия[7], поскольку негативно относилось к сложным по их меркам шифрам[8]. Уитстон выразил готовность продемонстрировать чиновникам простоту шифра — он сказал, что трое из четырёх мальчиков в соседней школе научатся использовать этот шифр за пятнадцать минут. В ответ на это заместитель министра иностранных дел заявил, что Уитстон никогда не сможет научить этому кого-либо из британских атташе[7][9][b]. Тем не менее, британское военное министерство всё же втайне приняло эту систему[7].

Согласно Крэйгу П. Бауэру, подобный шифр стал первым биграммным шифром, который не требовал напрямую от шифровальщика записывать ключ и держать его при себе, чтобы иметь возможность зашифровывать и расшифровывать сообщения[11].

Общие характеристики шифра

[править | править код]

Шифр Плейфера классифицируется как полиграммный подстановочный шифр, при использовании которого текст делится на пары или тройки символов, которые заменяются другими парами или тройками символов по определённым правилам[3][12]. Он использует матрицу 5 × 5[c], содержащую ключевое слово или фразу — по сути матрица, содержащая ключевое слово и остальную часть алфавита, и представляет собой ключ всего шифра[13]. Для создания матрицы нужно выбрать ключевое слово и заполнить его буквами верхние ячейки матрицы, не записывая повторы символов, а оставшиеся ячейки заполнить по порядку символами алфавита, не встречающимися в ключевом слове[13][14]. Оптимальным ключевым словом является именно такое слово, каждая буква которого встречается ровно один раз[15].

При шифровании текста на английском языке обычно буквы «I» и «J» объединяются в одну ячейку и считаются за одну букву[16][17][18]. Как правило, из окончательной таблицы опускается буква «J»[19], хотя иногда для сокращения символов до 25 может опускаться буква «Q»[14]. Ключевое слово обычно записывается в верхней строке матрицы слева направо по горизонтали с переходом на следующую строчку[18]. Однако возможно сделать это и другим способом — например, записывать слово справа налево; начинать его запись не с верхней строки, а с самой нижней[20]; указывать первую букву не в первом столбце, а в четвёртом или комбинировать какие-то из вышеперечисленных способов[19]. Теоретически при использовании всех 26 букв английского алфавита можно получить 676 различных вариантов матриц размера 5 × 5[18].

Процедура шифрования

[править | править код]

Чтобы зашифровать сообщение, его необходимо разделить на биграммы (группы из двух символов) и отыскать эти биграммы в таблице. Два символа биграммы соответствуют углам прямоугольника в ключевой матрице. Нужно определить положения углов этого прямоугольника относительно друг друга, а затем зашифровать все пары символов, руководствуясь определёнными правилами. Основными тремя правилами являются следующие[14][21][18]:

  1. Если символы биграммы исходного текста встречаются в одной строке, то эти символы замещаются на символы, расположенные в ближайших столбцах справа от соответствующих символов. Если символ является последним в строке, то он заменяется на первый символ этой же строки[18][21][22].
  2. Если символы биграммы исходного текста встречаются в одном столбце, то они преобразуются в символы того же столбца, находящиеся непосредственно под ними. Если символ является нижним в столбце, то он заменяется на первый символ этого же столбца[18][7][22].
  3. Если символы биграммы исходного текста находятся в разных столбцах и разных строках, то они заменяются на символы, находящиеся в тех же строках, но противоположных столбцах[18][7][d]. Визуально через координаты должен проходить прямоугольник, углам которого соответствуют эти четыре символа[20][24]. Математически это может интерпретироваться как произведение отображений; также этот шаг называют «перекрещиванием»[25].

Предположим, что создана матрица 5 × 5, в основе которой лежит ключевое слово CULPER. Ниже приводятся примеры шифрования трёх разных биграмм[20].

Изначальная матрица
C U L P E
R A B D F
G H I K M
N O Q S T
V W X Y Z

Ключевое слово — CULPER

В одном столбце
* U * * *
* A * * *
* H * * *
* O * * *
* * * * *

HA → OH, WA → UH

В одной строке
* * * * *
* * * * *
* * * * *
N * Q S T
* * * * *

OS → QT, ST → TN

Формируют прямоугольник
* U L * *
* A B * *
* * * * *
* * * * *
* * * * *

BU → AL (не LA)

Иногда выделяется и четвёртое правило шифрования[18][21], которое признаётся не всеми авторами, так как реализуется непосредственно перед заменой символов[26]. Если биграмма содержит две одинаковые буквы (или если в данной биграмме не хватает одного символа), то после её первого символа нужно поставить символ-разделитель (null), чтобы новая пара символов могла быть формально готовой для зашифровки. Как правило, в роли разделителя служит буква «Х»[18], хотя допускается использование букв «Y»[16], «Z»[16][27][e] или «Q»[14]. Разделитель не ставится, если сдвоенные буквы содержатся в разных биграммах[28]. При шифровании слова balloon разделение на биграммы потребует добавления X между двумя буквами l, и на выходе будут биграммы BA LX LO ON[29][18][25]. Добавление разделителя необходимо каждый раз, когда при делении на биграммы остаётся хотя бы одна биграмма с одинаковыми символами: фраза LESS SEVEN после разделения на биграммы и добавления нескольких разделителей X получит итоговый вид LE SX SX SE VE NX[26][25].

Зашифрованное сообщение передаётся группами по пять символов[30][31][32]. Пробелы не отмечаются ни в исходном тексте, ни в зашифрованном[33]. Для расшифровки сообщения получатель, имеющий при себе ключ-матрицу, самостоятельно делит шифртекст на биграммы и выполняет указанные выше операции в обратном порядке, опираясь на имеющуюся у него матрицу 5 × 5[30][20]. Это значит, что буквы из одной биграммы, находящиеся в одной строке, меняются на буквы, стоящие левее, и т. д.[7][24]. Единственной возможной трудностью для получателя может стать выбор между буквами I и J при расшифровке, однако выбор буквы для восстановления исходного сообщения здесь зависит исключительно от контекста[34]. При использовании всех 26 букв английского алфавита для шифрования биграмм теоретически возможно составить всего 26 × 26 = 676 различных биграмм вне зависимости от ключевого слова[12].

Математические характеристики шифра

[править | править код]

Обозначим созданную матрицу как , шифруемую биграмму как с координатами первого символа и второго . Для описанных выше правил можно формально описать шифрование с получаемой на выходе биграммой[14]:

  • символы формируют прямоугольник — биграмма (, ), если
  • символы в одной строке — биграмма (, ), если
  • символы в одном столбце — биграмма (, ), если

Комбинаторная сложность перебора класса методов для шифра Плейфера — [35].

Информация о классе методов приблизительно равна 79,038 бит; десятичный логарифм составляет примерно 237,93 децибан[англ.][35].

Расстояние единственности для данного шифра составляет 22,69 символов (то есть для сообщения размером больше 23 символов есть возможность однозначно определить ключ шифрования и восстановить открытый текст)[36].

Пример Джозефа Моборна. Пусть ключевым словом является GRANT[16], тогда мы составим соответствующую матрицу[15]:

GRANT
BCDEF
HI/JKLM
OPQSU
VWXYZ

Имеем следующий открытый текст «THE ENEMY MOVES AT DAWN». Используя озвученные выше правила шифрования, преобразуем открытый текст в биграммы[16]:

TH EX EN EM YM OV ES AT DA WN

Используя соответствующие правила, на выходе получим шифртекст[16]:

GM DY LE FL ZL VG LY NG KD YR

Пример Уильяма Фридмана. Примем в качестве ключевого слова CLIQUE, буквы I и J считаем как одну. Составим следующую матрицу 5 × 5[27]:

CLI/JQU
EABDF
GHKMN
OPRST
VWXYZ

В качестве исходного сообщения имеется «Local attacks of the enemy north of 'Lens' have been repelled». Разделим его на биграммы, используя в качестве разделителя X[27]:

LO CA LA TX TA CK SO FT HE EN EM YN OR TH OF LE NS HA VE BE EN RE PE LX LE DX

Следуя трём озвученным правилам, произведём замены элементов биграмм и получим новый набор биграмм[27]:

CP LE AH RZ PF IG TP NZ GA FG DG ZM PS PN TE CA MT PH CG DA FG OB OA IW CA BY

Поскольку передача зашифрованного подобным образом сообщения производится группами по 5 символов, при передаче оно обретёт следующий вид[27]:

CPLEA HRZPF IGTPN ZGAFG DGZMP SPNTE CAMTP HCGDA FGOBO AIWCA BY

Пример Хелен Фуше Гейнс[англ.]. Пусть ключевым словом является CULPER[англ.]. Получим следующую матрицу 5 × 5 в качестве ключа (буквы I и J считаются как одна, поэтому в таблицу впишем I)[20]:

CULPE
RABDF
GHIKM
NOQST
VWXYZ

Для зашифровки выберем текст «Send diamonds to Amsterdam monday week without fail». Разобьём его на биграммы, разместив X между двумя одинаковыми буквами, а недостающую биграмму в конце текста дополним X. Получим на выходе следующий набор биграмм[20]:

SE ND DI AM ON DS TO AM ST ER DA MX MO ND AY WE EK WI TH OU TF AI LX

Опираясь на указанные правила, произведём замены элементов биграмм и получим следующий шифртекст[20]:

TP SR BK FH QO KY NQ FH TN CF FB IZ HT SR DW ZU PM XH OM WA ZM BH BL

Пример Криса Кристенсена. Пусть ключевым словом будет GALOIS. Составим матрицу 5 × 5, вписав в первые шесть элементов указанный ключ[37]:

GALOI/J
SBCDE
FHKMN
PQRTU
VWXYZ

В качестве исходного сообщения выберем «COMSEC means communications security». Разобьём его на биграммы, используя X в качестве разделителя между двумя одинаковыми буквами в биграмме (в данном случае возможно использовать и букву Q в качестве альтернативы)[37]. Получим на выходе следующую последовательность биграмм[28]:

CO MS EC ME AN SC OM MU NI CA TI ON SX SE CU RI TY

Опираясь на озвученные выше правила, произведём замену элементов каждой биграммы в соответствии с элементами таблицы[28]. Если соединить все биграммы в одно цельное слово (без пробелов), то на выходе получится следующий текст[34]:

DLFDSDNDIHBDDTNTUEBLUOIMCVBSERULYO

Пример Саймона Сингха. Пусть ключевым словом будет CHARLES. Составим матрицу 5 × 5 (примем буквы I и J за один и тот же символ)[2]:

CHARL
ESBDF
GI/JKMN
OPQTU
VWXYZ

Зашифруем сообщение «meet me at hammsersmith bridge tonight». Разобьём его на биграммы (диграфы), следуя указанным выше правилам[2]:

ME ET ME AT HA MX ME RS MI TH BR ID GE TO NI GH TX

На основании озвученных выше правил зашифруем каждую биграмму, чтобы получить на выходе шифртекст[21]:

GD DO GD RQ AR KY GD HD NK PR DA MS OG UP GK IC QY

Пример Ричарда Клаймы и Нила Сигмона. Пусть ключевым словом является WHEATSTONE, и тогда матрица 5 × 5 приобретёт следующий вид[33]:

WHEAT
SONBC
DFGIK
LMPQR
UVXYZ

Зашифруем сообщение «IDIOCY OFTEN LOOKS LIKE INTELLIGENCE». Для этого разобьём сообщение на биграммы[22]:

ID IO CY OF TE NL OO KS LI KE IN TE LL IG EN CE

Так как седьмая биграмма содержит повторяющиеся буквы, то необходимо вставить X между ними[22]:

ID IO CY OF TE NL OX OK SL IK EI NT EL LI GE NC E

Для того чтобы последний элемент стал биграммой, нужно добавить в конец X[22]:

ID IO CY OF TE NL OX OK SL IK EI NT EL LI GE NC EX

Теперь, применяя описанные выше правила, шифруем каждую биграмму по очереди и получим на выходе шифртекст[38]:

KF FB BZ FM WA SP NV CF DU KD AG CE WP QD PN BS NE

Криптоанализ шифра

[править | править код]

Возможности взлома

[править | править код]

Поскольку в основу шифра Плейфера входит использование биграмм, частотный анализ одиночных символов почти бесполезен при расшифровке текста[39][24], что делает шифр Плейфера более стойким по сравнению с любым одноалфавитным шифром замены[40]. Буква в матрице 5 × 5 может быть зашифрована пятью разными способами: в четырёх случаях она заменяется на букву из той же строки (если обе буквы становятся углами «прямоугольника»), в пятом случае — на букву из строки ниже[26]. Однако этот шифр, как и большинство шифров формальной криптографии, может быть вскрыт при наличии достаточно большого объёма текста (обычно хватает нескольких сотен символов шифртекста). Процедура взлома упрощается в связи с тем, что структура исходного текста не претерпевает серьёзных изменений после шифрования[41]. Общее количество гипотетических биграмм, которые можно составить из 26 букв латинского алфавита, составляет 26 ⋅ 26 = 676 (с учётом биграмм из двух одинаковых букв)[42], но на основе имеющегося шифртекста можно провести частотный анализ для меньшего количества — для 25 ⋅ 24 = 600 возможных биграмм (исключены биграммы из одинаковых букв и биграммы, совпадающие с биграммами исходного текста)[26].

Криптоаналитики анализируют соответствие между частотой появления биграмм в зашифрованном тексте и известной частотой появления биграмм в языке, на котором написано сообщение[43][24]. Одной паре зашифрованных символов всегда соответствует одна биграмма шифртекста, и если некоторые последовательности биграмм повторяются достаточно часто, это говорит о наличии некоего повторяющегося слова, что ускоряет процесс расшифровки текста[26][24]. Примечательно, что биграмма шифра Плейфера и её инверсия (AB и BA) будут расшифрованы как другая биграмма и инверсия этой другой биграммы[24] (например, TH и HT могут быть расшифрованы как OM и MO)[26]. По словам Саймона Сингха, в зашифрованном тексте чаще всего появляются биграммы, соответствующие таким наиболее распространённым в английском языке биграммам, как TH, HE, AN, IN, ER, RE и ES[7]. Дэвид Кан отмечает, что наиболее частотными в английском языке биграммами являются TH (не более 3 % упоминаний) и HE (не более 2 %)[44].

Слово может зашифровываться разными способами в зависимости от того, каким образом оно разбивается на биграммы и какая буква останется без пары из текущего слова. Так, слово execution из 9 букв (нечётное количество) можно разбить на биграммы двумя способами — e-xe-cu-ti-on или ex-ec-ut-io-n[45]. В то же время condemnation, состоящее из 12 букв (чётное количество), может быть разбито как на 6 биграмм (co-nd-em-na-ti-on), так и на 5 биграмм и ещё две буквы без пары из текущего слова (c-on-de-mn-at-io-n)[46]. Одной из уязвимостей шифра является то, что при выборе короткого ключевого слова последние строки матрицы почти не претерпевают изменений, и в таком случае расшифровка текста может пойти быстрее[24]. Использование разделителя обеспечивает простоту шифра, но в то же время считается ещё одной из его слабостей[25], поскольку иного способа шифрования биграммы из двух букв фактически не предусмотрено спецификой шифра[28]. По словам Фридриха Бауэра, удаление из открытого текста повторяющихся букв, которое предлагал итальянский математик и криптограф Маттео Ардженти (итал. Matteo Argenti), могло бы решить подобную проблему[25].

При криптоанализе шифра Плейфера может использоваться так называемый «поиск восхождением к вершине», основанный на матрице случайных символов. С помощью простейших итераций матрица случайных символов максимально приближается к оригинальной матрице. Очевидно, что этот метод слишком сложен для человека, но компьютеры с помощью данного алгоритма могут взломать данный шифр, даже имея небольшой объём текста. Другой отличительной особенностью шифра Плейфера от шифра с двумя квадратами является то, что в нём никогда не встречаются биграммы с повторяющимися символами (например ЕЕ). Если в шифрованном тексте отсутствуют биграммы с повторяющимися символами и его длина достаточно велика, то можно предположить, что исходный текст зашифрован шифром Плейфера. Результаты этого исследования в 2008 году опубликовал Майкл Коуэн (англ. Michael Cowan)[47].

Известные криптоаналитики

[править | править код]
Джозеф Моборн

Первый изданный алгоритм взлома шифра Плейфера был описан в 1914 году в брошюре объёмом 19 страниц лейтенантом Армии США Джозефом О. Моборном[36][48]. В качестве примера для взлома Моборн приводил шифровку, которую составил капитан британской Королевской артиллерии и автор ряда публикаций по криптографии М. Мёрхед (англ. M. Muirhead) — в свою очередь, её переслал Моборну лейтенант Корпуса связи Армии США Карл Трусделл[англ.][49]. Шифровка насчитывала 814 символов[50]. Моборн выражал надежду, что опубликованная им брошюра привлечёт внимание криптографов к подобному методу шифрования, который тогда ещё не был широко распространён в Штатах[15].

У Моборна ушло 12 часов на расшифровку текста, присланного Мёрхедом. Время на расшифровку было сокращено отчасти благодаря тому, что автор шифртекста капитан Мюрхед прямо указал используемый шифр[15]. Моборн писал, что факт использования подобного шифра можно определить по трём факторам: 1) небольшое количество гласных в шифрованном тексте и достаточно частое повторение букв X, J, Z и Q (доказательство подстановочного шифра); 2) отсутствие в любой части шифртекста двух букв подряд; 3) крайне частое повторение определённых биграмм в тексте (например, UD, GX и т. д.)[48]. Моборн отмечал, что повторение целых групп символов (в том числе нечётного количества) могло дать некоторые подсказки криптоаналитику при проведении частотного анализа[30]. Даже несмотря на определённую надёжность, зашифрованное по методу Плейфера сообщение само по себе может предоставить достаточное количество информации взломщику[51].

В 1933 году вышла книга «Secret Service» авторства бригадного генерала королевской морской пехоты Великобритании сэра Джорджа Астона, который опубликовал в приложении шифровку из 30 символов (15 биграмм), зашифрованную методом Плейфера, и призвал желающих расшифровать её[52][53]. На призыв откликнулся первым некто Альф Монже (англ. Alf Mongé), который вручную сумел расшифровать послание после долгого и тщательного анализа и опубликовал свои результаты в 1936 году. Исходное сообщение представляло собой фразу DO LET AUTHOR KNOW IF YOU SUCCEED (с англ.«Дайте автору знать, если у Вас получилось»). Согласно Крэйгу Бауэру, Уильям Фридман упоминал одного из своих учеников по фамилии Монже, который отлично справлялся с зашифрованными по методу Плейфера сообщениями, взламывая сообщение из 50—60 символов в течение получаса[54].

В 1939 году Хелен Фуше Гейнс[англ.] опубликовала результаты криптоанализа шифра Плейфера и других шифров в книге «Криптоанализ: изучение шифров и их взлом» (англ. Cryptanalysis: A Study of Ciphers and Their Solution), выдержавшей серию изданий к 1956 году[43]. Характерными чертами использования шифра Плейфейра она считала[55]:

  • чётное количество символов в криптограмме;
  • наличие всего 25 используемых букв латинского алфавита в криптограмме;
  • отсутствие биграмм из двух одинаковых букв при разделении текста на биграммы;
  • повторяющиеся длительные последовательности в разных местах текста.

Гейнс характеризовала шифр Плейфера как менее громоздкий по сравнению с другими полиграммными шифрами, для использования которого «не требовалось ничего, кроме карандаша и листа бумаги»[20]. По её словам, расшифровка текста сводилась к последовательному повторению следующих действий: 1) поставить конкретным биграммам в соответствие пары символов, которые могут соответствовать символам из исходного текста; 2) разместить обе пары символов в матрице — реконструкции ключа; 3) заменить биграммы шифртекста на предположительные биграммы исходного текста[45].

Уильям Фридман в 1942 году опубликовал материал о средствах защиты информации, использовавшихся в Первую мировую войну, и включил туда информацию о шифре Плейфера и его принципах работы[27]. Шифр он охарактеризовал как недостаточно надёжный даже при всех возможных улучшениях (связанных с записью ключевого слова в матрицу)[56]. Зашифрованное подобным методом сообщение могло быть вскрыто в течение нескольких часов, поэтому подобный метод Фридман рекомендовал использовать только в крайних случаях[57].

Современное подробное руководство для определения ключа встречается в главе 7 «Solution of Polygrafic Substitution Systems» руководства Field Manual 34-40-2 1990 года для Армии США[58], а именно в подразделе II Analysis of Playfair Ciphers. В самом начале подраздела этой главы упоминается о словах с инверсными биграммами в начале и конце (например, receiver и departed) — в том числе военных терминов, опознание которых во многом упрощает построение текста и воссоздание ключа[59].

Практическое применение

[править | править код]

Первая мировая война

[править | править код]
Уильям Фридман

Аргументом в пользу применения шифра Плейфера была его относительная простота по меркам времени появления[25], отсутствие необходимости в каких-либо специальных таблицах или оборудовании[19] (кроме бумаги и пишущей принадлежности) и простота запоминания ключевого слова, необходимого для шифрования и дешифрования информации[44]. Основной целью использования этой системы была защита во время боя важной, но несекретной информации. К тому времени, когда вражеские криптоаналитики расшифровывали сообщение, изложенная в нём информация уже не была актуальной[53]. Встречаются утверждения, что британские военные шифр Плейфера стали использовать уже в ведшейся Крымской войне[19], но доказательств этому не приводилось[44]. В то же время есть реальные подтверждения того, что шифр Плейфера использовался в тактических целях британскими вооружёнными силами во второй англо-бурской войне[44][19][36].

Шифр использовался британской армией в Первой мировой войне[33]: хотя британцы сохраняли алгоритм шифрования в тайне, известно, что к 1915 году немцы уже достаточно успешно взламывали его[19]. Он также использовался британским военно-морским флотом для связи с транспортными кораблями, перевозившими личный состав британской армии. Помимо этого, в январе 1917 года штаб-квартира армии Новой Зеландии в Веллингтоне выпустила меморандум, предписывающий использовать новозеландским армейским частям шифр Плейфера при обмене информацией[60]. В США попытку утвердить шифр Плейфера в качестве официального предпринимал один из известных военных криптографов тех лет полковник Паркер Хитт[нем.], автор книги «Руководство по взлому военных шифров» (англ. Manual for the Solution of Military Ciphers). 19 мая 1914 года он предложил утвердить шифр в качестве официального как минимум для 2-й пехотной дивизии вместо действовавшего тогда шифра Larrabee, одного из вариантов шифра Виженера, но получил отказ[61]. Тем не менее, в дальнейшем шифр Плейфера был принят в качестве шифра для передачи экстренных сообщений[62].

Криптоаналитик и первый начальник американской Службы разведки сигналов Уильям Фридман писал, что в школе связистов при Американском экспедиционном корпусе изучалось только два способа шифрования информации — метод Плейфера и шифровальный диск[англ.] Армии США[63], причём, по оценке Дэвида Кана, криптостойкость первого метода была невысокой, а у второго фактически равнялась нулю[62]. Согласно сообщению Фридмана от 1942 года, в сентябре 1918 года в течение конкретных дней армией США для шифрования сообщений методом Плейфера использовались конкретные ключевые слова (например, YARMOUTH с 1 по 3 сентября, BOSTON с 3 по 10 сентября и так далее)[63]. Фридман не знал точно масштабы использования шифра, но предполагал, что они были невелики из-за нехватки личного состава корпуса — его не было достаточно для участия в крупномасштабных операциях, требовавших широкого использования шифров[56]. Он приводил свидетельства первого лейтенанта Армии США Дж. Райвза Чайлдса (англ. J. Rives Childs), который безуспешно предлагал полковнику Фрэнку Мурману (англ. Frank Moorman) расшифровать зашифрованное методом Плейфера сообщение. Чайлдс предполагал, что Мурман просто побоялся доложить командованию о том, что шифр не обладает достаточной стойкостью[64].

Вторая мировая война

[править | править код]

Во Второй мировой войне шифр Плейфера использовала не только британская армия (наряду с британской военной и политической разведкой)[33], но и вооружённые силы других стран-участниц[41] — Армия США[33], вермахт (в том числе Африканский корпус[65]), немецкая СД[25], береговые наблюдатели военно-морского флота Австралии[66][67] и береговые наблюдатели ВМС Новой Зеландии[60]. Уровень криптостойкости шифра не был достаточно высоким по тем временам, но австралийцам хватало его для обеспечения защиты от японских диверсий[68]. В то же время командование ВМС Новой Зеландии полагало, что японцы были осведомлены об использовании шифра Плейфера[60].

Правительство Новой Зеландии[англ.] использовало этот шифр с февраля 1941 года по сентябрь 1945 года при передаче информации между основной частью страны, архипелагом Чатем, другими островами Тихого океана и новозеландскими береговыми наблюдателями. С марта 1941 года по распоряжению новозеландского правительства все коммерческие сообщения, передаваемые по телеграфу с архипелагов Чатем, Ниуэ, Раратонга и Кермадек (или на эти архипелаги), должны были зашифровываться по методу Плейфера. Для обеспечения достаточного уровня защищённости новозеландцы использовали не менее 100 ключевых слов, но даже при всех мерах безопасности зашифрованное таким методом сообщение могло быть взломано максимум за несколько часов. В связи с этим с ноября 1942 года офицеру связи ВМС Новой Зеландии на Суве было направлено указание из штаба ВМС Новой Зеландии — использовать шифр для передачи информации береговым наблюдателям только в экстренных ситуациях[60][69].

Один из известных примеров использования шифра Плейфера датируется 2 августа 1943 года, когда японский эсминец «Амагири» протаранил и потопил американский торпедный катер PT-109, на котором нёс службу лейтенант ВМС США и будущий американский президент Джон Фицджеральд Кеннеди. Он сумел добраться до суши и затем отправил текст с просьбой о помощи, зашифрованный методом Плейфера. Кеннеди выбрал в качестве ключа словосочетание ROYAL NEW ZEALAND NAVY (с англ.«Королевские военно-морские силы Новой Зеландии»)[58][70]. Несмотря на достаточную простоту шифра[53], на факт нахождения уцелевшего экипажа относительно недалеко от японских гарнизонов и неоднократное дублирование сообщения, не было свидетельств того, что японцы предпринимали поиски экипажа вообще[71]. По мнению Крэйга Бауэра, перехват сообщения мог иметь место, но японцы в любом случае не смогли его расшифровать, что и позволило Кеннеди дождаться эвакуации. Открытый текст переданного сообщения[53]:

КАТЕР PT[англ.] ОДИН НОЛЬ ДЕВЯТЬ ПОТЕРЯН В БОЮ В ПРОЛИВЕ БЛАКЕТТ ДВЕ МИЛИ ЮЗ БУХТА МЕРЕСА ТЧК ЭКИПАЖ ИЗ ДВЕНАДЦАТИ ТЧК ЗАПРАШИВАЮ ЛЮБУЮ ИНФОРМАЦИЮ ТЧК

Современность

[править | править код]

Современные компьютеры могут расшифровать зашифрованное подобным образом сообщение за считанные секунды — в том числе и достаточно большое сообщение, взломать которое методом полного перебора один человек оказывается попросту не в состоянии. В связи с этим использование шифра Плейфера ныне считается нецелесообразным для зашифровывания какой-либо критически важной информации[72]. Но в наши дни этот шифр используется для составления специальных криптографических кроссвордов[англ.][73].

Модификации шифра

[править | править код]

Немецкий вариант «двух квадратов»

[править | править код]

Во время Второй мировой войны вермахт и СД использовали модификацию шифра Плейфера под условным названием Handschlüssel[f] с середины 1941 года до окончательного его взлома британцами осенью 1944 года[25]. Этот шифр представлял собой шифр двух квадратов и считался шифром среднего уровня сложности[74]. Суть такого шифра сводилась к тому, что к имевшейся матрице 5x5 добавлялась вторая матрица той же размерности: первый символ каждой биграммы брался из первой матрицы, второй символ — из второй. Но если в обычном варианте двойного шифра во вторую матрицу вписывалось ключевое слово, то в немецком варианте это не делалось, и символы располагались в произвольном порядке[75][76][g].

Согласно Фридриху Бауэру, перед шифрованием в открытом тексте вместо пробелов ставились в качестве разделителя X, затем открытый текст нарезался на группы фиксированной длины (например, по 17 символов). Каждые две такие группы размещались одна над другой, и образовавшиеся в столбцах биграммы шифровались по определённым правилам, отличных от обычных. Полученные биграммы шифровались ещё раз, после чего итоговый шифртекст передавался группами по 5 символов[76]. При зашифровке биграммы из одинаковых букв разделитель почти не использовался[77].

Взломом подобного варианта шифра занималась группа аналитиков Блетчли-парка во главе с полковником Джоном Тилтмэном[англ.], начальником военного отдела Блетчли-парка[25]. Работу британцев облегчали возникавшие у немцев сбои и ошибки в шифровании, которые приводили «к частым повторным запросам» и ставили под угрозу стойкость шифрования. Ещё одним слабым местом стала чрезмерная склонность немцев к формальностям и методичности, выражавшаяся в регулярном упоминании титулов[76] или составлении донесений по одному и тому же шаблону. Британцами были перехвачены сообщения, последовательно пронумерованные цифрами от 1 до 12: поскольку в немецком написании этих цифр не использовались только 8 букв из немецкого алфавита, расшифровать эти сообщения оказалось достаточно легко[78]. Также к участию привлекался известный математик и криптограф Ноэл Каррер-Бриггз[нем.][79].

Иные варианты

[править | править код]

Большинство изменений в шифр Плейфера связаны к действиям в отношении биграмм из одинаковых букв. В одних случаях криптографы могут заменять вторую букву разделителем (например, на тот же «X») или на другую букву, в других — вообще опускать вторую букву в открытом тексте. Число символов в алфавите также может быть изменено в меньшую или большую сторону: если алфавит сократить до 24 символов, то в таком случае используется матрица размера 4 × 6, а если до 27 символов — матрица размера 3 × 9 (в качестве дополнительного символа предлагается &)[26]. Также встречался вариант, при котором буквы вписывались в матрицу в случайном порядке[50].

Известен вариант шифра за авторством британского математика У. У. Роуз-Болла[англ.], в котором были два изменения в правилах шифрования: 1) если оба символа биграммы находятся в одной строке, то их надо заменять на символы строкой ниже, находящиеся в тех же самых столбцах; 2) если оба символа в одном столбце, то их надо заменять на символы из столбца справа, но в тех же самых строках. По сложности этот вариант шифра Плейфера не отличался от «стандартного» образца, поскольку был достаточно широко распространён[26].

Хелен Фуше Гейнс, проводившая криптоанализ шифра Плейфера, предлагала перед началом шифрования разделить открытый текст на блоки по 10 символов (матрица 5 x 2) и переписать текст из этих блоков в виде биграмм по определённому правилу. Первая биграмма состояла из первых символов каждой из двух строк в одном блоке, вторая биграмма — из вторых символов блока и так далее до пятой биграммы в блоке. После этого проводилась стандартная процедура шифрования. Подобный вариант с перестановкой и заменой усложнял взлом, но был сам по себе громоздким, поэтому использовался очень редко[26].

В 2013 году группа пакистанских математиков предложила усовершенствовать шифр, расширив матрицу в размере до 7x4: к имеющимся 26 буквам латиницы в конце матрицы дописывались символы * (размещался вместо X между двумя одинаковыми буквами) и # (размещался в конце сообщения вместо последнего X). Несмотря на то, что анализ шифра усложнялся, его все равно можно взломать теми же методами, что и первоначальный. Авторы утверждали, что добавление подобных символов к шифру Плейфера совместимо с любым языком, на котором проводятся процедуры шифрования и дешифрования[80].

Стойкость шифра возрастает, если увеличивается размер используемой матрицы-ключа или увеличивается в размере величина, которая подвергается преобразованию (например, шифруется триграмма — группа из трёх символов). Однако при этом не существует очевидного способа адаптировать шифр Плейфера к шифрованию триграмм[77]). Многие криптографы предпринимали попытки модифицировать алгоритм подобным образом: в 1897 году граф Луиджи Джоппи ди Туркхайм (итал. Luigi Gioppi di Turkheim) представил псевдотриграммную систему шифрования, при использовании которой две первые буквы триграммы шифровались моноалфавитно, а замена третьей буквы зависела от второй. В 1929 году американский криптограф Джек Левин (англ. Jack Levine) заявил о том, что разработал метод шифрования триграмм с использованием шести матриц 5 × 5, но не раскрыл его суть[40].

Упоминания в культуре

[править | править код]

Комментарии

[править | править код]
  1. В русском переводе книги Брюса Шнайера «Прикладная криптография» название шифра на русском дается не по фамилии лорда Плейфера, а в виде буквального перевода выражения Playfair — «Честная игра»[3].
  2. Комментируя эту историю, Ф. Л. Бауэр писал, что используемый в дипломатии стандарт шифрования должен предполагать, что посол в состоянии самостоятельно зашифровать или расшифровать послание[10].
  3. Размеры даются для английского алфавита
  4. По словам Крэйга П. Бауэра, решение заменять именно на символы в тех же строках, но противоположных столбцах, а не наоборот, было принято произвольно (англ. arbitrarily)[23].
  5. Согласно Дэвиду Кану, этой буквой можно обозначать конец сообщения[9].
  6. Он же Doppdkas[set]tenverfahren, «двойной гроб», «двойной шифр Плейфера» или «двухтабличный шифр Плейфера»[25].
  7. Согласно Крису Кристенсену, ключевое слово вписывалось только в первую матрицу[75], а согласно Фридриху Бауэру, ключевые слова вообще не применялись[76].

Примечания

[править | править код]
  1. Bauer, 2013, p. 168.
  2. 1 2 3 Сингх, 2009, с. 414.
  3. 1 2 Шнайер, 2002, с. 26.
  4. Kahn, 1996, p. 198.
  5. Бауэр, 2007, с. 81.
  6. Kahn, 1996, p. 199.
  7. 1 2 3 4 5 6 7 Сингх, 2009, с. 415.
  8. Бауэр, 2007, с. 252.
  9. 1 2 Kahn, 1996, p. 201.
  10. Бауэр, 2007, с. 39.
  11. Bauer, 2013, p. 166.
  12. 1 2 Gaines, 1956, p. 198.
  13. 1 2 Stallings, 2011, pp. 44—46.
  14. 1 2 3 4 5 Tilborg, 2000, p. 20.
  15. 1 2 3 4 Mauborgne, 1914, p. 5.
  16. 1 2 3 4 5 6 Mauborgne, 1914, p. 6.
  17. Gaines, 1956, p. 214.
  18. 1 2 3 4 5 6 7 8 9 10 11 Stallings, 2011, p. 44.
  19. 1 2 3 4 5 6 Бауэр, 2007, с. 80.
  20. 1 2 3 4 5 6 7 8 Gaines, 1956, p. 200.
  21. 1 2 3 4 Сингх, 2009, с. 414—415.
  22. 1 2 3 4 5 Klima, Sigmon, 2018, p. 20.
  23. Bauer, 2013, p. 169.
  24. 1 2 3 4 5 6 7 Klima, Sigmon, 2018, p. 21.
  25. 1 2 3 4 5 6 7 8 9 10 Бауэр, 2007, с. 82.
  26. 1 2 3 4 5 6 7 8 9 Gaines, 1956, p. 201.
  27. 1 2 3 4 5 6 Friedman, 1942, p. 33.
  28. 1 2 3 4 Christensen, 2006, p. 4.
  29. Kahn, 1996, p. 200.
  30. 1 2 3 Mauborgne, 1914, p. 7.
  31. Gaines, 1956, p. 199.
  32. Bauer, 2013, p. 170, 172.
  33. 1 2 3 4 5 Klima, Sigmon, 2018, p. 19.
  34. 1 2 Christensen, 2006, p. 5.
  35. 1 2 Бауэр, 2007, с. 268.
  36. 1 2 3 Bauer, 2013, p. 170.
  37. 1 2 Christensen, 2006, p. 3.
  38. Klima, Sigmon, 2018, pp. 20—21.
  39. Kahn, 1996, pp. 201—202.
  40. 1 2 Kahn, 1996, p. 404.
  41. 1 2 Stallings, 2011, p. 45.
  42. Christensen, 2006, p. 6.
  43. 1 2 Gaines, 1956, pp. 198—207.
  44. 1 2 3 4 Kahn, 1996, p. 202.
  45. 1 2 Gaines, 1956, p. 202.
  46. Gaines, 1956, p. 205.
  47. Bauer, 2013, pp. 177—178.
  48. 1 2 Mauborgne, 1914, p. 3.
  49. Mauborgne, 1914, p. 4.
  50. 1 2 Kahn, 1996, p. 312.
  51. Stallings, 2011, p. 46.
  52. George Aston. Secret Service (англ.). — New York: Cosmopolitan Book Corporation, 1930. — P. 341—343.
  53. 1 2 3 4 Bauer, 2013, p. 172.
  54. Bauer, 2013, p. 173—177.
  55. Gaines, 1956, pp. 202—203.
  56. 1 2 Friedman, 1942, p. 4.
  57. Friedman, 1942, p. 258.
  58. 1 2 3 4 Klima, Sigmon, 2018, p. 22.
  59. 1 2 3 4 A History of Communications Security in New Zealand By Eric Mogon. Chapter 8 (англ.). RNZN Communicators Association. Архивировано 26 февраля 2026 года.
  60. Kahn, 1996, p. 324.
  61. 1 2 Kahn, 1996, p. 326.
  62. 1 2 Friedman, 1942, p. 36.
  63. Friedman, 1942, p. 273.
  64. Бауэр, 2007, с. 241.
  65. Lord, 1977, p. 6.
  66. Bauer, 2013, pp. 170—171.
  67. Lord, 1977, p. 7.
  68. The History of Information Assurance (IA) (англ.). Служба безопасности правительственных коммуникаций. Правительство Новой Зеландии[англ.]. Архивировано 12 ноября 2011 года.
  69. Bauer, 2013, pp. 170—172.
  70. Kahn, 1996, p. 592.
  71. Bauer, 2013, p. 177.
  72. Listener Crossword: Puzzles (англ.). listenercrossword.com. Дата обращения: 18 апреля 2026.
  73. Currer-Briggs N.[нем.]. Some of ultra's poor relations in Algeria, Tunisia, Sicily and Italy (англ.) // Intelligence and National Security. — 1987. No. 2 (2). P. 274–290. doi:10.1080/02684528708431890.
  74. 1 2 Christensen, 2006, p. 10.
  75. 1 2 3 4 Бауэр, 2007, с. 83.
  76. 1 2 Christensen, 2006, p. 11.
  77. Smith, 1998, pp. 74—75.
  78. Smith, 1998, p. 106.
  79. Alam, Khalid, Salam, 2013, pp. 626—628.
  80. Kahn, 1996, p. 799.
  81. Hammond Innes, 1913-1998. The Trojan Horse (англ.). — 1940.
  82. Richard Malena. Can You Solve This Playfair Cipher Puzzle? (англ.). Popular Mechanics (25 июля 2022). Дата обращения: 11 февраля 2026.

Литература

[править | править код]

На русском

[править | править код]

На английском

[править | править код]