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
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
|
% Лекция 3 (19.09.22)
\subsection{Алгебраические структуры}
Множество R с двумя бинарными ассоциативными операциями сложения "+" и умножения
"$\cdot$" называется \textbf{кольцом}, если выполнены следующие условия:
\begin{enumerate}
\item
множество R с бинарной операцией сложения является абелевой группой
(нейтральный элемент кольца называют \emph{нулём} кольца и обозначают через
0)
\item
операция "*" удовлетворяет условию дистрибутивности относительно операции
"+" то есть \((a + b) * c = a * c + b * c\) и \(a * (b + c) = a * b + a *
c\)
\end{enumerate}
Если операция умножения коммутативна, то кольцо называется коммутативным. Пример
--- множество \(Z_n\), образующее полную систему вычетов целых чисел по модулю
\(n\) с операциями сложения и умножения по модулю \(n\), причём это кольцо
является коммутативным.
Кольцо вычетов \(Z_4\):
\_+4\_| 0 1 2 3
----+--------
0 | 0 1 2 3
1 | 1 2 3 0
2 | 2 3 0 1
3 | 3 0 1 2
\_*4\_| 0 1 2 3
----+--------
0 | 0 1 2 3
1 | 1 2 3 0
2 | 2 3 0 1
3 | 3 0 1 2
x | 0 1 2 3
---+--------
-x | 0 3 2 1
Если в кольце существует элемент 1 такой, что \(g \cdot 1 = 1 \cdot g =
g\) (нейтральный элемент относительно умножения), такое кольцо называется
\emph{кольцом с единицей}.
\emph{Полем} называется коммутативное кольцо с единицей, отличной от нуля, в
котором любой ненулевой элемент обратим.
Кольцо вычетов целых чисел по модулю \(Z_n\) является полем в том и только том
случае, когда \(n\) --- простое число.
Поля вычетов являются конечными полями. Конечные поля называются \emph{полями
Галуа}.
\subsection{Открытые сообщения}
\label{sec:orga0e3510}
\subsubsection{Характеристики}
\label{sec:org72d8f1b}
\begin{itemize}
\item
Открытый и шифрованные тексты представляют собой последовательности символов,
взятых из конечного набора, называемого \emph{алфавитом}.
\item Элемент алфавита называется \emph{буквой}.
\item Число символов алфавита называется \emph{мощностью} алфавита.
\end{itemize}
Примеры --- Алфавиты:
\begin{enumerate}
\item \(A_1\) --- алфавит прописных букв, \(|A_1| = 33\) : А, Б, В, \dots{}, Э, Ю, Я
\item
\(A_2\) --- прописные и строчные буквы, целые числа, пробел и знаки
препинания (мощность алфавита примерно равна 84): А, Б, В, \dots{}, Э, Ю, Я,
а, б, в,
\dots{}, э, ю, я, \dots{}, 0, 1, \dots{}, 9, пробел, запятая, точк, :, ;, ", ?, !.
\item \(A_3\) --- элементы множества \(\{0, 1\}\).
\end{enumerate}
В основном используются производные от \(A_3\) алфавиты, совпадающие с
множеством \(V_n\) двоичных n-мерных векторов.
Мощность алфавитов равна \(2^n\), и, как правило, \(5 \leq n \leq 8\).
Часто в процессе шифрования наз символами алфавита производятся вычислительные
действия, поэтому удобно их представлять в виде чисел или двоичных наборов.
Рассмотрим в качестве алфавита \(Z_m = \{ 0, 1, \dots, m - 1 \}\)
Всякий текст, записанный в некотором алфавите имеет \emph{длину}, равную числу
букв в соответствующей записи.
Последовательность \(k\) соседних букв текста, \(k \geq 2\), называется \$k\$-граммой (при
\(k = 2\) --- биграммой и т.д.).
Помимо алфавита \(Z_m\) могут рассматриваться производные от него алфавиты \(Z_m(t)\)
представляющие собой набор всевозможных $t$-грамм исходного алфавита.
\subsubsection{Детерминированные модели открытых текстов}
Каждый источник открытых сообщений порождает тексты в соответствии с правилами
грамматики некоторого языка, что находит отражение и в статистических
характеристиках сообщений.
Всякий язык и всякий источник открытых сообщений можно характеризовать
разбиением множества всех $k$-грамм, \(k = 2, 3, \dots\), на \emph{допустимые}
(встречающиеся в каких-либо текстах) и \emph{запрещённые} (не встречающиеся
ни в каких текстах), что определяет \emph{детерминированную модель} источника
открытых сообщений.
В такой модели открытый текст рассматривается как последовательность букв
некоторого алфавита, не содержащая запретных $k$-грамм.
\subsubsection{Вероятностные модели открытых текстов}
В вероятностных моделях источник открытых сообщений рассматривается как источник
случайных последовательностей.
Пусть источник генерирует в алфавите \(Z_m\) текст конечной или бесконечной
длины, в результате чего получается последовательность случайных переменных
\(x_1, x_2, \dots, x_{n - 1}, \dots\), принимающих значения в \(Z_m\).
\emph{Вероятность случайного сообщения} \((a_0, a_1, \dots, a_{n - 1})\)
определяется как вероятность такой последовательности событий: $$P(a_0, a_1,
\dots, a_{n - 1}) = P(x_0 = a_0, x_1 = a_1, \dots, x_{n - 1} = a_{n - 1})$$
Множество случайных сообщений образует вероятностное пространство, если
выполнены условия:
\begin{enumerate}
\item
\(P(a_0, a_1, \dots, a_{n - 1}) \geq 0\) для любого случайного сообщения
\((a_0, a_1, \dots, a_{n - 1})\).
\item
\(\displaystyle\sum_{(a_0, a_1, \dots, a_{n - 1})} P(a_0, a_1, \dots, a_{n -
1}) = 1\)
\item
для любого случайного сообщения \((a_0, a_1, \dots, a_{n - 1})\), и любого
\(s > n\) \(P(a_0, a_1, \dots, a_{n - 1}) = \sum_(a_n, \dots, a_{s - 1})
P(a_0, a_1, \dots, a_{s - 1})\), то есть вероятность всякого случайного
сообщения \(n\) есть сумма вероятностей всех продолжения этого сообщения до
длины \(s\).
\end{enumerate}
Текст, порождаемый таким источником, является вероятностным аналогом языка. Он
обладает одинаковыми с языком частотными характеристиками $k$-грамм. Задавая
определённое вероятностное распределение на множестве открытых текстов, задаётся
соответствующая модель источника открытых сообщений.
Например, в модели стационарного источника независимых символов алфавита
(\emph{позначная модель открытых текстов}) предполагается, что вероятности
сообщений полностью определяются вероятностями использования отдельных букв
алфавита в случайном тексте
$$P(a_0, a_1, \dots, a_{n - 1}) = \prod_{i = 0}^{n - 1} P(x_i = a_i)$$
где для всех \(i \in {0, 1, \dots, n - 1}\) и любого \(a \in Z_m P(x_i = a) >
0\); \(\sum_{a \in Z_m} P(x_i = a) = 1\).
Открытый текст такого источника является реализацией последовательности
независимых испытаний в полиномиальной вероятностной схеме с числом исходов,
равным \(m\).
Множество исходов взаимнооднозначно соответствует множеству всех символов
алфавита.
Частота букв в разных языках:
\begin{itemize}
\item \emph{Русский язык}: О (11\%), И (8.9\%), Е, А, Н, Т
\item \emph{Английский язык}: E (12.86\%), T (9.72\%), A, I, N, R
\end{itemize}
Эта модель эффективно используется для дешифрования текстов, защищаемых шифром
простой замены.
Самые частые биграммы:
\begin{itemize}
\item \emph{Русский язык}: СТ (1.74\%), НО (1.29\%), ЕН, ТО, НА
\end{itemize}
Наиболее частые триграммы:
\begin{itemize}
\item \emph{Русский язык}: СТО, ЕНО, НОВ, ТОВ, ОВО
\end{itemize}
Информация, которую реально несёт каждая буква сообщения меньше, чем её
максимальная информация при случайном и равновероятном появлении.
В связи с ним возник термин "избыточность языка".
Поэтому часть букв открытого текста можно опустить без потери содержания
потерянная информация будет восстановлена другими буквам сообщения вследствие
закономерностей языка.
|