Autokey шифр (также известный как автоклавный шифр ) является шифром , который включает в себя сообщения ( открытый текст ) в ключ . Ключ генерируется из сообщения некоторым автоматическим способом, иногда путем выбора определенных букв из текста или, что более часто, путем добавления короткого ключа-праймера в начало сообщения.
Существует две формы шифрования с автоключом: шифр с автоключом и текст с автоключом . Шифр с автоматическим ключом использует предыдущие элементы ключевого потока для определения следующего элемента в ключевом потоке. Текстовый автоключ использует текст предыдущего сообщения для определения следующего элемента в ключевом потоке.
В современной криптографии самосинхронизирующиеся потоковые шифры являются шифрами с автоключом.
История [ править ]
Этот шифр был изобретен в 1586 году Блезом де Виженером с обратной таблицей из десяти алфавитов. Версия Виженера использовала согласованную букву алфавита в качестве праймера, создавая ключ, записывая эту букву, а затем остальную часть сообщения. [1]
Более популярные автоключи используют прямоугольную таблицу , квадрат с 26 копиями алфавита, первая строка начинается с «A», следующая строка начинается с «B» и т. Д. Вместо одной буквы используется короткое согласованное ключевое слово. , а ключ генерируется путем записи праймера, а затем остальной части сообщения, как в версии Виженера. Для шифрования открытого текста располагаются строка с первой буквой сообщения и столбец с первой буквой ключа. Буква, в которой пересекаются строка и столбец, является буквой зашифрованного текста.
Метод [ править ]
Шифр с автоключом, используемый членами Американской ассоциации криптограмм , начинается с относительно короткого ключевого слова, праймера , и добавляет к нему сообщение. Если, например, ключевое слово «QUEENLY», а сообщение «ATTACK AT DAWN», ключ будет «QUEENLYATTACKATDAWN». [2]
Открытый текст: АТАКА НА РАССВЕТЕ ...Ключ: QUEENL YA TTACK AT DAWN ....Зашифрованный текст: QNXEPV YT WTWP ...
Таким образом, сообщение с зашифрованным текстом будет «QNXEPVYTWTWP».
Чтобы расшифровать сообщение, получатель должен начать с записи согласованного ключевого слова.
КОРОЛЕВА
Затем будет взята первая буква клавиши Q, и эта строка будет найдена в прямоугольной таблице. Этот столбец для первой буквы зашифрованного текста будет просматриваться, также Q в этом случае, и будет извлечена буква вверху, A. Теперь эта буква будет добавлена в конец ключа:
КУИНЛЯ
Затем, поскольку следующая буква в ключе - U, а следующая буква в зашифрованном тексте - N, просматривается строка U, чтобы найти N, чтобы получить T:
КУИНЛЯТ
Это продолжается до тех пор, пока не будет восстановлен весь ключ, после чего праймер можно будет удалить с самого начала.
С автоключевым шифром Виженера единственная ошибка в шифровании делает остальную часть сообщения непонятной. [3]
Криптоанализ [ править ]
Шифры с автоключом несколько более безопасны, чем полиалфавитные шифры, в которых используются фиксированные ключи, поскольку ключ не повторяется в одном сообщении. Следовательно, такие методы, как проверка Касиски или анализ индекса совпадений , не будут работать с зашифрованным текстом, в отличие от аналогичных шифров, в которых используется один повторяющийся ключ. [3]
Однако ключевая слабость системы заключается в том, что открытый текст является частью ключа. Это означает, что ключ, скорее всего, будет содержать общие слова в разных местах. Ключ можно атаковать, используя словарь общих слов, биграмм , триграмм и т. Д., А также пытаясь расшифровать сообщение, перемещая это слово через ключ до тех пор, пока не появится потенциально читаемый текст.
Рассмотрим пример сообщения «ВСТРЕЧАЙСЯ НА ФОНТАНЕ», зашифрованное ключевым словом «KILT»: [4] Для начала автоключ будет создан путем размещения праймера в начале сообщения:
открытый текст: MEETATTHEFOUNTAINгрунтовка: KILTавтоключ: KILTMEETATTHEFOUN
Затем сообщение шифруется с использованием ключа и алфавита подстановки, здесь прямоугольная таблица:
открытый текст: MEETATTHEFOUNTAINключ: KILTMEETATTHEFOUNзашифрованный текст: WMPMMXXAEYHBRYOCA
Злоумышленник получает только зашифрованный текст и может атаковать текст, выбрав слово, которое может появиться в открытом тексте. В этом примере злоумышленник выбирает слово «THE» как потенциальную часть исходного сообщения, а затем пытается его декодировать, помещая THE во всех возможных местах зашифрованного текста:
зашифрованный текст: WMP MMX XAE YHB RYO CA ключ: THE THE THE THE ..открытый текст: DFL TFT ETA FAX YRK ..зашифрованный текст: W MPM MXX AEY HBR YOC Aключ: . THE THE THE THE THE.простой текст: . TII TQT HXU OUN FHY.зашифрованный текст: WM PMM XXA EYH BRY OCAключ: .. THE THE THE THE THE THEоткрытый текст: .. WFI EQW LRD IKU VVW
В каждом случае результирующий открытый текст выглядит почти случайным, потому что ключ не выровнен для большей части зашифрованного текста. Тем не менее, изучение результатов может предложить правильное расположение ключа. В таких случаях полученный расшифрованный текст потенциально является частью слова. В этом примере маловероятно, что «DFL» является частью исходного открытого текста, и поэтому маловероятно, что первые три буквы ключа - это THE. Изучая результаты, можно увидеть ряд фрагментов, которые, возможно, являются словами, а другие можно удалить. Затем фрагменты открытого текста можно отсортировать в порядке вероятности:
маловероятно <------------------> перспективноEQW DFL TFT ... ... ... ... ETA OUN FAX
Правильный фрагмент открытого текста также должен появиться в ключе, сдвинутом вправо на длину ключевого слова. Точно так же угаданный ключевой фрагмент («THE») также появляется в открытом тексте, сдвинутом влево. Таким образом, угадывая длину ключевых слов (вероятно, от 3 до 12), можно выявить больше открытого текста и ключа.
Попытка сделать это с «ОУН», возможно, потратив некоторое время на другие, приводит к следующему:
сдвиг на 4:зашифрованный текст: WMPMMXXAEYHBRYOCAключ: ...... ETA.THE.OUNоткрытый текст: ...... THE.OUN.AINпо 5:зашифрованный текст: WMPMMXXAEYHBRYOCAключ: ..... EQW..THE..OUоткрытый текст: ..... THE..OUN..OGпо 6:зашифрованный текст: WMPMMXXAEYHBRYOCAключ: .... TQT ... THE ... Oоткрытый текст: .... THE ... OUN ... M
Видно, что сдвиг на 4 выглядит хорошо (оба других имеют маловероятные Q), и поэтому обнаруженное "ETA" может быть сдвинуто назад на 4 в открытый текст:
зашифрованный текст: WMPMMXXAEYHBRYOCAключ: ..LTM.ETA.THE.OUNоткрытый текст: ..ETA.THE.OUN.AIN
Сейчас можно со многими работать. Ключевое слово, вероятно, состоит из 4 символов ("..LT"), и часть сообщения видна:
M.ETA.THE.OUN.AIN
Поскольку предположения в виде открытого текста влияют на ключевые 4 символа слева, дается обратная связь о правильных и неправильных предположениях. Пробелы можно быстро заполнить:
ВСТРЕЧАЙТЕ
Легкость криптоанализа обусловлена обратной связью между открытым текстом и ключом. При угадывании трех символов появляются еще шесть персонажей, которые затем раскрывают других персонажей, создавая каскадный эффект. Это позволяет быстро исключить неверные догадки.
См. Также [ править ]
Заметки [ править ]
- ^ "Vigenère Cipher" . Крипто-уголок . Проверено 13 августа 2018 .
- ^ "Калькулятор Autokey" . Asecuritysite.com. Архивировано из оригинала на 2013-12-02 . Проверено 26 декабря 2012 .
- ^ а б Хоффштейн, Джеффри; Пайфер, Джилл; Сильверман, Джозеф (2014). Введение в математическую криптографию . Springer. п. 288. ISBN 9781493917112.
- ^ "Калькулятор Autokey" . Asecuritysite.com. Архивировано из оригинала на 2013-12-03 . Проверено 26 декабря 2012 .
Ссылки [ править ]
- Беллазо, Джован Баттиста, Il vero modo di scrivere in cifra con fascéà, prestezza, et securezza di Misser Джован Баттиста Белласо, gentil'huomo bresciano , Iacobo Britannico, Bressa 1564.
- Vigenère, Blaise de, Traicté des chiffres ou secrètes manières d'escrire , Abel l'Angelier, Paris 1586. ff. 46р-49в.
- LABRONICUS (Buonafalce, A), Ранние формы таблицы Porta , «Криптограмма», т. LX n. 2, Wilbraham 1994.
- Буонафальсе, Аугусто, Взаимные шифры Белласо, «Cryptologia» 30 (1): 39-51, 2006.
- LABRONICUS (Buonafalce, A), Vigenère и Autokey. Обновление , «Криптограмма», т. LXXIV n. 3, Плано 2008.
Внешние ссылки [ править ]
- Взломщик секретного кода - AutoKey Cipher Decoder и Encoder
- Реализация шифра Autokey на Javascript