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

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Система шифрования Плейфера была изобретена Чарльзом Уитстоном, который впервые описал её в 1854 году.

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

История[править | править исходный текст]

Лорд Лайон Плейфер, внес большой вклад в продвижение использования данной системы шифрования.

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

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

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

Использование шифра Плейфера[править | править исходный текст]

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

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

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

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

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

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

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

Пример[править | править исходный текст]

Используем ключ «playfair example», тогда матрица примет вид:

    P L A Y F
    I R E X M
    B C D G H
    J K N O S
    T U V W Z

Зашифруем сообщение «Hide the gold in the tree stump»
HI DE TH EG OL DI NT HE TR EX ES TU MP
1. Биграмма HI формирует прямоугольник, заменяем её на BM.
2. Биграмма DE расположена в одном столбце, заменяем её на ND.
3. Биграмма TH формирует прямоугольник, заменяем её на ZB.
4. Биграмма EG формирует прямоугольник, заменяем её на XD.
5. Биграмма OL формирует прямоугольник, заменяем её на KY.
6. Биграмма DI формирует прямоугольник, заменяем её на BE.
7. Биграмма NT формирует прямоугольник, заменяем её на JV.
8. Биграмма HE формирует прямоугольник, заменяем её на DM.
9. Биграмма TR формирует прямоугольник, заменяем её на UI.
10. Биграмма EX находится в одной строке, заменяем её на XM.
11. Биграмма ES формирует прямоугольник, заменяем её на MN.
12. Биграмма TU находится в одной строке, заменяем её на UV.
13. Биграмма MP формирует прямоугольник, заменяем её на IF.
Получаем зашифрованный текст «BM ND ZB XD KY BE JV DM UI XM MN UV IF»
Таким образом сообщение «Hide the gold in the tree stump» преобразуется в «BMNDZBXDKYBEJVDMUIXMMNUVIF»

Иллюстрации в примерах[править | править исходный текст]

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

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

OR заменяется на YZ

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

OR заменяется на BY

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

OR заменяется на ZX

4)
* * * * *
* * * * *
Y O Z * R
* * * * *
* * * * *

OR заменяется на ZY

Криптоанализ шифра Плейфера[править | править исходный текст]

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

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

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

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

См. также[править | править исходный текст]

Ссылки[править | править исходный текст]