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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
% Лекция 13 (28.11.22)
Таким образом, задача построение рассматриваемого шифра сводится к выбору
множества шифрующих преобразований $\set{\varphi_\alpha}$ и отображения $\psi$,
задающего распределитель.
В соответствии с этим поточная шифрсистема представляется в виде двух основных
блоков:
\begin{itemize}
\item
\emph{Управляющий блок} --- отвечает за выработку распределителя, то есть
вырабатывает последовательность номеров шифрующих преобразований, которая
называется \emph{управляющей последовательностью} (или \emph{управляющей
гаммой});
\item
\emph{Шифрующий блок} --- в соответствии со знаком управляющей
последовательности реализует алгоритм шифрования текущего знака.
\end{itemize}
Достаточно, чтобы в каждом такте шифрующий блок обеспечивал возможность
шифрования лишь текущего знака $a_j$ открытого текста в соответствии с (12).
Обычно управляющая гамма представляет собой псевдослучайную последовательность,
удовлетворяющую некоторой рекуррентной зависимости.
В общем случае рекуррентная последовательность на заданном множестве $A$
определяется формулой $$x(i + m) = f(x(i), \dots, x(i + m - 1)),\, i \geq 0,$$
в которой $f : A^m \to A$ --- некоторая функция от $m$ переменных.
Для получения рекуррентных последовательностей используются различные датчики
псевдослучайных чисел, например:
\begin{enumerate}
\item
Линейный конгруэнтный генератор над кольцом или полем:
$$x(i + 1) = a \cdot x(i) + b,\, i \geq 0$$
\item
Обобщение линейного генератора: $$x(i + 1) = f(x(i)),\, i \geq 0,$$ где
$f : A \to A$ --- произвольное отображение, легко вычисляемое для любого
аргумента;
\item
Линейные регистры сдвига (ЛРС), на которых основаны большинство датчиков.
\end{enumerate}
Требования к управляющему блоку:
\begin{itemize}
\item
Период управляющей гаммы должен превышать максимально возможную длину
открытых сообщений, подлежащих шифрованию;
\item
Статистические свойства управляющей гаммы должны приближаться к свойствам
случайной равновероятной последовательности;
\item
В управляющей гамме должны отсутствовать простые аналитические зависимости
между близко расположенными знаками;
\item
Криптографический алгоритм получения знаков управляющей гаммы должен
обеспечивать высокую сложность определения секретного ключа.
\end{itemize}
Требование к шифрующему блоку: применение алгоритма шифрования должно носить
универсальный характер и не зависеть от вида шифруемой информации.
\subsection{Линейные регистры сдвига}
В криптографических приложениях широкое распространение получили линейные
регистры сдвига над конечными полями и кольцами.
\emph{Последовательностью} над полем $P$ называется любая функция $u : \N_0 \to
P$, заданная на множестве целых неотрицательных чисел и принимающая значения в
поле.
Последовательность $u$ называется \emph{линейной рекуррентной
последовательностью (ЛРП) порядка $m > 0$ над полем $P$}, если существуют
константы $f_0, \dots, f_{m - 1} \in P$ такие, что
\begin{equation*}
u(i + m) = \sum_{j = 0}^{m - 2} f_j \cdot u(i + j),\, i \geq 0.
\end{equation*}
ЛРП реализуется схемой линейного регистра сдвига, изображённой на рисунке.
\textbf{TODO: Рисунок 1}
В очередном такте работы регистра значения, содержащиеся в ячейках накопителя,
умножаются на соответствующие коэффициента $f_j$ и суммируются, после чего
происходит (левый) сдвиг информации в регистре, а в освободившуюся крайнюю
ячейку записывается вычисленное значение суммы (операции сложения и умножения
выполняются в поле $P$).
Равенство, выражающее зависимость между знаками линейной рекуррентной
последовательности, называется \emph{законом рекурсии}, многочлен $F(x) = x^m -
\sum_{j = 0}^{m - 1} f_j \cdot x^j$ --- \emph{характеристическим многочленом}
ЛРП $u$, а вектор $u(\overline{0, m - 1}) = (u(0), \dots, u(m - 1))$ --- \emph{%
начальным вектором} ЛРП (или \emph{начальным заполнением} ЛРС).
Характеристический многочлен ЛРП $u$, имеющий наименьшую степень, называется её
\emph{минимальным многочленом}, а степень минимального многочлена --- \emph{%
линейной сложностью} ЛРП $u$ (она определяет минимальную длину ЛРС, реализующую
данную последовательность).
\emph{Периодом} последовательности $u$ называется наименьшее натуральное число
$t$, для которого существует натуральное число $\lambda > 0$ такое, что для всех
$i \geq 0$ справедливо равенство $u(\lambda + i + t) = u(\lambda + i)$.
Когда $P$ --- конечное поле из $q$ элементов, максимальное значение периода ЛРП
порядка $m$ равно $q^m - 1$.
Последовательности, имеющие максимально возможный период, называются линейными
рекуррентными последовательностями \emph{максимального периода} или просто
\emph{максимальными линейными рекуррентными последовательностями}.
Значения периодов ЛРП определяется свойствами их минимальных многочленов. В
частности, для того, чтобы ЛРП порядка $m$ над полем из $q$ элементов имела
максимальный период, необходимо и достаточно, чтобы её минимальный многочлен был
\emph{примитивным}, то есть
\begin{enumerate}
\item $F(x)$ --- неприводимый над полем $P$;
\item
$\text{ord}\, F(x) = q^m - 1$, то есть $F(x)$ делит многочлен $x^{q^m - 1} -
1$ и не делит ни один из многочленов вида $x^d - 1$, где $d$ делит $q^m - 1$
и $d \neq q^m - 1$.
\end{enumerate}
Закон рекурсии даёт удобный способ вычисления очередного знака ЛРП через
предыдущие, но при изучении её свойств предпочтительной формой задания является
формула общего члена последовательности, представляющая собой аналитическое
выражение члена последовательности в виде функции от его номера.
Пусть $p = GF(q)$ и $Q$ --- поле из $q^m$ элементов, являющееся расширением поля
$P$. Тогда функцией \emph{<<след>> из поля $Q$ в поле $P$} называется
отображение $\text{tr}_q^{q^m}(a) : Q \to P$ вида
\begin{equation*}
\text{tr}_q^{q^m}(a) = a + a^q + a^{q^2} + \dots + a^{q^{m - 1}}
\end{equation*}
\begin{theorem}
Пусть $F(x) = x^m - \sum_{j = 0}^{m - 1}
\end{theorem}
|