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

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

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

История

Предшественники

Идея полиалфавитной замены восходит к Леону Баттисте Альберти, который в 1466 году описал шифровальный диск с двумя концентрическими кольцами, позволявший менять алфавит сдвига для каждой буквы. В XVI веке Иоганн Тритемий в своей книге «Полиграфия» предложил таблицу шифрования, известную как tabula recta, а также концепцию последовательного использования нескольких алфавитов. Однако именно Блез де Виженер, французский дипломат и криптограф, в 1586 году опубликовал трактат «Трактат о шифрах» (фр. Traicté des chiffres), в котором систематизировал и подробно описал способ шифрования с помощью ключевого слова, за что метод и получил его имя. Сам Виженер называл его «неотъемлемым шифром» (фр. chiffre indéchiffrable).

Распространение и забвение

На протяжении трёх столетий шифр Виженера считался практически невзламываемым. Он активно использовался в дипломатической переписке европейских государств, в армиях (например, армией Конфедеративных Штатов Америки в Гражданской войне) и в тайных обществах. Однако в середине XIX века британский математик Чарльз Бэббидж, работая над задачей расшифровки, независимо разработал метод, который позволял взломать шифр при достаточной длине перехваченного сообщения. Его открытие оставалось неопубликованным до XX века. Позднее, в 1863 году, прусский офицер Фридрих Касиски опубликовал формальный метод взлома, получивший название тест Касиски. После этого шифр Виженера перестал считаться надёжным, хотя продолжал применяться в учебных целях и в системах с низкими требованиями безопасности до середины XX века.

Принцип работы

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

В основе шифра лежит ключ – секретная строка, которая повторяется до длины открытого текста. Например, при тексте «Привет» и ключе «ДОМ» последовательность ключа будет выглядеть как «ДОМДО». Открытый текст преобразуется в цифровую форму (обычно по алфавиту A=0, B=1, ..., Z=25), и к каждой его букве прибавляется значение соответствующей буквы ключа по модулю 26 (в классическом английском варианте).

Таблица Виженера (tabula recta)

Для удобства вычислений используется квадратная таблица размером 26×26, где каждая строка представляет собой алфавит, сдвинутый на определённое количество позиций. Первая строка – шифр Цезаря со сдвигом 0 (A→A), вторая – со сдвигом 1 (A→B) и так далее. Столбцы обозначают буквы открытого текста, а строки – буквы ключа. Ячейка на пересечении столбца с буквой открытого текста и строки с буквой ключа даёт зашифрованную букву.

Пример шифрования

Для шифра на русском языке с 33 буквами (обычно используют алфавит без Ё) механизм аналогичен. Пусть открытый текст: «ЗАЩИТА». Ключ: «СЕКРЕТ».

  1. Выравнивание ключа: «СЕКРЕТСЕ» (длина текста 6 символов, ключ повторяется).
  2. Перевод букв в числовые позиции (А=0, Б=1, …):
  1. Сложение по модулю 33:
  1. Результат шифротекста: «ФЕГЩХС».

Классификация и разновидности

Бегущий ключ

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

Автоключ

В 1586 году сам Виженер описал и другой метод — с использованием самого текста как части ключа. Начальная часть ключа задаётся (например, «А»), затем для шифрования каждой следующей буквы используется предыдущая буква открытого текста (или шифротекста). Это делало атаку Касиски менее эффективной, но не обеспечивало абсолютной стойкости.

Варианты алфавита

Шифр может быть адаптирован под любой алфавит, включая кириллицу, латиницу с цифрами, а также произвольные наборы символов (например, ASCII-коды). В компьютерных реализациях часто используют расширенную таблицу с 256 символами (байтами).

Криптоанализ

Тест Касиски

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

Метод индекса совпадений

Более статистически строгий метод, разработанный Уильямом Фридманом в 1920-х годах. Индекс совпадений (IC) для случайного текста близок к 1/26 (≈0,0385 для английского алфавита), а для естественного языка — к 0,067. Измеряя IC для блоков шифротекста, сгруппированных по предполагаемой длине ключа, можно проверить эту гипотезу.

Практическая стойкость

Современные компьютеры способны взломать шифр Виженера миллисекундно при длине текста от нескольких сотен символов. Основные слабости:

Для надёжной защиты от криптоанализа ключ должен быть:

  1. Длиннее самого сообщения.
  2. Непериодическим (случайным).
  3. Используемым однократно.

Применение

Исторически шифр Виженера применялся в дипломатии, военной связи и разведке до конца XIX века. В XX–XXI веках он используется преимущественно в образовательных целях в курсах криптографии (в том числе в рамках обучения криптоанализу) и как элемент более сложных алгоритмов (например, шифрт-системы или OLAP-шифрования). В компьютерных играх и художественной литературе шифр Виженера часто фигурирует как символ тайны и шпионажа (например, в романе «Код да Винчи» или в игре «The Witness»).

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

Источники

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

На главную BFOmetr →