T

Text Machine

Мощные текстовые инструменты прямо в браузере

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

Шифруйте и расшифровывайте шифр автоключа — более стойкий вариант шифра Vigenère, в котором короткое затравочное ключевое слово начинает ключ, а само ваше сообщение его продолжает, так что ключ никогда не повторяется. Переключайтесь между шифрованием и расшифровкой и наблюдайте, как разбор строится вживую. Всё работает в вашем браузере.

Затравочное ключевое слово

Ключевое слово

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

Открытый текст
Шифртекст

Введите текст выше, чтобы увидеть здесь результат автоключа.

Как пользоваться Шифр с автоключом

  1. 1

    Выберите шифрование или расшифровку

    Выберите «Шифровать», чтобы превратить открытый текст в шифртекст автоключа, или «Расшифровать», чтобы восстановить открытый текст из шифртекста. Одно и то же затравочное ключевое слово используется для обоих направлений.

  2. 2

    Введите затравочное ключевое слово

    Введите короткое ключевое слово, например QUEENLY. Оно начинает поток ключа, который затем продолжается самим вашим сообщением. Используются только буквы, а регистр, пробелы и знаки препинания в ключевом слове игнорируются.

  3. 3

    Введите или вставьте свой текст

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

  4. 4

    Прочтите, скопируйте и поделитесь

    Прочтите результат, затем скопируйте его, скачайте в виде текстового файла или поделитесь ссылкой, которая снова открывает инструмент с вашими точными ключевым словом, направлением и текстом. Всё остаётся в вашем браузере.

Как устроен шифр автоключа

Что такое шифр автоключа?

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

Он был опубликован французским дипломатом по имени Blaise de Vigenère в 1586 году и опирался на более раннюю идею учёного Bellaso. Здесь кроется хорошо известная ирония: простой шифр с повторяющимся ключом, который мир теперь называет шифром Vigenère, на самом деле принадлежал Bellaso, тогда как собственное, более стойкое изобретение Vigenère — это и был автоключ. Подавая открытый текст обратно в ключ, шифр автоключа устраняет периодичность, которую более поздние криптоаналитики, такие как Kasiski и Friedman, использовали бы для взлома повторяющихся ключей.

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

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

Расшифровка должна идти слева направо. Вы знаете затравочное ключевое слово, поэтому можете восстановить первые несколько букв с помощью P = (C − K) mod 26. Каждая восстановленная вами буква открытого текста затем добавляется к потоку ключа и используется для расшифровки следующей буквы, и так далее до конца. Как и в шифре Vigenère, преобразуются только 26 букв: пробелы, знаки препинания и цифры проходят насквозь нетронутыми и не расходуют букву ключа, а регистр букв сохраняется.

Разобранный пример

Зашифруем сообщение HELLO с затравочным ключевым словом KEY. Поток ключа — это ключевое слово, за которым следует открытый текст, что даёт K, E, Y, H, E для пяти букв. Прибавляя каждую к сообщению, получаем: H плюс K — это R, E плюс E — это I, L плюс Y — это J, L плюс H — это S, и O плюс E — это S. Шифртекст — RIJSS, и обратите внимание, что последние две буквы ключа, H и E, — это просто первые две буквы самого сообщения.

Чтобы расшифровать RIJSS, вы начинаете с ключевого слова KEY. R минус K — это H, I минус E — это E, и J минус Y — это L, что восстанавливает HEL. Эти восстановленные буквы теперь продлевают ключ, поэтому следующая буква ключа — H, и S минус H — это L, затем буква ключа E даёт S минус E — это O, завершая HELLO. Каждая восстановленная буква открывает следующую, что и составляет суть того, как читается шифр автоключа.

Автоключ против шифра Vigenère с повторяющимся ключом

Обычный шифр Vigenère повторяет своё ключевое слово снова и снова: с ключом KEY поток — это KEYKEYKEY и так далее. Это повторение — его роковой изъян, потому что длину ключа можно найти исследованием Kasiski или индексом совпадений, после чего каждый столбец становится простым сдвигом Цезаря. Шифр автоключа использует то же правило сложения, но никогда не повторяет ключ, поэтому эти классические тесты к нему неприменимы.

Разницу можно увидеть в разобранном примере. С ключом KEY повторяющийся шифр Vigenère зашифровал бы HELLO как RIJVS, тогда как автоключ выдаёт RIJSS — оба совпадают лишь пока длится ключевое слово, а затем расходятся, потому что автоключ перешёл к открытому тексту. Именно это единственное изменение, подача сообщения обратно в ключ, было настоящим вкладом Vigenère и сделало его шифр заметно стойче того, что теперь носит его имя.

Автоключ против шифра с бегущим ключом

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

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

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

Поскольку ключ никогда не повторяется, исследование Kasiski и индекс совпадений, стандартные инструменты против шифров с повторяющимся ключом, не работают напрямую на сообщении автоключа. Это делает его заметно труднее, чем шифр Vigenère, но он по-прежнему далёк от безопасного. Обычная атака использует ту самую особенность, что определяет шифр: большая часть ключа — это открытый текст, который представляет собой обычный язык.

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

Надёжен ли шифр автоключа?

Нет. Хотя шифр автоключа стойче простого шифра Vigenère с повторяющимся ключом, по современным меркам он не даёт настоящей защиты. Его опора на открытый текст в качестве ключа открывает его для протаскивания вероятного слова, а его короткую затравку можно взломать полным перебором, поэтому настойчивый аналитик может вскрыть его карандашом и бумагой. Он принадлежит истории классической криптографии, а не какому-либо списку безопасных методов.

Сегодня шифр автоключа ценится ради обучения и ради развлечения. Это изящный способ увидеть, как подача сообщения обратно в ключ побеждает атаки на периодичность, которые взламывают более простые шифры, и он встречается в головоломочных квестах, эскейп-румах и соревнованиях capture-the-flag. Для защиты настоящей информации вам следует вместо него полагаться на современные, хорошо проверенные алгоритмы, такие как AES.

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

Что такое шифр автоключа?
Шифр автоключа, или автоклав, — это полиалфавитный шифр замены, в котором короткое затравочное ключевое слово начинает ключ, а сам открытый текст его продолжает. Поскольку ключ так же длинен, как сообщение, и никогда не повторяется, он избегает циклической закономерности, которая делает шифр с повторяющимся ключом лёгким для взлома. Он был опубликован учёным по имени Blaise de Vigenère в 1586 году.
Как работает шифр автоключа?
Пронумеруйте алфавит от A как 0 до Z как 25 и постройте поток ключа из ключевого слова, за которым следует открытый текст. Чтобы зашифровать, прибавьте каждую букву ключа к букве сообщения по модулю 26: C = (P + K) mod 26. Чтобы расшифровать, вычтите: P = (C − K) mod 26, восстанавливая открытый текст слева направо и подавая каждую восстановленную букву обратно в ключ. Меняются только буквы.
Чем шифр автоключа отличается от шифра Vigenère?
Шифр Vigenère повторяет своё ключевое слово вдоль всего сообщения, тогда как шифр автоключа использует ключевое слово только для начала, а затем продолжается открытым текстом. Это устраняет повторение, поэтому исследование Kasiski и индекс совпадений больше не раскрывают длину ключа. Автоключ на самом деле был собственным, более стойким шифром Vigenère; повторяющийся, названный его именем, принадлежал учёному Bellaso.
Можете показать пример шифра автоключа?
Шифрование HELLO с ключевым словом KEY даёт RIJSS. Поток ключа — это K, E, Y, H, E — ключевое слово, за которым следуют первые буквы сообщения — поэтому H плюс K — это R, E плюс E — это I, L плюс Y — это J, L плюс H — это S, и O плюс E — это S. Расшифровка RIJSS с KEY восстанавливает HELLO по одной букве за раз.
Какое ключевое слово мне использовать?
Используйте любое короткое слово или последовательность букв; QUEENLY — классический пример. Значение имеют только буквы, а заглавные и строчные считаются одинаковыми. Более длинная, менее предсказуемая затравка немного стойче, но безопасность шифра автоключа ограничена, какую бы затравку вы ни выбрали, поэтому не полагайтесь на него для настоящих секретов.
Как мне расшифровать шифр автоключа?
Переключите инструмент в режим «Расшифровать», введите то же затравочное ключевое слово, что использовалось при шифровании, и вставьте шифртекст. Инструмент вычитает ключевое слово, чтобы восстановить первые буквы, затем подаёт каждую восстановленную букву обратно в ключ, чтобы открыть остальное. Без ключевого слова вам пришлось бы атаковать шифр, угадывая вероятные слова.
В чём разница между шифрами автоключа и с бегущим ключом?
Оба используют неповторяющийся ключ такой же длины, как сообщение. Шифр с бегущим ключом берёт этот ключ из общего внешнего текста, например из книги, тогда как шифр автоключа строит свой ключ из короткой затравки плюс самого открытого текста. Автоключу нужен лишь крошечный общий секрет, но то, что часть его ключа — это открытый текст, как раз и позволяет взломать его протаскиванием вероятного слова.
Меняет ли шифр пробелы, цифры и знаки препинания?
Нет. Преобразуются только 26 букв. Пробелы, знаки препинания и любые цифры в сообщении проходят без изменений и не расходуют букву ключа, поэтому ключ остаётся выровненным с буквами. Регистр букв сохраняется, поэтому вывод сохраняет форму вашего исходного текста.
Чувствительно ли ключевое слово к регистру?
Нет. Затравочное ключевое слово читается только как буквы, а заглавные и строчные буквы дают одинаковый сдвиг, поэтому KEY и key ведут себя одинаково. Любые пробелы, цифры или знаки препинания, введённые в ключевое слово, игнорируются, оставляя лишь буквы для начала потока ключа.
Как взломать шифр автоключа?
Инструменты для повторяющегося ключа неприменимы, потому что ключ никогда не зацикливается, поэтому аналитики вместо этого атакуют ту часть ключа, что является открытым текстом. Они протаскивают вероятное слово, например THE, сквозь шифртекст, вычитая его как ключ; верные позиции раскрывают больше открытого текста, который можно расширять наружу. Полный перебор короткой затравки наряду с этим протаскиванием вероятного слова восстанавливает сообщение.
Надёжен ли шифр автоключа?
Нет. Он стойче простого шифра Vigenère с повторяющимся ключом, но протаскивание вероятного слова и взломанная полным перебором затравка позволяют вскрыть его вручную, поэтому сегодня он не обеспечивает реальной безопасности. Рассматривайте его как учебный и головоломный шифр и примечательную частицу криптографической истории. Для подлинной защиты используйте современный алгоритм, такой как AES.
Загружается ли мой текст на сервер?
Нет. Всё шифрование и расшифровка происходят полностью в вашем браузере, поэтому ваш текст и ключевое слово никогда не загружаются, не записываются в журналы и не сохраняются. Даже ссылка для обмена хранит ваши данные в части URL после знака решётки, которую браузеры никогда не отправляют на сервер, поэтому они остаются конфиденциальными, пока вы сами не решите поделиться ими.

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

Продолжайте работу с этими удобными инструментами

Шифр Виженера

Шифр Бофора

Шифр Гронсфельда

Шифр бегущего ключа

Шифр Порта

Шифр Тритемия