% Лекция 3 (19.09.22)
Множество $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}

Информация, которую реально несёт каждая буква сообщения меньше, чем её
максимальная информация при случайном и равновероятном появлении.

В связи с ним возник термин <<избыточность языка>>.

Поэтому часть букв открытого текста можно опустить без потери содержания
потерянная информация будет восстановлена другими буквам сообщения вследствие
закономерностей языка.
