Шифр Бофора
Шифр Бофора — это полиалфавитный шифр подстановки, основанный на таблице Виженера, но использующий модифицированный алгоритм шифрования и дешифрования, при котором ключ применяется к открытому тексту в обратном порядке по сравнению с классическим шифром Виженера. В отличие от шифра Виженера, где символ ключа указывает строку таблицы, а символ открытого текста — столбец (или наоборот), в шифре Бофора символ ключа указывает столбец, а символ открытого текста — строку, что делает процесс шифрования и дешифрования симметричным. Шифр назван в честь сэра Фрэнсиса Бофорта, британского гидрографа и картографа, который изобрёл его в начале XIX века.
История
Шифр Бофора был разработан сэром Фрэнсисом Бофортом (1774–1857) в 1810-х годах. Бофорт известен прежде всего как создатель шкалы Бофорта для оценки силы ветра, а также как автор множества морских карт. В области криптографии он предложил свой шифр как альтернативу шифру Виженера, который в то время считался невзламываемым. Шифр Бофорта не получил широкого распространения в военной или дипломатической переписке, но был включён в некоторые криптографические сборники и учебники XIX века. В XX веке шифр Бофорта был адаптирован для использования в роторных шифровальных машинах, таких как немецкая «Энигма», где он применялся в модифицированном виде (например, в варианте «Бофорт-Энигма»).
Математическое описание
Шифр Бофорта использует таблицу, аналогичную таблице Виженера, которая представляет собой квадрат размером 26×26, где строки и столбцы соответствуют буквам латинского алфавита (A–Z). В классическом варианте таблица заполняется циклическим сдвигом алфавита: первая строка начинается с A, вторая — с B, и так далее.
Алгоритм шифрования
Для шифрования открытого текста с помощью ключа (ключа) выполняется следующая операция для каждой буквы:
- Пусть P — буква открытого текста (plaintext), K — буква ключа (key), C — буква шифротекста (ciphertext).
- Шифрование: C = (K - P) mod 26, где буквы преобразуются в числа (A=0, B=1, ..., Z=25).
В терминах таблицы: на пересечении строки, соответствующей букве открытого текста P, и столбца, соответствующего букве ключа K, находится буква шифротекста C.
Алгоритм дешифрования
Дешифрование выполняется по той же формуле, что и шифрование:
- P = (K - C) mod 26.
Это свойство симметричности отличает шифр Бофорта от шифра Виженера, где дешифрование требует обратной операции. В шифре Бофорта для расшифровки достаточно применить ту же процедуру с тем же ключом.
Пример
Рассмотрим пример шифрования и дешифрования слова «HELLO» с ключом «KEY».
- Преобразуем буквы в числа:
- H = 7, E = 4, L = 11, L = 11, O = 14
- K = 10, E = 4, Y = 24 (ключ повторяется: K, E, Y, K, E)
- Шифрование:
- C1 = (10 - 7) mod 26 = 3 → D
- C2 = (4 - 4) mod 26 = 0 → A
- C3 = (24 - 11) mod 26 = 13 → N
- C4 = (10 - 11) mod 26 = -1 mod 26 = 25 → Z
- C5 = (4 - 14) mod 26 = -10 mod 26 = 16 → Q
Шифротекст: «DANZQ»
- Дешифрование:
- P1 = (10 - 3) mod 26 = 7 → H
- P2 = (4 - 0) mod 26 = 4 → E
- P3 = (24 - 13) mod 26 = 11 → L
- P4 = (10 - 25) mod 26 = -15 mod 26 = 11 → L
- P5 = (4 - 16) mod 26 = -12 mod 26 = 14 → O
Открытый текст: «HELLO»
Сравнение с шифром Виженера
Шифр Бофорта и шифр Виженера имеют схожую структуру, но различаются в алгоритме:
| Характеристика | Шифр Виженера | Шифр Бофорта |
|---|---|---|
| Формула шифрования | C = (P + K) mod 26 | C = (K - P) mod 26 |
| Формула дешифрования | P = (C - K) mod 26 | P = (K - C) mod 26 |
| Симметричность | Нет (разные операции) | Да (одинаковая операция) |
| Ключевая таблица | Строка — ключ, столбец — открытый текст | Строка — открытый текст, столбец — ключ |
Из-за симметричности шифр Бофорта удобен для реализации в аппаратных устройствах, так как один и тот же модуль может выполнять как шифрование, так и дешифрование.
Варианты и модификации
Модифицированный шифр Бофорта
В некоторых источниках описывается вариант, где формула шифрования принимает вид C = (P - K) mod 26. Этот вариант не является симметричным, и для дешифрования требуется операция P = (C + K) mod 26. Однако исторически оригинальным считается вариант с формулой C = (K - P) mod 26.
Шифр Бофорта в роторных машинах
В роторных шифровальных машинах, таких как «Энигма», использовался принцип, аналогичный шифру Бофорта: каждый ротор выполнял подстановку, обратную по отношению к предыдущему. В машине «Энигма» применялась комбинация шифров Виженера и Бофорта, что обеспечивало высокую криптостойкость.
Шифр Бофорта с цифрами
Шифр Бофорта может быть адаптирован для работы с цифрами (0–9) или другими наборами символов. В этом случае используется таблица размером n×n, где n — мощность алфавита.
Криптоанализ
Шифр Бофорта, как и шифр Виженера, уязвим к частотному анализу, если длина ключа известна или может быть определена. Для взлома используются методы Касиски и индекса совпадений. Однако из-за симметричности шифра Бофорта его криптостойкость несколько ниже, чем у шифра Виженера, при одинаковой длине ключа. Это связано с тем, что в шифре Бофорта статистические свойства шифротекста могут быть более равномерными, что усложняет частотный анализ, но не делает его невозможным.
Применение
В XIX веке шифр Бофорта использовался в некоторых военных и дипломатических системах, но не получил широкого распространения. В XX веке он был адаптирован для роторных машин, таких как «Энигма», где его применение в сочетании с другими алгоритмами повышало стойкость. В современной криптографии шифр Бофорта представляет в основном исторический интерес и используется в образовательных целях для демонстрации принципов полиалфавитной подстановки.
Интересные факты
- Шифр Бофорта иногда называют «шифром Бофорта-Виженера» или «обратным шифром Виженера».
- Сэр Фрэнсис Бофорт разработал шифр для личной переписки, но не публиковал его при жизни. Шифр стал известен после его смерти благодаря записям в дневниках.
- В некоторых источниках шифр Бофорта ошибочно приписывается другим авторам, таким как Чарльз Бэббидж.
Источники
- Kahn, David. The Codebreakers: The Story of Secret Writing. Scribner, 1967.
- Singh, Simon. The Code Book: The Science of Secrecy from Ancient Egypt to Quantum Cryptography. Doubleday, 1999.
- Bauer, Friedrich L. Decrypted Secrets: Methods and Maxims of Cryptology. Springer, 2000.
- Шеннон, Клод. Теория связи в секретных системах. 1949.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →