Эта статья включает в себя список общих ссылок , но он остается в значительной степени непроверенным, поскольку в нем отсутствует достаточное количество соответствующих встроенных ссылок . ( Февраль 2012 г. ) ( Узнайте, как и когда удалить этот шаблон сообщения ) |
В классической криптографии , то шифр Хиллы является полиграфическим подменом шифра на основе линейной алгебры . Изобретенный Лестером С. Хиллом в 1929 году, это был первый полиграфический шифр, в котором было практично (хотя и едва ли) оперировать более чем тремя символами одновременно.
Следующее обсуждение предполагает элементарные знания матриц .
Шифрование [ править ]
Каждая буква представлена числом по модулю 26. Хотя это не является существенной особенностью шифра, часто используется эта простая схема:
Письмо | А | B | C | D | E | F | грамм | ЧАС | я | J | K | L | M | N | O | п | Q | р | S | Т | U | V | W | Икс | Y | Z |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Число | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 год | 22 | 23 | 24 | 25 |
Чтобы зашифровать сообщение, каждый блок из n букв (рассматриваемый как n- компонентный вектор ) умножается на обратимую матрицу размера n × n по модулю 26. Чтобы расшифровать сообщение, каждый блок умножается на обратную матрицу, используемую для шифрование.
Матрица, используемая для шифрования, представляет собой ключ шифрования , и он должен выбираться случайным образом из набора обратимых матриц размера n × n ( по модулю 26). Конечно, шифр можно адаптировать к алфавиту с любым количеством букв; Вся арифметика просто должна выполняться по модулю количества букв, а не по модулю 26.
Рассмотрим сообщение ACT и ключ ниже (или GYB / NQK / URP буквами):
Поскольку 'A' равно 0, 'C' равно 2, а 'T' равно 19, сообщение является вектором:
Таким образом, зашифрованный вектор определяется следующим образом:
что соответствует зашифрованному тексту «POH». Теперь предположим, что наше сообщение вместо «CAT», или:
На этот раз зашифрованный вектор имеет следующий вид:
что соответствует зашифрованному тексту «FIN». Каждая буква изменилась. Шифр Хилл достиг Shannon «s диффузии , и п - мерный Hill шифр может полностью диффундировать через п символы сразу.
Расшифровка [ править ]
Чтобы расшифровать, мы превращаем зашифрованный текст обратно в вектор, а затем просто умножаем на обратную матрицу ключевой матрицы (IFK / VIV / VMI в буквах). Мы находим, что по модулю 26 матрица, обратная матрице, использованной в предыдущем примере, имеет вид:
Взяв предыдущий пример зашифрованного текста POH, мы получаем:
что, как и ожидалось, возвращает нас к "ACT".
При выборе матрицы шифрования существуют две сложности:
- Не все матрицы имеют обратную (см. Обратимую матрицу ). Матрица будет иметь обратную тогда и только тогда, когда ее определитель не равен нулю.
- Определитель матрицы шифрования не должен иметь общих множителей с модульной базой.
Таким образом, если мы работаем по модулю 26, как указано выше, определитель должен быть отличным от нуля и не должен делиться на 2 или 13. Если определитель равен 0 или имеет общие множители с модульной базой, то матрица не может использоваться в матрице Хилла. cipher, при этом необходимо выбрать другую матрицу (иначе расшифровать не удастся). К счастью, матрицы, удовлетворяющие условиям, используемым в шифре Хилла, встречаются довольно часто.
Для нашего примера ключевой матрицы:
Итак, по модулю 26 определитель равен 25. Поскольку у него нет общих множителей с 26, эту матрицу можно использовать для шифра Хилла.
Риск того, что определитель имеет общие множители с модулем, можно исключить, сделав модуль простым . Следовательно, полезный вариант шифра Хилла добавляет 3 дополнительных символа (таких как пробел, точка и вопросительный знак), чтобы увеличить модуль до 29.
Пример [ править ]
Позволять
будет ключом, и предположим, что текстовое сообщение - это «ПОМОЩЬ». Тогда этот открытый текст представлен двумя парами
Затем мы вычисляем
- и
и продолжаем шифрование следующим образом:
Матрица K обратима, следовательно, существует такая, что . Обратное к K можно вычислить по формуле
Эта формула все еще остается в силе после модульной редукции, если для вычислений используется модульная мультипликативная инверсия . Следовательно, в этом случае мы вычисляем
Затем мы вычисляем
- и
Следовательно,
- .
Безопасность [ править ]
Базовый шифр Хилла уязвим для атак с использованием известного открытого текста, потому что он полностью линейен . Противник, который перехватывает пары символов открытого текста / зашифрованного текста, может создать линейную систему, которая (обычно) легко решается; если случается, что эта система не определена, необходимо лишь добавить еще несколько пар открытый текст / зашифрованный текст. Вычисление этого решения с помощью стандартных алгоритмов линейной алгебры занимает очень мало времени.
Хотя умножение матриц само по себе не приводит к созданию безопасного шифра, оно по-прежнему является полезным шагом в сочетании с другими нелинейными операциями, поскольку умножение матриц может обеспечить распространение . Например, правильно выбранная матрица может гарантировать, что небольшие различия до умножения матриц приведут к большим различиям после умножения матриц. Действительно, некоторые современные шифры используют шаг матричного умножения для обеспечения распространения. Например, шаг MixColumns в AES - это умножение матриц. Функция g в Twofish представляет собой комбинацию нелинейных S-блоков с тщательно подобранным умножением матриц (MDS).
Размер ключевого пространства [ править ]
Пространство ключей является множество всех возможных ключей. Размер ключевого пространства - это количество возможных ключей. Эффективный размер ключа в битах - это двоичный логарифм размера ключевого пространства.
Существуют матрицы размерности n × n . Таким образом или около - это верхняя граница размера ключа шифра Хилла с использованием матриц размера n × n . Это только верхняя граница, потому что не каждая матрица обратима и, следовательно, может использоваться в качестве ключа. Количество обратимых матриц можно вычислить с помощью китайской теоремы об остатках . Т.е. матрица обратима по модулю 26 тогда и только тогда, когда она обратима как по модулю 2, так и по модулю 13. Число обратимых матриц размера n × n по модулю 2 равно порядку общей линейной группы GL (n, Z 2 ). это
Точно так же количество обратимых матриц по модулю 13 (т. Е. Порядок GL (n, Z 13 )) равно
Количество обратимых матриц по модулю 26 является произведением этих двух чисел. Следовательно, это
Кроме того, кажется разумным избегать слишком большого количества нулей в ключевой матрице, поскольку они уменьшают распространение. В результате эффективное пространство ключей базового шифра Хилла составляет около . Для шифра Хилла 5 × 5 это примерно 114 бит. Конечно, поиск по ключу - не самая эффективная из известных атак.
Механическая реализация [ править ]
При работе с двумя символами одновременно шифр Хилла не дает особых преимуществ перед Playfair или двунаправленным шифром , и на самом деле он слабее, чем оба символа , и немного труднее работать с карандашом и бумагой. По мере увеличения размерности шифр быстро становится невозможным для человека работать вручную.
Шифр Хилла размерности 6 был реализован механически. Хилл и его партнер получили патент ( патент США 1845947 ) на это устройство, которое выполняет матричное умножение 6 × 6 по модулю 26 с использованием системы зубчатых колес и цепей.
К сожалению, механизмы передачи (и, следовательно, ключ) были фиксированы для любой данной машины, поэтому для безопасности было рекомендовано тройное шифрование: секретный нелинейный шаг, за которым следует широкий диффузионный шаг от машины, за которым следует третий секретный нелинейный шаг. (Гораздо более поздний шифр Эвен-Мансура также использует неключевой диффузионный средний шаг). Такая комбинация на самом деле была очень мощной для 1929 года и указывает на то, что Хилл, по-видимому, понимал концепции атаки «встреча посередине», а также путаницу и распространение. К сожалению, его машина не продавалась. [ необходима цитата ]
См. Также [ править ]
Другие практические полиграфические шифры "карандаш и бумага" включают:
- Шифр playfair
- Бифидный шифр
- Трехзначный шифр
Ссылки [ править ]
- Лестер С. Хилл, Криптография в алгебраическом алфавите, The American Mathematical Monthly Vol.36, июнь – июль 1929 г., стр. 306–312. ( PDF )
- Лестер С. Хилл, О некоторых аппаратах линейного преобразования в криптографии, The American Mathematical Monthly Vol.38, 1931, стр. 135–154.
- Джеффри Оверби, Уильям Травес и Ежи Войдило, О ключевом пространстве шифра холма, Cryptologia , том 29, № 1, январь 2005 г., стр. 59–72. ( CiteSeerX ) ( PDF )
Внешние ссылки [ править ]
- " Hill Cipher Web App " реализует шифр Хилла и показывает задействованные матрицы
- " Hill Cipher Explained " иллюстрирует линейную алгебру, лежащую в основе Hill Cipher.
- « Калькулятор шифров Хилла » описывает шифр Хилла на веб-странице