summaryrefslogtreecommitdiff
path: root/cryptography/lectures/lecture9.tex
blob: 9fc9d8a325a16ebc22cf28adab20a292907adb3c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
% Лекция 9 (31.10.22)

\subsubsection{Дисковые многоалфавитные шифры замены}

\paragraph{}
Рассмотрим правило зашифрования и некоторые свойства такого шифра. Пусть
алфавитом является множество $Z_n = \set{0, 1, \dots, n - 1}$. Запишем
преобразование символов алфавита, осуществляемое движущимся диском. Рассмотрим
два соседних угловых положения диска при повороте по часовой стрелке.

Пусть в исходном положении диск реализует подстановку
$$X = \begin{pmatrix}
  0   & 1   & \dots & n - 1     \\
  x_0 & x_1 & \dots & x_{n - 1} \\
\end{pmatrix}$$

Для того, чтобы выписать подстановку, реализуемую диском после поворота на угол
$\frac{2 \pi}{n}$ посмотрим на соответствующие рисунки.

\textbf{TODO: рис1}
% Рисунок --- начальное положение диска.

\textbf{TODO: рис2}
% Рисунок --- положение диска после поворота.

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

Разница между двумя рассматриваемыми положениями диска состоит в том, что после
поворота символы с входной розетки поступают на входные контакты диска, номер
которых уменьшаются на единицу (по модулю $n$).

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

Чтобы вернуться к исходной нумерации символов, следует их увеличить на единицу.
Введём подстановку
$$T = \begin{pmatrix}
  0 & 1 & \dots & n - 2 & n - 1 \\
  1 & 2 & \dots & n - 1 & 0     \\
\end{pmatrix}$$

После поворота диск реализует подстановку, представимую в виде произведения
подстановок: $$T^{-1} \cdot X \cdot T = \left( \frac{i}{i - 1} \right) \cdot
\left( \frac{i - 1}{x_{i - 1}} \right) \cdot \left( \frac{x_{i - 1}}{x_{i - 1} +
1} \right) = \left( \frac{i}{x_{i - 1} + 1} \right)$$

Таким образом, при повороте диска на угол $\frac{2 m \pi}{n}, \, m =
\overline{1, n - 1}$, диск будет реализовывать подстановку $T^{-m} \cdot X \cdot
T^m$.

\paragraph{}
Рассмотрим дисковый шифратор, состоящий из нескольких насаженных на общую
ось дисков, так что символы с входной розетки, попадая на блок дисков,
последовательно проходят перепайки каждого из дисков, попадая на контакты
выходной розетки.

Обычно при работе такого шифратора диски при шифровании очередного знака
открытого текста сдвигаются по определённому правилу на некоторые угловые
положения, кратные $\frac{2 \pi}{n}$.

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

Пусть в начальных угловых положениях рассматриваемые диски реализуют подстановки
$X_1, \dots, X_N$ из симметрической группы $S_n$ (они также являются ключевыми
элементами) и в данный такт шифрования данные диски находятся в соответствующих
угловых положениях $\gamma_1, \dots, \gamma_N, \, \gamma_i \in \overline{0, n -
1}$.

Это означает, что $i$-й диск реализует подстановку $T^{-\gamma_i} \cdot X_i
\cdot T^{\gamma_i}$.

Тогда очередная буква открытого текста $x$ будет зашифрована в букву $y =
E_k(x)$, где $$y = T^{-\gamma_1} \cdot X_1 \cdot T^{\gamma_1 - \gamma_2} \cdot
X_2 \cdot T^{\gamma_2 - \gamma_3} \cdot \dots T^{\gamma_{N - 1} - \gamma_N}
\cdot X_N \cdot T^{\gamma_N}(x)$$.

\paragraph{}
Формально определить правило зашифрования любого открытого текста для дискового
шифратора сложно в связи с обилием различных ключевых элементов.

Для поточных шифров, как правило, бывает достаточно знания правила зашифрования
буквы текста.

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

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

Криптоанализ дисковых шифраторов является весьма сложной задачей.

\subsection{Шифры гаммирования}
\textbf{TODO: Дописать}

\paragraph{Шифр Виженера.}
\paragraph{Табличное гаммирование.}