Перейти к содержимому

Шифр с автоключом

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

Режим

Короткое ключевое слово, которое только начинает ключ. После него ключ продолжается самим сообщением, поэтому никогда не повторяется.

Что продолжает ключ

Автоключ по открытому тексту — классический шифр, именно его имеют в виду головоломки, когда говорят «автоключ». Форма по шифротексту — другой вариант, встречающийся в учебниках; обе стороны должны выбрать один и тот же.

Сохранить в результате

Ход вычислений

Ключ, буква за буквой — первые 12 букв

ОткрытыйATTACKATDAWN
КлючQUEENLYATTAC
ШифрQNXEPVYTWTWP

Первые 7 букв ключа (затенены) — праймер; далее каждая буква ключа — это буква открытого текста на 7 позиций назад.

  • Буквы пронумерованы: A = 0, B = 1 … Z = 25, а каждая сумма берётся по модулю 26.
  • Кодирование: буква шифра = буква открытого текста + буква ключа.
  • Ключ — это праймер, за которым идёт открытый текст, поэтому при декодировании каждая восстановленная буква присоединяется к ключу.

Квадрат Виженера

ABCDEFGHIJKLMNOPQRSTUVWXYZ
AABCDEFGHIJKLMNOPQRSTUVWXYZ
BBCDEFGHIJKLMNOPQRSTUVWXYZA
CCDEFGHIJKLMNOPQRSTUVWXYZAB
DDEFGHIJKLMNOPQRSTUVWXYZABC
EEFGHIJKLMNOPQRSTUVWXYZABCD
FFGHIJKLMNOPQRSTUVWXYZABCDE
GGHIJKLMNOPQRSTUVWXYZABCDEF
HHIJKLMNOPQRSTUVWXYZABCDEFG
IIJKLMNOPQRSTUVWXYZABCDEFGH
JJKLMNOPQRSTUVWXYZABCDEFGHI
KKLMNOPQRSTUVWXYZABCDEFGHIJ
LLMNOPQRSTUVWXYZABCDEFGHIJK
MMNOPQRSTUVWXYZABCDEFGHIJKL
NNOPQRSTUVWXYZABCDEFGHIJKLM
OOPQRSTUVWXYZABCDEFGHIJKLMN
PPQRSTUVWXYZABCDEFGHIJKLMNO
QQRSTUVWXYZABCDEFGHIJKLMNOP
RRSTUVWXYZABCDEFGHIJKLMNOPQ
SSTUVWXYZABCDEFGHIJKLMNOPQR
TTUVWXYZABCDEFGHIJKLMNOPQRS
UUVWXYZABCDEFGHIJKLMNOPQRST
VVWXYZABCDEFGHIJKLMNOPQRSTU
WWXYZABCDEFGHIJKLMNOPQRSTUV
XXYZABCDEFGHIJKLMNOPQRSTUVW
YYZABCDEFGHIJKLMNOPQRSTUVWX
ZZABCDEFGHIJKLMNOPQRSTUVWXY

Строка = буква ключа, столбец = буква открытого текста, ячейка = буква шифра. Выберите букву ниже, чтобы подсветить её: её строка и столбец станут синими, а ячейка на их пересечении — янтарной.

Буква открытого текстаБуква ключаАрифметикаБуква шифра
Q0 + 16 = 16Q
U19 + 20 = 39 ≡ 13N
E19 + 4 = 23X
E0 + 4 = 4E
N2 + 13 = 15P
L10 + 11 = 21V
Y0 + 24 = 24Y
A19 + 0 = 19T
T3 + 19 = 22W
T0 + 19 = 19T
A22 + 0 = 22W
C13 + 2 = 15P

Как пользоваться инструментом «Шифр с автоключом»

  1. 1. Выберите праймер. Это короткое ключевое слово, например QUEENLY, которое начинает ключ. Учитываются только его буквы.
  2. 2. Выберите, что продолжает ключ. Классический автоключ использует открытый текст; форма по шифротексту предлагается для учебников, где используется она. Обе стороны должны договориться.
  3. 3. Введите сообщение и выберите «Кодировать» или «Декодировать». Пробелы, цифры и знаки препинания проходят без изменений и не используют буквы ключа.
  4. 4. Смотрите, как строится ключ. Таблица ключа выстраивает открытый текст, ключ и шифротекст друг под другом, а праймер затенён; выберите букву в рабочей таблице, чтобы увидеть её в квадрате.

Как работает шифр с автоключом

Шифр с автоключом — это шифр Виженера с одним изменением: ключ не повторяется. Отправитель и получатель договариваются о коротком праймере, а ключом становится праймер, за которым следует само сообщение. При A = 0 … Z = 25 каждая буква шифра равна C = P + K (по модулю 26), точно так же, как в шифре Виженера, а декодирование вычитает ключ: P = C − K.

Декодирование работает, потому что ключ всегда на шаг впереди читающего. Праймер расшифровывает первые буквы; эти буквы открытого текста становятся следующими буквами ключа, которые расшифровывают последующие, и так до конца. Возьмём праймер QUEENLY и сообщение ATTACKATDAWN:

ОткрытыйКлючСуммаШифр
A (0)Q (16)0 + 16 = 16Q
T (19)U (20)19 + 20 = 39 ≡ 13N
T (19)E (4)19 + 4 = 23X
A (0)E (4)0 + 4 = 4E
C (2)N (13)2 + 13 = 15P

Всё сообщение превращается в QNXEPVYTWTWP — тот же ответ, что приводит статья о шифре с автоключом в Википедии для этого примера. Ключ — это QUEENLY, за которым идёт ATTACKATDAWN; его восьмая буква, A, — первая буква сообщения. Инструмент показывает эту строку ключа прямо под вашим текстом, чтобы было видно, где кончается праймер и начинается сообщение.

Краткая история шифра с автоключом

Идею, при которой сообщение само задаёт ключ, обычно приписывают итальянскому учёному-универсалу Джироламо Кардано в середине XVI века. Его версия начинала ключ заново с каждым словом, и поэтому первое слово было так же трудно восстановить читателю, как и криптоаналитику-противнику, по словам Дэвида Кана в его истории The Codebreakers. В 1586 году Блез де Виженер описал более чистую схему в Traicté des chiffres: одна затравочная буква, а затем ключ, который продолжается через сообщение без перезапуска. Именно так сегодня и учат шифру с автоключом. Более известный шифр с повторяющимся ключевым словом, который носит имя Виженера, — другое, более раннее изобретение Джованни Баттисты Беллазо; в XIX веке за ним закрепили это имя по ошибке.

Как взламывают шифр с автоключом

Неповторяющийся ключ обходит атаки, которые разрушают шифр Виженера. Тест Касиски ищет повторяющиеся фрагменты на расстоянии, кратном длине ключа, а индекс совпадений ищет период; у сообщения с автоключом нет ни того, ни другого. Но ключ составлен из обычного языка, и в этом его слабость. Криптоаналитик угадывает частое слово, например THE, сдвигает его вдоль шифротекста и вычитает; там, где результат читается как осмысленный текст, этот фрагмент, вероятно, тоже является ключом, и он раскрывает больше открытого текста на одну длину праймера дальше. Каждая верная догадка подсказывает следующую, и сообщение быстро распутывается. Первые буквы, зашифрованные одним только праймером, — это обычный шифр Виженера с коротким ключом. Ещё один недостаток — распространение ошибки: одна неверная буква при кодировании или переписывании портит все последующие.

Для головоломок и обучения, а не для секретности

Автоключ — реальный шаг вперёд по сравнению с повторяющимся ключом, но его взламывают уже много поколений. Используйте его, чтобы изучать принцип бегущего ключа, но никогда не для защиты чего-либо личного.

Часто задаваемые вопросы

Что такое шифр с автоключом?
Шифр с автоключом — это полиалфавитный шифр замены, в котором ключом служит короткий праймер, за которым идёт само сообщение. Каждая буква шифруется правилом Виженера, C = P + K (mod 26), поэтому ключ такой же длины, как сообщение, и никогда не повторяется.
Как расшифровать шифр с автоключом?
Запишите праймер, вычитайте каждую букву ключа из соответствующей буквы шифра, чтобы получить букву открытого текста, затем добавьте эту букву к ключу и продолжайте. Когда праймер исчерпан, ключом становится просто уже восстановленный открытый текст. Этот инструмент делает это за вас, когда вы выбираете «Декодировать».
В чём разница между шифрами с автоключом и Виженера?
Виженер повторяет ключевое слово на всё сообщение, а автоключ использует ключевое слово один раз и затем продолжает сообщением. Это устраняет повторяющийся узор, на котором основаны тест Касиски и индекс совпадений, поэтому автоключ им сопротивлялся.
Насколько надёжен шифр с автоключом?
Ненадёжен. Поскольку ключ состоит из открытого текста, угаданное слово раскрывает и кусок сообщения, и кусок ключа, а куски сцепляются друг с другом. Взлом перетаскиванием по распространённым словам делается вручную, а программы восстанавливают праймер по нескольким сотням букв.
Какой длины должен быть праймер?
Любой: от одной буквы и больше. В оригинале Виженера использовалась одна буква, а в примере Американской ассоциации криптограмм — шестибуквенное слово PRIMER. Более длинный праймер скрывает несколько первых букв, но не меняет основной слабости: после праймера ключ — это сам открытый текст.
Что такое автоключ по шифротексту?
В форме по шифротексту ключ продолжается шифротекстом, а не открытым текстом. Расшифровать её легче, поскольку весь ключ виден в шифротексте, но это же означает, что его может прочитать каждый, и поэтому она почти ничего не добавляет к короткому ключу Виженера. Обе стороны должны выбрать одну и ту же версию.

Похожие инструменты

Ещё в разделе «Коды и шифры»