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

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 14:01, 28 ноября 2016.

Шифр Плейфера или квадрат Плейфера  — ручная симметричная техника шифрования, в которой впервые использована замена биграмм. Изобретена в 1854 году Чарльзом Уитстоном, но названа именем Лорда Лайона Плейфера, который внедрил данный шифр в государственные службы Великобритании. Шифр предусматривает шифрование пар символов (биграмм) вместо одиночных символов, как в шифре подстановки и в более сложных системах шифрования Виженера. Таким образом, шифр Плейфера более устойчив к взлому по сравнению с шифром простой замены, так как затрудняется частотный анализ. Он может быть проведен, но не для 26 возможных символов (латинский алфавит), а для 26х26=676 возможных биграмм. Анализ частоты биграмм возможен, но является значительно более трудным и требует намного большего объема зашифрованного текста.[1]

Charles WheatstoneProject Gutenberg etext 13103.jpg
Lyon Playfair.jpg

История

Несмотря на то, что шифр был изобретением Уитстона, он стал известен как шифр Плейфера. Первое описание шифра Плейфера было зарегистрировано в документе, подписанном Уитстоном 26 марта 1854. Министерство иностранных дел Великобритании отклонило этот документ из-за сложности его восприятия. Когда Уитстон предложил продемонстрировать, что три из четырех мальчиков в соседней школе научатся использовать этот шифр за пятнадцать минут, заместитель министра иностранных дел ответил: «Это очень возможно, но вы никогда не научили бы этому атташе.»[2]

Этот шифр использовался в тактических целях британскими вооруженными силами во Второй Англо-Бурской войне и в Первой мировой войне, а также австралийцами и немцами во время Второй мировой войны. Причиной использования шифра Плейфера было то, что он достаточно быстр в применении и не требует никакого специального оборудования. Основной целью использования этой системы шифрования была защита важной, но не секретной информации во время ведения боя. К тому времени, когда вражеские криптоаналитики взламывали сообщение, информация уже была бесполезна для них.[3]

Использование шифра Плейфера в настоящее время является нецелесообразным, потому что современные переносные компьютеры могут легко взломать шифр в течение нескольких секунд. Первый изданный алгоритм взлома шифра Плейфера был описан в 1914 году в брошюре объемом 19 страниц лейтенантом Джозефом О. Моуборном.

Использование шифра Плейфера

Шифр Плейфера использует матрицу 5х5 (для латинского алфавита, для кирилического алфавита необходимо увеличить размер матрицы до 4х8), содержащую ключевое слово или фразу. Для создания матрицы и использования шифра достаточно запомнить ключевое слово и четыре простых правила. Чтобы составить ключевую матрицу, в первую очередь нужно заполнить пустые ячейки матрицы буквами ключевого слова (не записывая повторяющиеся символы), потом заполнить оставшиеся ячейки матрицы символами алфавита, не встречающимися в ключевом слове, по порядку (в английских текстах обычно опускается символ «Q», чтобы уменьшить алфавит, в других версиях «I» и «J» объединяются в одну ячейку). Ключевое слово может быть записано в верхней строке матрицы слева направо, либо по спирали из левого верхнего угла к центру. Ключевое слово, дополненное алфавитом составляет матрицу 5х5 и является ключом шифра.[4]

Для того, чтобы зашифровать сообщение необходимо разбить его на биграммы (группы из двух символов), например «Hello World» становится «HE LL OW OR LD», и отыскать эти биграммы в таблице. Два символа биграммы соответствуют углам прямоугольника в ключевой матрице. Определяем положения углов этого прямоугольника относительно друг друга. Затем руководствуясь следующими 4 правилами зашифровываем пары символов исходного текста:

1. Если два символа биграммы совпадают, добавляем после первого символа «Х», зашифровываем новую пару символов и продолжаем. В некоторых вариантах шифра Плейфера вместо «Х» используется «Q».

2. Если символы биграммы исходного текста встречаются в одной строке, то эти символы замещаются на символы, расположенные в ближайших столбцах справа от соответствующих символов. Если символ является последним в строке, то он заменяется на первый символ этой же строки.

3. Если символы биграммы исходного текста встречаются в одном столбце, то они преобразуются в символы того же столбца, находящимися непосредственно под ними. Если символ является нижним в столбце, то он заменяется на первый символ этого же столбца.

4. Если символы биграммы исходного текста находятся в разных столбцах и разных строках, то они заменяются на символы, находящиеся в тех же строках, но соответствующие другим углам прямоугольника.

Для расшифровки необходимо использовать инверсию этих четырёх правил, откидывая символы «Х» (или «Q»), если они не несут смысла в исходном сообщении.

Алгоритм

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

м о н а р

с ч е д е д

е ж з и к

л п с т

у в х я ш

Любая последовательность из 25 букв может быть использована в качестве ключа, до тех пор пока буквы в этой последовательности не начнут повторяться. Обратите внимание, что не существует 'дж', она сочетается с 'я'. Теперь мы применим правила шифрования для шифрования открытого текста.

Удалите любые знаки препинания или символы, которые не присутствуют в ключевом квадрате (это может означать знаки препинания и т.д.). Идентифицировать любые двойные буквы в незашифрованном виде и заменить второе вхождение с 'х', например, 'Молоток' -> 'hamxer'. Если открытый текст имеет нечетное число символов, добавьте к параметру 'х' до конца, чтобы комбинация сработала . Разделите сплошной текста на пары букв, например, 'Hamxer' -> 'га х эр' Алгоритм теперь работает на каждой паре букв. Расположить буквы в ключевом квадрате, (представленные примеры с использованием ключа-квадрата можно увидеть выше Если буквы находятся в разных строках и столбцах, то нужно заменить пару с буквами на той же строке, соответственно. Важен порядок - первый зашифрованной парой букв является та, которая лежит на той же строке, что и первая буква текста. 'Га' -> 'бо', 'эс' -> 'или, если буквы появляются на той же строке таблицы, поменяйте их местами с буквами, которые находятся в центре квадрата с той, которая находится справа.

Иллюстрации в примерах

Предположим, что необходимо зашифровать биграмму OR. Рассмотрим 5 случаев:

1)
* * * * *
* O Y R Z
* * * * *
* * * * *
* * * * *

Hence, OR → YZ

2)
* * O * *
* * B * *
* * * * *
* * R * *
* * Y * *

Hence, OR → BY

3)
Z * * O *
* * * * *
* * * * *
R * * X *
* * * * *

Hence, OR → ZX

4)
* * * * *
* * * * *
* O R C *
* * * * *
* * * * *

Hence, OR → RC

5)
* * * * *
* * R * *
* * O * *
* * I * *
* * * * *

Hence, OR → IO

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

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

Шифр Плейфера подобен шифру двух квадратов, хотя относительная простота системы шифрования Плейфера упрощает идентификацию текста. Примечательно, что биграмма шифра Плейфера и её инверсия (AB и BA) будет расшифрована как другая биграмма и её инверсия (RE и ER). В английском языке есть много слов, содержащих такие инверсные биграммы, например REceivER и DEpartED. Идентификация близко лежащих инверсных биграмм зашифрованного текста и нахождение им соответствий в списке известных слов исходного текста является одним из легких способов построения исходного текста и начала конструирования ключа.

Существует другой подход к криптоанализу шифра Плейфера, который называется Random-restart hill climbing. Он основывается на матрице случайных символов. С помощью простейших итераций матрица случайных символов максимально приближается к оригинальной матрице. Очевидно, что этот метод слишком сложен для человека, но компьютеры с помощью данного алгоритма могут взломать данный шифр, даже имея небольшой объем текста. Другой отличительной особенностью шифра Плейфера от шифра с двумя квадратами является то, что в нём никогда не встречаются биграммы с повторяющимися символами (например ЕЕ). Если в шифрованном тексте отсутствуют биграммы с повторяющимися символами и его длина достаточно велика, то можно предположить, что исходный текст зашифрован шифром Плейфера.

В главе 7 книги «Solution to polygrafic substitution systems» на сайте Field Manual 34-40-2 Сухопутных Войск США, можно найти руководство для нахождения ключа для шифра Плейфера. Детальный криптоанализ шифра Плейфера упоминается в главе 28 новеллы «Разыскивается труп» (автор — Дороти Сейер). В этом произведении показано, что шифр Плейфера является криптографически слабым, потому что детектив нашел ключ к сообщению довольно быстро. Книга Сейер включает детальное описание механизма шифрования методом Плейфера, а также и пошаговое руководство для его криптоанализа. Немецкая армия, ВВС и полиция использовали двойную систему шифрования Плейфера, как шифр «среднего сорта», во Второй мировой войне. Они добавили второй квадрат, так как во время Первой мировой войны шифр Плейфера был взломан. Из этого квадрата брали второй символ каждой биграммы, не используя ключевое слово и помещая символы в произвольном порядке. Но и этот шифр был взломан в Блечли-парк, потому что немцы использовали один и тот же шаблон сообщения. В восьми сообщениях, зашифрованных двойным шифром Плейфера, были использованы цифры от одного до двенадцати, это и дало возможность достаточно легко взломать его.

Примечания

  1. Шифр Плейфера [Электронный ресурс]: Материал из http://www.simonsingh.net/: - Режим доступа: http://www.simonsingh.net/The_Black_Chamber/playfair_cipher.html
  2. Шифр Плейфера [Электронный ресурс]: Материал из http://www.weizmann.ac.il/math/: - Режим доступа: http://www.wisdom.weizmann.ac.il/~albi/cryptanalysis/lect3.htm
  3. Шифр Плейфера [Литрература] : Бабаш А. В., Шанкин Г. П. История криптографии. Часть 1. М., «Гелиос», 2002
  4. Шифр Плейфера [Электронный ресурс] : Материал из http://www.agentura.ru/: — Режим доступа: http://www.agentura.ru/press/about/jointprojects/confident/crypto19end/