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

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

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

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

ABCDE
FGHI/JK
LMNOP
QRSTU
VWXYZ
АБВГДЕ
ЁЖЗИЙК
ЛМНОПР
СТУФХЦ
ЧШЩЪЫЬ
ЭЮЯ

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

ABCDECRI/JPT
FGHI/JKOGAFB
LMNOPDEHKL
QRSTUMNQSU
VWXYZVWXYZ
SEGURABCDE
TABCDFGHI/JK
FHI/JKLLMNOP
MNOPQQRSTU
VWXYZVWXYZ

Алгоритм

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

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

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

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

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