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

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

Запишем определение шифра подстановки в терминах математической модели ΣA. Для этого мы должны определить множества, входящие в математическую модель. Это множество исходных текстов X, множество шифрованных текстов Y, множество ключей K, множество преобразований зашифрования E и множество преобразований расшифрования D.

Пусть A – некоторый алфавит. Так как алфавит один и тот же и для открытых текстов и для шифрованных текстов, то множества открытых и шифрованных текстов совпадают:

X =Y = Ai .

i=1

Множество ключей определим как множество всех возможных подстановок на алфавите A:

K = S (A).

Далее, для каждого x = (x1, x2, …, xl) X, каждого y = (y1, y2, …, yl) Y и каждого элемента k K (то есть, подстановки из множества S (A)) определим преобразование зашифрования и расшифрования:

Ek (x) = k (x);

Dk (y) = k-1 (y),

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

Множества E и D определим как множества всех возможных преобразований Ek и Dk соответственно:

E ={Ek : k K}; D ={Dk : k K}.

Шифр, построенный на основе такой модели, называется моноалфа-

витной подстановкой, или простой подстановкой, так как для зашифрова-

ния всех символов исходного сообщения используется одна и та же подстановка k. Процесс применения такогошифра демонстрирует пример 2.1.

На практике криптостойкость шифров моноалфавитных подстановок очень низка. Чтобы ее повысить, усложним модель шифра.

Множества открытых и шифрованных текстов останутся такими же, как и в предыдущем построении:

21

X =Y = Ai ,

i=1

а в качестве ключа будем брать не одну постановку k из множества возможных на алфавите A, а некоторое конечное подмножество S(A):

k = (k1, k2, …, kl ) S(A).

Для каждого x = (x1, x2, …, xl) X, каждого y = (y1, y2, …, yl) Y и каждого k вида (k1, k2, …, kl ) определим преобразование зашифрования:

y= Ek (x)= (k1(x1 ),k2 (x2 ),...,kl (xl ))

ипреобразование расшифрования:

x= Dk (y)= (k11 (y1 ), k21 (y2 ),..., kl1 (yl )).

Вкачестве множеств E и D будем рассматривать множества всех

возможных преобразований Ek и Dk соответственно.

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

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

Пример 2.2

Рассмотрим алфавит, состоящий из трех символов A = {A, B, C}. Рассмотрим три подстановки на этом алфавите:

k

A B C

;

k

 

A B C

; k

A B

C

=

 

=

 

=

.

1

 

 

 

2

 

 

3

 

 

 

B C

A

 

 

C A B

 

C B A

Построим подстановки, обратные к k1, k2, k3:

k1

A

B

C

;

k1

=

 

 

1

 

A

 

 

2

 

C

B

 

 

Зашифруем сообщение x = A B C B A C

с использованием ключа

k = (k1, k2, k3, k1, k2, k3):

A

B

C

;

k1

A

B

C

=

 

 

=

 

.

 

C

 

 

3

 

B

 

B

A

 

 

C

A

22

y = Ek (x)= (k1 (x1 ),k2 (x2 ),k3 (x3 ),k1 (x4 ),k2 (x5 ),k3 (x6 ))=.

= (k1 (A),k2 (B),k3 (C),k1 (B),k2 (A),k3 (C))= BAACCA

Расшифрование с использованием обратных подстановок дает исходное сообщение:

x= Dk (y)= (k11 (B),k21 (A),k31 (A),k11 (C),k21 (C),k31 (A))= ABCBAC .

2.3.Сравнимость

Важным понятием в теории шифров подстановок является понятие

сравнения.

Пусть m – некоторое целое число, которое будем называть модулем сравнения.

Известно, что каждое целое число делится на m с некоторым остатком, то есть каждому целому числу соответствует определенный остаток от деления на m.

Если двум целым числам a и b соответствует один и тот же остаток, полученный от деления на m, то эти числа называются сравнимыми по модулю m. Отношение сравнимости записывается следующим образом:

a b(mod m),

(2.1)

а само выражение (2.1) называется сравнением.

Для работы со сравнениями оказывается полезной теорема 2.1.

Теорема 2.1. Сравнимость a и b по модулю m равносильна следующему свойству:

a = b + m t, где t – целое;

Доказательство

По определению сравнимости

a = m q1 + r; b = m q2 + r,

то есть a и b делятся на m с одинаковым остатком. Вычтем из выражения для a выражение для b:

a – b = m (q1 – q2).

Обозначив q1 – q2 = t, получим:

23

a – b = m t.

Перенеся b в правую часть, получим заключение теоремы.

Далее докажем, что из того, что a представимо в виде a = b + m t, следует сравнимость a и b по модулю m.

Число b, как любое целое число, можно представить в виде b = m q1+ r, где 0 r < m.

Подставив выражение для b в выражение для a, получим: a = m q1 + r + mt.

Обозначив q1 + t = q2, получим a = mq2 + r, то есть a делится на m с тем же остатком, что и b, что и требовалось доказать.

В дальнейшем нам понадобится следующее свойство сравнений:

Теорема 2.2

Общий делитель одной части сравнения и модуля является делителем второй части сравнения.

Доказательство

Пусть d – общий делитель левой части сравнения a b(mod m) и модуля m, то есть существуют такие числа a1 и m1, что:

a = a1 d , m = m1 d .

Так как по теореме 2.1: a = b + mt , то из выражения

a1d m1dt = b

видно, что d делит b, что и требовалось доказать.

Соотношение сравнимости по модулю m можно выразить следующим образом.

Объединим все целые числа, дающие при делении на m один и тот же остаток r, в класс, который обозначим Cr. Так как возможных остатков от деления на m всего m штук:

0, 1, 2, …, m-1,

то при делении на m все целые числа разбиваются на m классов:

C0, C1, C2, … , Cm-1,

24