% Лекция 3 (19.09.22) \subsection{Алгебраические структуры} Множество $R$ с двумя бинарными ассоциативными операциями сложения <<$+$>> и умножения <<$\cdot$>> называется \textbf{кольцом}, если выполнены следующие условия: \begin{enumerate} \item Множество $R$ с бинарной операцией сложения является абелевой группой (нейтральный элемент кольца называют \emph{нулём} кольца и обозначают через 0); \item Операция <<$\cdot$>> удовлетворяет условию дистрибутивности относительно операции <<$+$>> то есть $(a + b) \cdot c = a \cdot c + b \cdot c$ и $a \cdot (b + c) = a \cdot b + a \cdot c$. \end{enumerate} Если операция умножения коммутативна, то кольцо называется коммутативным. Пример --- множество $Z_n$, образующее полную систему вычетов целых чисел по модулю $n$ с операциями сложения и умножения по модулю $n$, причём это кольцо является коммутативным. Кольцо вычетов $Z_4$: \begin{table}[H] \centering \begin{tabular}{c|cccc} $+ \pmod{4}$ & 0 & 1 & 2 & 3 \\ \hline 0 & 0 & 1 & 2 & 3 \\ 1 & 1 & 2 & 3 & 0 \\ 2 & 2 & 3 & 0 & 1 \\ 3 & 3 & 0 & 1 & 2 \end{tabular} \end{table} \begin{table}[H] \centering \begin{tabular}{c|cccc} $\cdot \pmod{4}$ & 0 & 1 & 2 & 3 \\ \hline 0 & 0 & 0 & 0 & 0 \\ 1 & 0 & 1 & 2 & 3 \\ 2 & 0 & 2 & 0 & 2 \\ 3 & 0 & 3 & 2 & 1 \end{tabular} \end{table} \begin{table}[H] \centering \begin{tabular}{c|cccc} $x$ & 0 & 1 & 2 & 3 \\ \hline $-x$ & 0 & 3 & 2 & 1 \\ \end{tabular} \end{table} Если в кольце существует элемент 1 такой, что $g \cdot 1 = 1 \cdot g = g$ (нейтральный элемент относительно умножения), такое кольцо называется \emph{кольцом с единицей}. \emph{Полем} называется коммутативное кольцо с единицей, отличной от нуля, в котором любой ненулевой элемент обратим. Кольцо вычетов целых чисел по модулю $Z_n$ является полем в том и только том случае, когда $n$ --- простое число. Поля вычетов являются конечными полями. Конечные поля называются \emph{полями Галуа}. \subsection{Открытые сообщения} \subsubsection{Характеристики} \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 $\sum_{(a_0, a_1, \dots, a_{n - 1})} P(a_0, a_1, \dots, a_{n - 1}) = 1$ \item $\forall$ случайного сообщения $(a_0, a_1, \dots, a_{n - 1})$, и $\forall 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{позначная модель открытых текстов}) предполагается, что вероятности сообщений полностью определяются вероятностями использования отдельных букв алфавита в случайном тексте \begin{equation*} P(a_0, a_1, \dots, a_{n - 1}) = \prod_{i = 0}^{n - 1} P(x_i = a_i) \end{equation*} где $\forall i \in {0, 1, \dots, n - 1}$ и $\forall 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} Информация, которую реально несёт каждая буква сообщения меньше, чем её максимальная информация при случайном и равновероятном появлении. В связи с ним возник термин <<избыточность языка>>. Поэтому часть букв открытого текста можно опустить без потери содержания потерянная информация будет восстановлена другими буквам сообщения вследствие закономерностей языка.