Шифр Бофорта
Введите сообщение и ключевое слово, чтобы зашифровать или расшифровать его шифром Бофорта — или его вариантом, который представляет собой шифр Виженера, выполненный наоборот. Инструмент показывает квадрат Бофорта и сумму для каждой буквы, поэтому результат можно проверить вручную. Бесплатно, без регистрации; ничего не покидает ваш браузер.
Только буквы. Ключевое слово повторяется вдоль сообщения: по одной букве ключа на каждую букву текста.
Классический шифр Бофорта обратим: одни и те же действия шифруют и расшифровывают. Вариант — это шифр Виженера, выполненный наоборот, поэтому при расшифровке ключ прибавляется обратно.
Расчёт
- Буквы пронумерованы: A = 0, B = 1 … Z = 25; каждая сумма берётся по модулю 26.
- Шифрование: буква шифра = буква ключа − буква открытого текста.
Квадрат Бофорта
| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| A | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B |
| B | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C |
| C | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D |
| D | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E |
| E | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F |
| F | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G |
| G | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H |
| H | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I |
| I | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J |
| J | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K |
| K | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L |
| L | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M |
| M | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N |
| N | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O |
| O | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P |
| P | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q |
| Q | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R |
| R | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S |
| S | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T |
| T | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U |
| U | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V |
| V | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W |
| W | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X |
| X | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y |
| Y | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z |
| Z | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A |
Строка = буква ключа, столбец = буква открытого текста, ячейка = буква шифра. Выберите букву ниже, чтобы подсветить её: строка и столбец станут синими, а ячейка на их пересечении — янтарной.
| Буква открытого текста | Буква ключа | Вычисление | Буква шифра |
|---|---|---|---|
| F | 5 − 3 = 2 | C | |
| O | 14 − 4 = 10 | K | |
| R | 17 − 5 = 12 | M | |
| T | 19 − 4 = 15 | P | |
| F | 5 − 13 = −8 ≡ 18 | S | |
| O | 14 − 3 = 11 | L | |
| R | 17 − 19 = −2 ≡ 24 | Y | |
| T | 19 − 7 = 12 | M | |
| F | 5 − 4 = 1 | B | |
| O | 14 − 4 = 10 | K | |
| R | 17 − 0 = 17 | R | |
| T | 19 − 18 = 1 | B | |
| F | 5 − 19 = −14 ≡ 12 | M | |
| O | 14 − 22 = −8 ≡ 18 | S | |
| R | 17 − 0 = 17 | R | |
| T | 19 − 11 = 8 | I | |
| F | 5 − 11 = −6 ≡ 20 | U | |
| O | 14 − 14 = 0 | A | |
| R | 17 − 5 = 12 | M | |
| T | 19 − 19 = 0 | A |
Показаны первые 20 букв.
Как пользоваться инструментом «Шифр Бофорта»
- 1. Выберите вариант. Классический шифр Бофорта вычитает букву открытого текста из буквы ключа. Вариант вычитает букву ключа из буквы открытого текста. Отправитель и получатель должны использовать один и тот же.
- 2. Введите ключевое слово. Считаются только его буквы. Ключевое слово повторяется вдоль сообщения, продвигаясь на одну букву ключа за каждую букву текста.
- 3. Введите или вставьте сообщение. Выберите «Зашифровать» для открытого текста или «Расшифровать» для шифртекста. Пробелы, цифры и знаки препинания проходят без изменений и не тратят буквы ключа.
- 4. Читайте расчёт. Выберите любую букву в таблице расчёта, и её строка, столбец и результат подсветятся в квадрате.
Как работает шифр Бофорта
Шифр Бофорта — полиалфавитный шифр замены, построенный на той же таблице 26 × 26, что и шифр Виженера. Пронумеруйте буквы: A = 0, Z = 25. Для каждой буквы сообщения возьмите следующую букву повторяющегося ключевого слова, K, и букву сообщения, P, и вычислите C = K − P (по модулю 26). В шифре Виженера ключ прибавляется к букве открытого текста; здесь букву открытого текста вычитают из ключа.
Это единственное изменение делает шифр обратимым. Поскольку P = K − C — то же вычитание, вы расшифровываете сообщение Бофорта, зашифровав его снова тем же ключевым словом: отдельной процедуры расшифровки нет, поэтому шифр подходил для ручной работы или машины с единственной настройкой. Вручную вы находите букву открытого текста вверху квадрата, спускаетесь до буквы ключа и читаете букву шифра в строке, где стоит эта буква ключа, в том же столбце.
Вариант Бофорта
Вариант Бофорта использует C = P − K. Это в точности расшифровка шифра Виженера, поэтому сообщение варианта Бофорта можно прочитать любым инструментом для Виженера, выбрав расшифровку. Вариант необратим: чтобы расшифровать его, нужно прибавить ключ обратно, P = C + K. Книги с головоломками и Американская ассоциация криптограмм указывают эти два варианта как отдельные типы шифров, поэтому инструмент предлагает оба.
Пример
Зашифруем DEFEND THE EAST WALL ключевым словом FORT. Буквы ключа: F = 5, O = 14, R = 17 и T = 19, которые повторяются. Результат инструмента совпадает с примером, опубликованным на ciphersonline.com, и каждый шаг можно проверить по таблице расчёта.
| Открытый текст | Ключ | Сумма | Шифр |
|---|---|---|---|
| D (3) | F (5) | 5 − 3 = 2 | C |
| E (4) | O (14) | 14 − 4 = 10 | K |
| F (5) | R (17) | 17 − 5 = 12 | M |
| E (4) | T (19) | 19 − 4 = 15 | P |
| N (13) | F (5) | 5 − 13 = −8 ≡ 18 | S |
Полное сообщение становится CKMPSL YMB KRBM SRIU. Если подать его обратно с тем же ключом, Бофорт вернёт DEFEND THE EAST WALL. Обратите внимание, что первая E и вторая E шифруются в K и P — одна буква открытого текста, несколько букв шифра, — и именно поэтому простой подсчёт букв не ломает сообщение.
Кто придумал шифр Бофорта?
Шифр назван в честь сэра Фрэнсиса Бофорта (1774–1857), офицера Королевского военно-морского флота и гидрографа, родившегося в Ирландии, который лучше всего известен шкалой силы ветра, носящей его имя. Корни уходят глубже: идею повторяющегося ключа, выбирающего для каждой буквы свой алфавит, изложил Джованни Баттиста Беллазо в 1553 году, а популяризировал Блэз де Виженер в 1586 году; шифр Бофорта — та же схема с обращённым вычитанием. Описание системы опубликовали в 1857 году, в год смерти Бофорта. Его самое известное позднее применение было внутри машины: Hagelin M-209, полевой шифратор армии США времён Второй мировой войны, выполняет подстановку типа Бофорта с ключом, который не просто повторяется.
Как взламывают шифр Бофорта
Как и шифр Виженера, Бофорт — короткий повторяющийся ключ, применяемый к каждой букве, поэтому работают те же атаки. Метод Фридриха Касиски 1863 года ищет повторяющиеся фрагменты в шифртексте, расстояние между которыми кратно длине ключа; индекс совпадений Уильяма Фридмана, разработанный примерно в 1920 году, оценивает длину ключа статистически. Зная длину, можно заметить, что каждая n-я буква зашифрована одной буквой ключа, поэтому каждый столбец — простая подстановка с обращённым алфавитом, которую взламывает частотный анализ. Есть и короткий путь: если обратить алфавит и шифртекста, и ключа (A↔Z, B↔Y — отображение Атбаш), сообщение Бофорта превращается в обычное сообщение Виженера.
Не для секретов
Шифр Бофорта — учебный шифр и шифр для головоломок. Компьютер взламывает его по нескольким сотням букв шифртекста, поэтому никогда не используйте его для защиты того, что важно.
Часто задаваемые вопросы
- Что такое шифр Бофорта?
- Шифр Бофорта — полиалфавитный шифр замены, который шифрует каждую букву как букву ключа минус букву открытого текста по модулю 26, используя повторяющееся ключевое слово. Он использует ту же таблицу, что и шифр Виженера, но читает её иначе; назван он в честь гидрографа Королевского военно-морского флота сэра Фрэнсиса Бофорта.
- Чем шифр Бофорта отличается от шифра Виженера?
- Виженер прибавляет букву ключа к букве открытого текста (C = P + K), а Бофорт вычитает букву открытого текста из буквы ключа (C = K − P). Поэтому Бофорт обратим — одна и та же операция и шифрует, и расшифровывает, — тогда как для Виженера нужен отдельный шаг расшифровки.
- Как расшифровать шифр Бофорта?
- Введите то же ключевое слово и примените ту же операцию к шифртексту: буква открытого текста = буква ключа − буква шифра. В этом инструменте можно выбрать «Расшифровать» или просто снова «Зашифровать»: для классического Бофорта оба варианта дают одинаковый ответ.
- Что такое вариант шифра Бофорта?
- Вариант Бофорта вычисляет C = P − K, то есть формулу расшифровки шифра Виженера. Его расшифровывают, прибавляя ключ обратно, поэтому в отличие от классического Бофорта он не обратим. Выбирайте тот вариант, который указан в вашей головоломке или учебнике.
- Надёжен ли шифр Бофорта?
- Нет. Повторяющийся ключ оставляет те же закономерности, что и у Виженера, поэтому анализ Касиски и индекс совпадений выявляют длину ключа, а частотный анализ восстанавливает каждую букву ключа. Обращение алфавитов по Атбашу даже превращает его в шифр Виженера. Относитесь к нему как к историческому шифру, на котором можно учиться.
- Что происходит с пробелами и знаками препинания?
- Шифруются только буквы A–Z. Каждая сохраняет свой регистр, латинские буквы с диакритикой считаются своей базовой буквой, а всё остальное проходит без изменений и не тратит букву ключа. Включите группы по пять, если нужны традиционные блоки шифртекста.