logo search
Информационная безопасность / Информационная безопасность2006

Многотабличная замена. Буквенная ключевая последовательность.

Многоалфавитный шифр более стойкий. Например, таблица Вижинера. Это квадратная матрица N*N, гдеN— количество символов алфавита.

Первая строка матрицы — исходный алфавит. Следующие — кольцевой сдвиг алфавита на одну букву. Для шифрования задаётся слово из Kбукв (буквенный ключ). Из таблицы Вижинера выписывается рабочая подтаблица (K+1)*N. Первая строка — исходный алфавит. Следующие строки — алфавиты, начинающиеся с очередных букв ключа. Процедура шифрования:

Расшифрование шифротекста происходит в обратной последовательности. Ключ следует периодически или для каждого файла менять.

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

Проблемы ключа.

При коротком ключе шифрование не надёжно (злоумышленнику для раскрытия по крайней мере надо перехватить количество знаков в шифровке равное 20 длинам ключа). Длинный же ключ запомнить трудно (если он ещё и не имеет лингвосмысла), а запись его на бумаге может быть похищена. Ключ может вводиться пользователем с терминала или храниться в ЗУ в зашифрованном виде.

Одноалфавитные и многоалфавитные подстановки можно представить общей формулой, рассматривая её как задачу современной алгебры, т.к. между знаками алфавита и набором положительных целых чисел 0, 1, 2, …,устанавливается произвольное однозначное соответствие, то при сложении и вычитании по модулюэти положительные числа формируют алгебраическое кольцо и однозначное обратное преобразование.

шифрование: (1)

расшифрование:

Если , то имеем одноалфавитную подстановку. Для неё общую формулу можно расширить:

, при (2)

где: — числовой код букв шифра— числовой код букв исходного текста— размер алфавита— десятичный коэффициент— коэффициент сдвига

При ,,получаем код Цезаря с алфавитом, например:

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 в(пробел)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

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