Если при шифровании преобразуются более двух букв открытого текста, то шифр называется полиграммным. Первый полиграммный шифр предложил Лестер Хилл в 1929 году (англ. Lester Sanders Hill, [46, 47]). Это был первый шифр, который позволял оперировать более чем тремя символами за один такт.
В шифре Хилла текст предварительно преобразуют в цифровую форму и разбивают на последовательности (блоки) по $n$ последовательных цифр. Такие последовательности называются $n$-граммами. Выбирают обратимую по модулю $m$ $(n \times n)$-матрицу $\mathbf{A} = (a_{ij})$, где $m$ – число букв в алфавите. Выбирают случайный $n$-вектор $\mathbf{f} = (f_1, \dots, f_n)$. После чего $n$-грамма открытого текста $\mathbf{x} = (x_1, x_2, \dots, x_n)$ заменяется $n$-граммой шифрованного текста $\mathbf{y} = (y_1, y_2, \dots, y_n)$ по формуле:
Расшифрование проводится по правилу:
Пример. Приведём пример шифрования с помощью шифра Хилла. Преобразуем английский алфавит в числовую форму (m = 26) следующим образом:
Выберем для примера $n = 2$. Запишем фразу «Wheatstone was the inventor» из предыдущего примера (первая строка таблицы). Каждой букве поставим в соответствие её номер в алфавите (вторая строка):
w, h | e,a | t,s | t,o | n,e | w,a | s,t | h,e | i,n | v,e | n,t | o,r |
22, 7 | 4,0 | 19,18 | 19,14 | 13,4 | 22,0 | 18,19 | 7,4 | 8,13 | 21,4 | 13,19 | 14,17 |
Выберем матрицу шифрования $A$ в виде:
Эта матрица обратима по ${\operatorname{mod}}26$, так как её определитель равен $1$ и взаимно прост с числом букв английского алфавита $m=26$. Обратная матрица равна:
Выберем вектор $\mathbf{f} = (4, 2)$. Первая числовая пара открытого текста $\mathbf{x} = (\text{w}, \text{h}) = (22, 7)$ зашифрована в виде:
или в буквенном виде $(\text{o}, \text{d})$.
Повторяя вычисления для всех пар, получим полный шифрованный текст в числовом виде (третья строка) или в буквенном виде (четвёртая строка):
w, h | e, a | t, s | t, o | n, e | w, a | s, t | h, e | i, n | v, e | n, t | o, r |
22, 7 | 4, 0 | 19, 18 | 19, 14 | 13, 4 | 22, 0 | 18, 19 | 7, 4 | 8, 13 | 21, 4 | 13, 19 | 14, 17 |
14, 3 | 24, 22 | 9, 21 | 3, 9 | 23, 1 | 10, 8 | 12, 19 | 19, 23 | 18, 3 | 11, 15 | 13, 20 | 2, 19 |
o, d | y, w | j, v | d, j | x, b | k, i | m, t | t, x | s, d | l, p | n, u | c, t |
Криптосистема Хилла уязвима к частотному криптоанализу, который основан на вычислении частот последовательностей символов. Рассмотрим пример «взлома» простого варианта криптосистемы Хилла.
Пример. В английском языке $m = 26$,
При шифровании использована криптосистема Хилла с матрицей второго порядка c нулевым вектором $\mathbf{f}$. Наиболее часто встречающиеся в шифртексте биграммы – RH и NI, в то время как в исходном языке – TH и HE (артикль THE). Найдём матрицу секретного ключа, составив уравнения
Стоит обратить внимание на то, что числа 4, 8, 13 не имеют обратных элементов по модулю 26.
Найденный секретный ключ