logo
Компьютерные сети

Одно-алфавитные шифры.

Примером такого шифра является шифр Цезаря, в котором каждая буква исходного открытого текста заменялась третьей по счету буквой латинского алфавита с учетом циклического сдвига. Вскрытие такого шифра осуществляется путем перебора возможных ключей, в качестве которых используется величина сдвига букв сообщения до появления осмысленного текста. При простой моно-алфавитной замене каждый знак m1 текста, принадлежащего к алфавиту А заменяется соответствующим знаком h1, принадлежащим к алфавиту В. Соответствие между знаками алфавитов А и В задается с помощью кодовой таблицы или выражения, например, при использовании обобщенного шифра Цезаря выражение, устанавливающее связь между алфавитами А и В имеет вид:

mod – по модулю;

К – это количество знаков к алфавиту;

h – постоянная величина сдвига.

Каждому знаку алфавита, как в рассматриваемом случае, состоят из одних и тех же символов, ставится в соответствие число. Порядок к шифру текста осуществляется в результате суммирования с некоторым постоянным числом h. Шифрование данным способом эквивалентно сдвигу алфавита на фиксированное число позиций h; если h = 1, то, например, для русского алфавита буква «а» заменяется на «б», «б» на «в», «я» на «а». Увеличить надежность такого шифра можно путем использования переменного алфавита. Однако не смотря на то, что количество возможных перестановок для букв русского алфавита равно факториалу 33 (33!), шифры моно-алфавитной замены не являются высокостойкими и могут быть вскрыты достаточно быстро с использованием вычислительной техники.

Многоалфавитные шифры.

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

Использование шифра Вижинера сводится к следующему. Множество из 33 алфавитов (циклических сдвигов) русского языка формируется путем последовательного сдвига букв исходного алфавита, подобно рассмотренному выше шифру Цезаря. Совокупность всех алфавитов, сведенных в одну таблицу, образует шифровальную таблицу Вижинера.

Составные шифры.

На практике для повышения криптостойкости обычно используют 2 общих принципа: рассеивание и перемешивания.

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

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

  1. одиночная ошибка в шифротексте вызывает искажение примерно половины открытого текста;

  2. из 2-х одинаковых блоков открытого текста получаются одинаковые блоки шифрованного текста.

Избежать этих недостатков позволяют поточные или потоковые шифры.