Шифр четырех квадратов

Шифр четырех квадратов — метод ручного симметрического шифрования, который ​​представляет собой модифицированный вариант шифра Плейфера. Этот метод обеспечивает более высокий уровень безопасности защищенных данных. Шифр был изобретен известным французским криптографом Феликсом Деластелем в 1902 году.

Данный метод шифрует пары букв и, тем самым, попадает в категорию шифров, известных как полиграфические подстановочные шифры. Это добавляет значительную прочность шифрованию по сравнению с шифрами простой замены, которые действуют на отдельные символы. Использование биграмм делает шифр четырех квадратов менее восприимчивым к частотному криптоанализу, так как он должен быть применен к 676 возможным парам букв (в английском алфавите), а не только к 26 символам для монографического замещения. Частотный анализ для биграмм возможен, но он гораздо сложнее, и для того, чтобы этот анализ был полезен, требуется, как правило, намного больше шифротекста.

Шифр четырех квадратов использует 4 квадратных матрицы, размером зависящих от количества букв в алфавите, например, 5х5 в английском языке, 6х6 в русском.

A B C D E
F G H I/J K
L M N O P
Q R S T U
V W X Y Z
А Б В Г Д Е
Ё Ж З И Й К
Л М Н О П Р
С Т У Ф Х Ц
Ч Ш Щ Ъ Ы Ь
Э Ю Я

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

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

Алгоритм

Для шифрования необходимо выполнить следующие пункты:

  • Разделить сообщение на биграммы.
ATTACK AT DAWN = AT TA CK AT DA WN
  • По очереди найти их в левом верхнем и правом нижнем квадрате. Например, AT.

  • Комплементарно найденным буквам выбрать другие 2 буквы из правого верхнего и левого нижнего квадратов – PM. При этом все четыре буквы будут находиться в вершинах полученного прямоугольника. Полученную пару букв помещают в шифр слева направо.

  • Повторить для всех пар букв, содержащихся в сообщении.
  • В итоге получается зашифрованное сообщение:
PM MU TB PM CU XH = PMMUTBPMCUXH

Для расшифровки сообщения нужно проделать те же действия, выбирая буквы на квадратах с кодовыми словами.