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

Tabula recta

Tabula recta — это таблица, содержащая в строках и столбцах символы алфавита (обычно латинского или кириллического), в которой каждая строка представляет собой циклический сдвиг предыдущей строки на один символ. Является одним из базовых инструментов классической криптографии, применяемым для ручного шифрования методом полиалфавитной замены.

История

Термин «tabula recta» (лат. — «правильная таблица») впервые ввёл в обиход немецкий аббат и криптограф Иоганн Тритемий (1462—1516) в своей книге «Полиграфия» (1518). Тритемий предложил использовать её для шифрования текста, последовательно меняя алфавит для каждой буквы сообщения. В его системе первая буква открытого текста шифровалась по первой строке таблицы, вторая — по второй, и так далее, а после исчерпания строк таблица повторялась циклически.

Позднее, в XVI веке, итальянец Джованни Баттиста делла Порта усовершенствовал идею, а в 1585 году французский дипломат Блез де Виженер (1523—1596) опубликовал трактат «Трактат о шифрах», в котором описал шифр, использующий tabula recta в сочетании с ключевым словом. Этот шифр, известный как шифр Виженера, стал одним из самых известных полиалфавитных шифров и считался невзламываемым на протяжении почти трёх столетий.

Устройство и принцип работы

Построение таблицы

Tabula recta строится на основе алфавита, содержащего n символов. Первая строка таблицы представляет собой исходный алфавит (например, A B C D … Z). Каждая последующая строка получается путём циклического сдвига предыдущей строки на один символ влево. Таким образом, таблица имеет размер n × n.

Пример для латинского алфавита (26 символов):

СтрокаСодержимое строки
1A 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
2B 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
3C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
26Z 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

Использование в шифровании

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

Алгоритм:

  1. Выбирается ключевое слово (например, «KEY»).
  2. Открытый текст (например, «HELLO») и ключ выравниваются по длине: «HELLO» — «KEYKE».
  3. Для каждой пары (буква открытого текста, буква ключа) находится пересечение строки, начинающейся с буквы ключа, и столбца, начинающегося с буквы открытого текста.
  • Первая строка таблицы (строка 1) соответствует букве ключа «A», строка 2 — «B» и т. д.
  • Первый столбец таблицы (столбец 1) соответствует букве открытого текста «A», столбец 2 — «B» и т. д.
  1. Символ на пересечении и является шифротекстом.

Пример:

  • Открытый текст: H (7-я буква алфавита), ключ: K (10-я буква). Строка 10, столбец 7 → символ «R».
  • Открытый текст: E (4-я), ключ: E (4-я). Строка 4, столбец 4 → символ «H».
  • Открытый текст: L (11-я), ключ: Y (24-я). Строка 24, столбец 11 → символ «J».
  • Открытый текст: L (11-я), ключ: K (10-я). Строка 10, столбец 11 → символ «U».
  • Открытый текст: O (14-я), ключ: E (4-я). Строка 4, столбец 14 → символ «R».
  • Результат: шифротекст «RHJUR».

Использование в дешифровании

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

Классификация

Tabula recta является основой для нескольких типов шифров:

  • Шифр Тритемия: использует последовательный переход от одной строки к другой без ключа. Первая буква шифруется по первой строке, вторая — по второй, и так далее.
  • Шифр Виженера: использует ключевое слово для выбора строки для каждой буквы.
  • Шифр Бофора: модификация шифра Виженера, где шифрование и дешифрование выполняются по обратному принципу (шифротекст находится на пересечении строки ключа и столбца открытого текста, но с обратным направлением сдвига).

Применение

Историческое применение

  • Дипломатическая переписка: шифр Виженера активно использовался европейскими дипломатами в XVII—XIX веках для защиты секретных сообщений.
  • Военная связь: в некоторых армиях (например, во время Гражданской войны в США) применялись упрощённые версии полиалфавитных шифров на основе tabula recta.
  • Личная переписка: шифр был популярен среди аристократии и учёных для обмена конфиденциальной информацией.

Современное применение

  • Образовательные цели: tabula recta является классическим примером для изучения основ криптографии, симметричного шифрования и полиалфавитной замены.
  • Криптоанализ: используется для демонстрации принципов взлома полиалфавитных шифров (например, метод Казиски или метод индекса совпадений).
  • Ручное шифрование: в условиях отсутствия электронных средств может применяться для шифрования коротких сообщений (например, в разведывательной деятельности или при организации тайников).
  • Компьютерные игры и головоломки: tabula recta встречается в квестах, настольных играх и книгах-головоломках, где требуется расшифровать сообщение.

Криптоанализ и уязвимости

Несмотря на свою стойкость на момент изобретения, шифр Виженера (и, соответственно, tabula recta) был взломан в середине XIX века. Основные методы взлома:

  • Метод Казиски (1863): основан на поиске повторяющихся фрагментов шифротекста, которые указывают на длину ключа. Зная длину ключа, шифр сводится к набору простых шифров Цезаря.
  • Индекс совпадений: статистический метод, позволяющий определить длину ключа без анализа повторений.
  • Частотный анализ: после определения длины ключа каждая строка таблицы анализируется как отдельный шифр Цезаря, и взломщик использует частотность появления букв в языке открытого текста.

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

  • Tabula recta является предшественницей современных шифровальных машин, таких как «Энигма», которые также использовали принцип полиалфавитной замены, но с механической реализацией.
  • В некоторых вариантах tabula recta используется не только для букв, но и для цифр (0-9) и знаков препинания, что расширяет её возможности.
  • В 1920-х годах американский криптограф Уильям Фридман использовал tabula recta для создания более сложных шифров, которые применялись в военной связи США до Второй мировой войны.
  • В романе «Код да Винчи» Дэна Брауна (2003) упоминается шифр Виженера, основанный на tabula recta, как часть сюжетной линии.

Источники

  • Тритемий И. «Полиграфия» (1518).
  • Виженер Б. «Трактат о шифрах» (1585).
  • Казиски Ф. «Die Geheimschriften und die Dechiffrir-Kunst» (1863).
  • Фридман У. «The History of the Use of Codes and Ciphers in the United States Army» (1920-е).
  • Сингх С. «Книга шифров: Тайная история шифров и их расшифровки» (1999).

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

На главную BFOmetr →