Шифр с автоключом
Шифр с автоключом (также известный как шифр автоклава ) — это шифр , который включает сообщение ( открытый текст ) в ключ . Ключ генерируется из сообщения каким-то автоматическим способом, иногда путем выбора определенных букв из текста или, что чаще, путем добавления короткого стартового ключа в начале сообщения.
Существует две формы шифра с автоматическим ключом: шифры с автоматическим ключом и с автоматическим ключом шифры . Шифр с ключом и автоключом использует предыдущие элементы потока ключей для определения следующего элемента в потоке ключей. Text-autokey использует текст предыдущего сообщения для определения следующего элемента в ключевом потоке.
История
[ редактировать ]Этот шифр был изобретен в 1586 году Блезом де Виженером с обратной таблицей из десяти алфавитов. В версии Виженера в качестве основы использовалась согласованная буква алфавита, а ключ составлялся путем записи этой буквы, а затем остальной части сообщения. [1]
В более популярных автоклавишах используется прямая таблица , квадрат с 26 копиями алфавита, первая строка начинается с «A», следующая строка начинается с «B» и т. д. Вместо одной буквы используется короткое согласованное ключевое слово. , а ключ генерируется путем записи буквенного обозначения, а затем остальной части сообщения, как в версии Виженера. Для шифрования открытого текста располагаются строка с первой буквой сообщения и столбец с первой буквой ключа. Буква, в которой пересекаются строка и столбец, является буквой зашифрованного текста.
Метод
[ редактировать ]Шифр с автоматическим ключом, используемый членами Американской ассоциации криптограмм , начинается с относительно короткого ключевого слова, праймера , и добавляет к нему сообщение. Например, если ключевое слово QUEENLY
и сообщение attack at dawn
, тогда ключ будет QUEENLYATTACKATDAWN
. [2]
Plaintext: attackatdawn Key: QUEENLYATTACKATDAWN Ciphertext: QNXEPVYTWTWP
Таким образом, зашифрованное сообщение будет «QNXEPVYTWTWP».
Чтобы расшифровать сообщение, получатель должен был начать с записи согласованного ключевого слова.
QNXEPVYTWTWP QUEENLY
Тогда будет взята первая буква ключа Q, и эта строка будет найдена в прямой таблице. Этот столбец для первой буквы зашифрованного текста будет просмотрен, в данном случае также Q, и будет получена буква вверху, A. Теперь эта буква будет добавлена в конец ключа:
QNXEPVYTWTWP QUEENLYA a
Затем, поскольку следующая буква в ключе — U, а следующая буква в зашифрованном тексте — N, строка U просматривается, чтобы найти N и получить T:
QNXEPVYTWTWP QUEENLYAT at
Это продолжается до тех пор, пока весь ключ не будет восстановлен, и тогда праймер можно будет удалить с самого начала.
При использовании шифра с автоматическим ключом Виженера единственная ошибка в шифровании делает остальную часть сообщения неразборчивой. [3]
Криптоанализ
[ редактировать ]Шифры с автоматическим ключом несколько более безопасны, чем полиалфавитные шифры, в которых используются фиксированные ключи, поскольку ключ не повторяется в одном сообщении. Следовательно, такие методы, как исследование Касиски или анализ индекса совпадений , не будут работать с зашифрованным текстом, в отличие от аналогичных шифров, в которых используется один повторяющийся ключ. [3]
Однако важнейшим недостатком системы является то, что открытый текст является частью ключа. Это означает, что ключ, скорее всего, будет содержать общие слова в разных местах. Ключ можно атаковать, используя словарь общих слов, биграмм , триграмм и т. д., а также пытаясь расшифровать сообщение, перемещая это слово через ключ до тех пор, пока не появится потенциально читаемый текст.
Рассмотрим пример сообщения meet at the fountain
зашифровано ключевым словом primer KILT
: [4] Для начала автоключ будет создан путем размещения букваря в начале сообщения:
plaintext: meetatthefountain primer: KILT autokey: KILTMEETATTHEFOUN
Затем сообщение шифруется с использованием ключа и алфавитов замены, здесь — прямая таблица:
plaintext: meetatthefountain key: KILTMEETATTHEFOUN ciphertext: WMPMMXXAEYHBRYOCA
Злоумышленник получает только зашифрованный текст и может атаковать текст, выбрав слово, которое может появиться в открытом тексте. В этом примере злоумышленник выбирает слово the
как потенциальную часть исходного сообщения, а затем пытается его декодировать, помещая THE
в каждом возможном месте ключа:
ciphertext: WMP MMX XAE YHB RYO CA key: THE THE THE THE THE .. plaintext: dfl tft eta fax yrk .. ciphertext: W MPM MXX AEY HBR YOC A key: . THE THE THE THE THE . plaintext: . tii tqt hxu oun fhy . ciphertext: WM PMM XXA EYH BRY OCA key: .. THE THE THE THE THE plaintext: .. wfi eqw lrd iku vvw
В каждом случае результирующий открытый текст выглядит почти случайным, поскольку ключ не выровнен для большей части зашифрованного текста. Однако изучение результатов может указать на то, что расположение клавиш выровнено правильно. В этих случаях полученный расшифрованный текст потенциально является частью слова. В этом примере маловероятно, что dfl
является началом исходного открытого текста, поэтому крайне маловероятно, что первые три буквы ключа THE
. Изучая результаты, можно увидеть ряд фрагментов, которые, возможно, являются словами, а другие можно исключить. Затем фрагменты открытого текста можно отсортировать в порядке их вероятности:
unlikely ←——————————————————→ promising eqw dfl tqt ... ... ... ... eta oun fax
В ключе также появится правильный фрагмент открытого текста, сдвинутый вправо на длину ключевого слова. Аналогично угаданный фрагмент ключа ( THE
) также появляется в открытом тексте со сдвигом влево. Таким образом, угадывая длину ключевых слов (вероятно, от 3 до 12), можно выявить больше открытого текста и ключа.
Пробую это с oun
, возможно, потратив некоторое время на остальных, приводит к следующему:
shift by 4: ciphertext: WMPMMXXAEYHBRYOCA key: ......ETA.THE.OUN plaintext: ......the.oun.ain
shift by 5: ciphertext: WMPMMXXAEYHBRYOCA key: .....EQW..THE..OU plaintext: .....the..oun..og
shift by 6: ciphertext: WMPMMXXAEYHBRYOCA key: ....TQT...THE...O plaintext: ....the...oun...m
Можно заметить, что сдвиг на 4 выглядит хорошо (оба остальных имеют маловероятные Q), и поэтому выявленное ETA
можно сдвинуть назад на 4 в открытый текст:
ciphertext: WMPMMXXAEYHBRYOCA key: ..LTM.ETA.THE.OUN plaintext: ..eta.the.oun.ain
Сейчас можно много работать. Ключевое слово, вероятно, имеет длину 4 символа ( ..LT
), и часть сообщения видна:
m.eta.the.oun.ain
Поскольку предположения открытого текста влияют на ключевые 4 символа слева, дается обратная связь о правильных и неправильных предположениях. Пробелы можно быстро заполнить:
meetatthefountain
Простота криптоанализа обусловлена обратной связью между открытым текстом и ключом. Угадывание трех символов показывает еще шесть символов (по три с каждой стороны), которые затем раскрывают дополнительные символы, создавая каскадный эффект. Это позволяет быстро исключить неверные предположения.
См. также
[ редактировать ]Примечания
[ редактировать ]- ^ «Шифр Виженера» . Крипто-уголок . Проверено 13 августа 2018 г.
- ^ «Калькулятор автоключей» . Asecuritysite.com. Архивировано из оригинала 2 декабря 2013 г. Проверено 26 декабря 2012 г.
- ^ Jump up to: а б Хоффштейн, Джеффри; Пайфер, Джилл; Сильверман, Джозеф (2014). Введение в математическую криптографию . Спрингер. п. 288. ИСБН 9781493917112 .
- ^ «Калькулятор автоключей» . Asecuritysite.com. Архивировано из оригинала 3 декабря 2013 г. Проверено 26 декабря 2012 г.
Ссылки
[ редактировать ]- Белласо, Джован Баттиста, Истинный способ шифровки с легкостью, скоростью и безопасностью, автор: Джован Баттиста Белласо, джентльмен из Брешии , Якобо Британнико, Бресса, 1564 г.
- Виженер, Блез де, Трактат о шифрах или секретных способах письма , Абель Л'Анжелье, Париж, 1586. ff. 46р-49в.
- ЛАБРОНИК (Буонафальче, А), Ранние формы таблицы Порта , «Криптограмма», т. LX н. 2, Уилбрахам, 1994 г.
- Буонафальче, Аугусто, Взаимные шифры Белласо , «Cryptologia» 30 (1):39-51, 2006.
- ЛАБРОНИКУС (Буонафальс, А), Вигенерант и Автокей. Обновление , «Криптограмма», том. LXXIV н. 3 сентября 2008 г. План.
Внешние ссылки
[ редактировать ]- Взломщик секретного кода - декодер и кодировщик шифрования AutoKey
- Javascript-реализация шифра Autokey.