logo
ОЗІ / Лекц_ї / все / Методы и средства защиты информации, 2003

Шифрование методом подстановки (замены)

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

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

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

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

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

В качестве примера рассмотрим шифрование с помощью таблицы Виженера. Таблица Виженера представляет собой матрицу с n2 элементами, где n —количество символов используемого алфавита. Каждая строка матрицы получена циклическим сдвигом алфавита на символ. Для шифрования выбирается буквенный ключ, в соответствии с которым формируется рабочая матрица шифрования. Осуществляется это следующим образом. Из полной таблицы выбирается первая строка и те строки, первые буквы которых соответствуют буквам ключа. Первой размещается первая строка, а под нею — строки, соответствующие буквам ключа в порядке следования этих букв в ключе.

Сам процесс шифрования осуществляется следующим образом:

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

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

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

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

Из таблицы Виженера выбираются десять произвольных строк, которые кодируются натуральными числами от 0 до 10. Эти строки используются в соответствии с чередованием цифр в выбранном ключе.

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

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

Общая модель шифрования подстановкой может быть представлена в следующем виде:

t = t + ω mod (K – 1)

где t— символ зашифрованного текста;t— символ исходного текста;ω— целое число в диапазоне от0до (К–1);К — количество символов используемого алфавита.

Если ωфиксировано, то формула описывает моноалфавитную подстановку, еслиωвыбирается из последовательностиω1, ω2, …, ωn, то получается полиалфавитная подстановка с периодомn.

Если в полиалфавитной подстановке n > m(гдеm— количество знаков шифруемого текста) и любая последовательностьω1, ω2, …, ωnиспользуется только один раз, то такой шифр является теоретически не раскрываемым, если противник не имеет доступа к исходному тексту. Этот шифр называют шифром Вермана.