Автоключ шифр - Autokey cipher

Прямая таблица для использования с шифром с автоключом

Autokey шифр (также известный как автоклавный шифр ) является шифром , который включает в себя сообщения ( открытый текст ) в ключ . Ключ генерируется из сообщения некоторым автоматическим способом, иногда путем выбора определенных букв из текста или, что более часто, путем добавления короткого ключа-праймера в начало сообщения.

Существует две формы шифрования с автоключом: шифр с автоключом и текст с автоключом . Шифр с автоматическим ключом использует предыдущие элементы ключевого потока для определения следующего элемента в ключевом потоке. Текстовый автоключ использует текст предыдущего сообщения для определения следующего элемента в ключевом потоке.

В современной криптографии самосинхронизирующиеся потоковые шифры являются шифрами с автоключом.

История

Этот шифр был изобретен в 1586 году Блезом де Виженером с обратной таблицей из десяти алфавитов. Версия Виженера использовала согласованную букву алфавита в качестве праймера, создавая ключ, записывая эту букву, а затем остальную часть сообщения.

Более популярные автоключи используют прямоугольную таблицу , квадрат с 26 копиями алфавита, первая строка начинается с «A», следующая строка начинается с «B» и т. Д. Вместо одной буквы используется короткое согласованное ключевое слово. , а ключ генерируется путем записи праймера, а затем остальной части сообщения, как в версии Виженера. Для шифрования открытого текста располагаются строка с первой буквой сообщения и столбец с первой буквой ключа. Буква, в которой пересекаются строка и столбец, является буквой зашифрованного текста.

Метод

Шифр с автоключом, используемый членами Американской ассоциации криптограмм , начинается с относительно короткого ключевого слова, праймера , и добавляет к нему сообщение. Если, например, ключевое слово QUEENLYи сообщение есть attack at dawn, ключ будет QUEENLYATTACKATDAWN.

Plaintext:  attackatdawn...
Key:        QUEENLYATTACKATDAWN....
Ciphertext: QNXEPVYTWTWP...

Таким образом, сообщение с зашифрованным текстом будет «QNXEPVYTWTWP».

Чтобы расшифровать сообщение, получатель должен начать с записи согласованного ключевого слова.

QNXEPVYTWTWP
QUEENLY

Затем будет взята первая буква клавиши Q, и эта строка будет найдена в прямоугольной таблице. Этот столбец для первой буквы зашифрованного текста будет просматриваться поперек, также Q в этом случае, и будет извлечена буква вверху, A. Теперь эта буква будет добавлена ​​в конец ключа:

QNXEPVYTWTWP
QUEENLYA
a

Затем, поскольку следующая буква в ключе - U, а следующая буква в зашифрованном тексте - N, просматривается строка U, чтобы найти N, чтобы получить T:

QNXEPVYTWTWP
QUEENLYAT
at

Это продолжается до тех пор, пока не будет восстановлен весь ключ, после чего праймер можно будет удалить с самого начала.

С автоключевым шифром Виженера единственная ошибка в шифровании делает остальную часть сообщения непонятной.

Криптоанализ

Шифры с автоключом несколько более безопасны, чем полиалфавитные шифры, в которых используются фиксированные ключи, поскольку ключ не повторяется в одном сообщении. Следовательно, такие методы, как проверка Касиски или анализ индекса совпадений , не будут работать с зашифрованным текстом, в отличие от аналогичных шифров, в которых используется один повторяющийся ключ.

Однако серьезным недостатком системы является то, что открытый текст является частью ключа. Это означает, что ключ, скорее всего, будет содержать общие слова в разных местах. Ключ можно атаковать, используя словарь общих слов, биграмм , триграмм и т. Д., А также пытаясь расшифровать сообщение, перемещая это слово через ключ до тех пор, пока не появится потенциально читаемый текст.

Рассмотрим пример сообщения, meet at the fountainзашифрованного с помощью ключевого слова primer KILT: для начала автоключ будет создан путем размещения праймера в начале сообщения:

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

Легкость криптоанализа обусловлена ​​обратной связью между открытым текстом и ключом. При угадывании трех символов выявляются еще шесть символов (по три с каждой стороны), которые затем открывают другие символы, создавая каскадный эффект. Это позволяет быстро исключить неверные догадки.

Смотрите также

Примечания

использованная литература

  • Белласо, Джован Баттиста, Il vero modo di scrivere in cifra con fascésà, 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.

внешние ссылки