Шифр четырех квадратов — метод ручного симметрического шифрования, который представляет собой модифицированный вариант шифра Плейфера. Этот метод обеспечивает более высокий уровень безопасности защищенных данных. Шифр был изобретен известным французским криптографом Феликсом Деластелем в 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
Для расшифровки сообщения нужно проделать те же действия, выбирая буквы на квадратах с кодовыми словами.