% Лекция 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} Информация, которую реально несёт каждая буква сообщения меньше, чем её максимальная информация при случайном и равновероятном появлении. В связи с ним возник термин "избыточность языка". Поэтому часть букв открытого текста можно опустить без потери содержания потерянная информация будет восстановлена другими буквам сообщения вследствие закономерностей языка.