1. Теоретическое введение


1.1 Шифр полиалфавитной подстановки


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

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

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

Ei = ( Mi + Ki mod U ) mod L     ( 2.1 )

где:

Ei, Mi - числовые эквиваленты символов криптограммы и открытого текста соответственно,
Ki mod U - числовой эквивалент буквы ключа,
L - мощность нормативного алфавита.
U - длина ключа или период шифра

Буквы ключа определяют величину смещения символов криптограммы относительно символов открытого текста.

Зашифруем, например, текст "полиалфавитная_подстановка" ключом "краб". Будем использовать алфавит, приведенный в таблице 1.2. Процесс шифрования приведен в таблице 2.1.

Таблица 2.1
П 15 К 10 (15+10) mod 32 25 Щ
О 14 Р 16 (14+16) mod 32 30 Я
Л 11 А 0 (11+0) mod 32 11 Л
И 8 Б 1 (8+1) mod 32 9 Й
А 0 К 10 (0+10) mod 32 10 К
Л 11 Р 16 (11+16) mod 32 27 Ь
Ф 20 А 0 (20+0) mod 32 20 Ф
А 0 Б 1 (0+1) mod 32 1 Б
В 2 К 10 (2+10) mod 32 12 М
И 8 Р 16 (8+16) mod 32 24 Ш
Т 18 А 0 (18+0) mod 32 18 Т
Н 13 Б 1 (13+1) mod 32 14 О
А 0 К 10 (0+10) mod 32 10 К
Я 30 Р 16 (30+16) mod 32 14 О
_ 31 А 0 (31+0) mod 32 31 _
П 15 Б 1 (15+1) mod 32 16 Р
О 14 К 10 (14+10) mod 32 24 Ш
Д 4 Р 16 (4+16) mod 32 20 Ф
С 17 А 0 (17+0) mod 32 17 С
Т 18 Б 1 (18+1) mod 32 19 У
А 0 К 10 (0+10) mod 32 10 К
Н 13 Р 16 (13+16) mod 32 29 Ю
О 14 А 0 (14+0) mod 32 14 О
В 2 Б 1 (2+1) mod 32 3 Г
К 10 К 10 (10+10) mod 32 20 Ф
А 0 Р 16 (0+16) mod 32 16 Р

В результате получилась криптограмма : "ЩЯЛЙКЬФБМШТОКО_Р ШФСУКЮОГФР".

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


Назад | Содержание | Вперед

Hosted by uCoz