Открыть сервис

Шифр Бофора

Шифр Бофора — это полиалфавитный шифр подстановки, основанный на таблице Виженера, но использующий модифицированный алгоритм шифрования и дешифрования, при котором ключ применяется к открытому тексту в обратном порядке по сравнению с классическим шифром Виженера. В отличие от шифра Виженера, где символ ключа указывает строку таблицы, а символ открытого текста — столбец (или наоборот), в шифре Бофора символ ключа указывает столбец, а символ открытого текста — строку, что делает процесс шифрования и дешифрования симметричным. Шифр назван в честь сэра Фрэнсиса Бофорта, британского гидрографа и картографа, который изобрёл его в начале 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».

  1. Преобразуем буквы в числа:
  • H = 7, E = 4, L = 11, L = 11, O = 14
  • K = 10, E = 4, Y = 24 (ключ повторяется: K, E, Y, K, E)
  1. Шифрование:
  • 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»

  1. Дешифрование:
  • 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 26C = (K - P) mod 26
Формула дешифрованияP = (C - K) mod 26P = (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 веке он был адаптирован для роторных машин, таких как «Энигма», где его применение в сочетании с другими алгоритмами повышало стойкость. В современной криптографии шифр Бофорта представляет в основном исторический интерес и используется в образовательных целях для демонстрации принципов полиалфавитной подстановки.

Интересные факты

  • Шифр Бофорта иногда называют «шифром Бофорта-Виженера» или «обратным шифром Виженера».
  • Сэр Фрэнсис Бофорт разработал шифр для личной переписки, но не публиковал его при жизни. Шифр стал известен после его смерти благодаря записям в дневниках.
  • В некоторых источниках шифр Бофорта ошибочно приписывается другим авторам, таким как Чарльз Бэббидж.

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →