T

Text Machine

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

Шифр Порта

Шифруйте и расшифровывайте шифр Della Porta — полиалфавитный шифр с ключевым словом, опубликованный итальянским учёным Giovan Battista della Porta в 1563 году. Он обратим: одно и то же ключевое слово и шифрует, и расшифровывает, поэтому отдельного режима расшифровки нет. Введите ключевое слово и наблюдайте, как 13 парных алфавитов работают вживую. Всё работает в вашем браузере.

Порта обратим: одно и то же ключевое слово и шифрует, и расшифровывает. Чтобы расшифровать сообщение, вставьте шифртекст и введите то же ключевое слово — и результатом будет исходный открытый текст. Отдельной кнопки расшифровки нет.

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

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

Ключевое слово — это секрет, общий для отправителя и получателя. Оно повторяется вдоль всего сообщения, и каждая его буква выбирает один из 13 обратимых алфавитов. Поскольку алфавиты сгруппированы парами, A и B выбирают один и тот же, C и D — следующий, и так далее. Используются только буквы; любые пробелы, цифры или знаки препинания в ключевом слове игнорируются.

Текст
Результат

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

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

  1. 1

    Введите ключевое слово

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

  2. 2

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

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

  3. 3

    Прочтите обратимый результат

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

  4. 4

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

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

Как устроен шифр Порта

Что такое шифр Порта?

Шифр Порта, более полно — шифр Della Porta, это полиалфавитный шифр замены, описанный итальянским эрудитом Giovan Battista della Porta в его книге 1563 года De Furtivis Literarum Notis. Как и шифр Vigenère, он использует повторяющееся ключевое слово, поэтому одна и та же буква открытого текста может зашифроваться во множество разных букв шифртекста в зависимости от её позиции, что сглаживает частотные закономерности букв, выдающие простую замену. Это одна из самых ранних практичных полиалфавитных систем, и на протяжении веков ею восхищались за то, что она и достаточно надёжна, и проста в использовании вручную.

Что выделяет Порта — это его таблица всего из 13 обратимых алфавитов вместо 26 сдвинутых строк полного квадрата Vigenère. Каждый алфавит построен так, что первая половина алфавита всегда меняется местами со второй половиной, что придаёт шифру его самое полезное свойство: он обратим, то есть одна и та же операция и шифрует, и расшифровывает. Della Porta часто вспоминают как одного из основателей современной криптографии, и эта изящная самообратная таблица — идея, наиболее связанная с его именем.

Как работает шифр Порта

Пронумеруйте алфавит от A как 0 до Z как 25. Ключевое слово повторяется столько раз, сколько нужно, чтобы под каждой буквой сообщения стояла одна буква ключа. Каждая буква ключа выбирает одну из 13 строк, и строки идут парами: A или B выбирает первую строку, C или D — вторую, E или F — третью, и так далее вплоть до Y или Z, которая выбирает тринадцатую. Обозначив номер этой пары как r, который изменяется от 0 для A или B до 12 для Y или Z, буква открытого текста в первой половине алфавита (A–M, значения 0–12) шифруется в C = 13 + ((P + r) mod 13), попадая куда-то во вторую половину N–Z. Буква во второй половине отображается обратно в первую половину по формуле C = (P − 13 − r) mod 13.

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

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

Зашифруем сообщение HELLO с ключевым словом KEY. Повторение ключевого слова даёт буквы ключа K, E, Y, K, E, выстроенные под H, E, L, L, O. Буква ключа K принадлежит паре K или L, поэтому она выбирает эту строку, и в ней H шифруется в Z. Буква ключа E принадлежит паре E или F, и в этой строке E шифруется в T. Буква ключа Y из пары Y или Z превращает L в X. K снова превращает следующую L в Q, а E превращает O в M. Шифртекст — ZTXQM.

Теперь расшифруем ZTXQM с тем же ключевым словом KEY и той же процедурой. В строке K или L Z отображается обратно в H; в строке E или F T отображается обратно в E; в строке Y или Z X отображается обратно в L; K возвращает Q в L; а E возвращает M в O. Результат — снова HELLO. Та же самая операция восстановила сообщение, что и составляет весь смысл шифра Порта.

Почему Порта сам себе обратен

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

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

Порта, Vigenère и Beaufort

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

Поскольку геометрия различается, сообщение, зашифрованное одним из этих шифров, будет выглядеть бессмыслицей под другим. Этот инструмент реализует классическую обратимую таблицу Della Porta. Если вам нужно правило с прибавлением, инструмент Vigenère на Text Machine охватывает Vigenère и связанные с ним режимы, а инструмент Beaufort охватывает другой обратимый шифр с ключевым словом.

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

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

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

Надёжен ли шифр Порта?

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

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

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

Что такое шифр Порта?
Шифр Порта, или шифр Della Porta, это полиалфавитный шифр замены, опубликованный итальянским учёным Giovan Battista della Porta в 1563 году. Как и шифр Vigenère, он сдвигает каждую букву на повторяющееся ключевое слово, но использует таблицу всего из 13 обратимых алфавитов, которые меняют местами две половины алфавита, что делает его обратимым: одна и та же операция и шифрует, и расшифровывает.
Как работает шифр Порта?
Пронумеруйте алфавит от A как 0 до Z как 25 и повторите ключевое слово вдоль сообщения. Каждая буква ключа выбирает один из 13 алфавитов, сгруппированных парами так, что A или B выбирает первый, C или D — следующий, и так далее. Внутри алфавита первая половина A–M меняется местами со второй половиной N–Z. Изменяются только буквы; пробелы, цифры и знаки препинания проходят насквозь и не продвигают ключевое слово.
Шифр Порта — это то же самое, что шифр Vigenère?
Это родственники, но не одно и то же. Vigenère прибавляет ключ к открытому тексту, C = (P + K) mod 26, и использует другой шаг для расшифровки. Порта же разбивает алфавит пополам и меняет половины местами, используя 13 парных алфавитов, что делает его обратимым, так что один шаг работает в обоих направлениях. Сообщение, зашифрованное одним, не расшифруется правильно под другим.
Почему шифр Порта обратим?
Каждый алфавит Порта соединяет в пары первую половину букв, A–M, со второй половиной, N–Z, так что каждая буква отображается в партнёра, который отображается прямо обратно. Шифрование отправляет букву в противоположную половину, а прогон результата через ту же строку отправляет её домой, тогда как поворот, заданный парой ключа, взаимно уничтожается. Поэтому применение шифра дважды возвращает сообщение, так что одна операция и шифрует, и расшифровывает.
Можете показать пример шифра Порта?
Шифрование HELLO с ключевым словом KEY даёт ZTXQM. Буквы ключа K, E, Y, K, E выбирают свои парные алфавиты, и в каждом из них буква сообщения меняется на H→Z, E→T, L→X, L→Q, O→M. Расшифровка ZTXQM с тем же ключевым словом KEY и той же процедурой возвращает HELLO, потому что таблица сама себе обратна.
Как мне расшифровать шифр Порта?
Используйте то же ключевое слово, которое применялось при шифровании, и вставьте шифртекст в инструмент. Поскольку Порта обратим, отдельного режима расшифровки нет: ввод ключевого слова и шифртекста сразу же даёт исходный открытый текст. Если вы не знаете ключевого слова, его придётся восстанавливать криптоанализом.
Почему у шифра Порта только 13 алфавитов?
Порта группирует 26 букв ключа в 13 пар, и каждая пара использует один алфавит: A или B выбирает первый, C или D — второй, и так далее вплоть до Y или Z. Каждый алфавит меняет местами первую половину букв со второй половиной, что и делает шифр обратимым. Платой за это является то, что две разные буквы ключа могут вести себя одинаково, что слегка снижает стойкость ключевого слова.
Какое ключевое слово мне использовать?
Подойдёт любое слово или фраза из букв. Более длинное, менее предсказуемое ключевое слово надёжнее, потому что безопасность шифра зависит от того, чтобы ключевое слово было длинным, трудным для угадывания и никогда не использовалось повторно. Короткие или распространённые ключевые слова взламываются быстро. Пробелы, цифры и знаки препинания в ключевом слове игнорируются, поэтому значение имеют только его буквы.
Меняет ли шифр Порта пробелы и знаки препинания?
Нет. Шифруются только 26 букв. Пробелы, цифры и знаки препинания проходят без изменений и не расходуют букву ключевого слова, поэтому ключевое слово остаётся выровненным с буквами, которые оно преобразует. Регистр букв в выводе сохраняется, поэтому результат сохраняет форму вашего исходного текста.
Как взломать шифр Порта?
Порта — это шифр с повторяющимся ключом, поэтому атака напоминает ту, что взламывает Vigenère. Сначала найдите длину ключа с помощью исследования Kasiski и индекса совпадений, затем разбейте шифртекст на столбцы, разделяющие один алфавит. Поскольку буквы ключа сгруппированы парами, у каждого столбца только 13 возможных алфавитов, поэтому аналитик может перебрать все 13 и выбрать тот, что читается как язык.
Надёжен ли шифр Порта?
Нет. По современным меркам он не обеспечивает реальной безопасности: повторяющееся ключевое слово поддаётся классическому криптоанализу, а даже длинные ключевые слова не устоят перед компьютером. Его лучше рассматривать как учебный и головоломный шифр и частицу истории криптографии. Для подлинной защиты вместо него используйте современный алгоритм, такой как AES.
Загружается ли мой текст на сервер?
Нет. Всё шифрование и расшифровка происходят полностью в вашем браузере, поэтому ваш текст и ключевое слово никогда не загружаются, не записываются в журналы и не сохраняются. Даже ссылка для обмена хранит ваши данные в части URL после знака решётки, которую браузеры никогда не отправляют на сервер, поэтому они остаются конфиденциальными, пока вы сами не решите поделиться ими.

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

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

Шифр Бофора

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

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

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

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

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