Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы криптографии. Учебное пособие.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
706 Кб
Скачать

которые называются классами вычетов по модулю m. Соответственно чис-

ла одного и того же класса Cr называются вычетами класса Cr.

Вычеты класса Cr имеют форму ml+r и получаются, когда l пробегает все целые значения.

Пример 2.3

Все числа, образующие класс вычетов C3 по модулю 10, то есть дающие при делении на 10 остаток 3, имеют вид 10l+3, где

L = 0, ±1, ±2, ±3, … ,

то есть представляются рядом чисел

…-27, -17, -7, 3, 13, 23, 33, …

Если из каждого класса вычетов по модулю m взять по одному представителю, то полученная система чисел называется полной системой вы-

четов по модулю m.

Пример 2.4

Построим полную систему вычетов по модулю 10. Для этого возьмем по одному представителю из каждого класса, числа которых имеют вид:

10l+0, 10l+1, 10l+2, …, 10l+9,

например:

20, 31, 62, 93…, 29.

2.4. Примеры классических шифров подстановок

Наиболее простым примером шифра моноалфавитной подстановки является шифр Цезаря, при котором символы исходного текста сдвигаются на фиксированное количество позиций в алфавите.

Установим взаимно однозначное соответствие алфавита Am и множества натуральных чисел от 1 до m (то есть пронумеруем символы алфавита) и рассмотрим следующую подстановку:

 

a

a

2

...

a

m

 

 

1

 

 

 

 

π =

 

 

 

 

 

 

.

a(1+k)(mod m) a(2

+k)(mod m) ...a(m+k)(mod m)

25

Тогда шифр Цезаря можно записать в следующем виде:

Ck = π: a j a(j+k)(mod m)

или

Ck : j (j + k)(mod m),1 j m,

где j – числовой эквивалент буквы исходного сообщения (ее порядковый номер в алфавите).

Число k, равное величине сдвига шифрованного текста относительно исходного, является ключом шифра.

Для того чтобы построить отображение расшифрования на ключе k, найдем подстановку, обратную к π. Очевидно, что такой подстановкой будет:

 

1

 

a

a

2

...

a

m

 

 

π

 

1

 

 

 

 

,

 

=

 

 

 

 

 

 

 

 

 

a(1k)(mod m) a(2

k)(mod m) ...a(mk)(mod m)

 

следовательно, расшифрование шифра Цезаря выражается следующим отображением:

Ck1 : i (i k)(mod m),1 i m,

где i – числовой эквивалент буквы шифрованного сообщения.

Для вскрытия исходного сообщения по сообщению, зашифрованному шифром Цезаря, достаточно перебрать все значения ключа k от 1 до m, где m – объем алфавита.

Следует отметить, что классическим шифром Цезаря является замена каждого символа открытого текста третьим, следующим за ним символом алфавита, то есть k = 3. Мы же рассмотрели обобщенный шифр Цезаря при 1 k < m.

На основе обобщенного шифра Цезаря можно описать и шифр Тритемия, приведенный в п. 1.5 главы 1.

Запишем таблицу Тритемия (см. рис. 1.2) в виде последовательности преобразований Ck, k = 0, 1, …, m-1:

C0 : j j (тождественное преобразование);

C1 : j (j +1)(mod m);

26

Ck : j (j + k)(mod m)

Cm1 : j (j + m 1)(mod m).

Тогда каждый символ исходного сообщения x1 ,x2 , ,xn зашифровывается соответствующим преобразованием из последовательности:

y1 = C1 (x1 ), y2 = C2 (x2 ),…, yk = Ck (xk ),…, yn = Cn (xn ).

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

Пусть x = (x1 ,x2 ,...,xn ) – исходное сообщение, состоящее из n симво-

лов;

k = (k1 ,k2 ,..,kn ) – ключ, длина которого равна n, а в общем случае может быть больше, чем n;

y = (y1 ,y2 ,...,yn ) – шифрованное сообщение, полученное в результате преобразования зашифрования:

V : xj (xj + kj )(mod m),

где 1 j n .

Преобразование расшифрования шифра Вернама:

V1 : yi (yi ki )(mod m),

где 1 i n .

Ключ k в шифрах многоалфавитной замены иначе называют гаммой шифра.

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

1.Исходный текст не может быть похищен.

2.Ключ используется один раз.

3.Длина ключа не меньше, чем длина исходного текста.

27

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

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

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

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

k = (k1,k2 ,...,kp ,k1,k2 ,...,kp ,...,k1,k2 ,...,kp ).

Преобразование шифрования VIG : (x1 ,x2 ,...,xn )(y1 ,y2 ,...,yn ) строится следующим образом:

x1 (x1 + k1 )(mod m);

x2 (x2 + k2 )(mod m);

xp (xp + kp )(mod m); xp+1 (xp+1 + k1)(mod m);

xp+2 (xp+2 + k2 )(mod m);

x2 p (x2 p + kp )(mod m);

2.5. Математическая модель шифра перестановок

Шифры перестановок являются второй разновидностью симметричных шифров. Процесс шифрования перестановкой состоит в том, что сим-

28

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

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

Построим математическую модель шифра перестановок. Множества исходных и шифрованных текстов совпадают и равны

AL , где A – алфавит, L – длина текста:

X =Y = AL .

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

Таким образом, модель шифра перестановки мы строим для текстов (отрезков текстов) определенной фиксированной длины.

Далее рассмотрим множество всех возможных подстановок на множестве целых чисел (1, 2, …, L), которое обозначим SL. Это и будет множество ключей:

K = SL.

Определим преобразования зашифрования и расшифрования:

Для каждого x = (x1 ,x2 ,...,xL ) X , каждого y = (y1 ,y2 ,...,yL ) Y и

каждого k K :

Ek (x)= (xk(1),xk(2),...,xk(L));

Dk (y)= yk 1(1), yk 1(2),..., yk 1(L) ,

где k 1 – подстановка, обратная к k.

29