diff options
| author | Andrew Guschin <guschin.drew@gmail.com> | 2022-10-25 13:50:08 +0400 |
|---|---|---|
| committer | Andrew Guschin <guschin.drew@gmail.com> | 2022-10-25 13:50:08 +0400 |
| commit | 6346c39c3b4349f3381172d7300bb985212b8f98 (patch) | |
| tree | 7592c1c5be584a415abc6370dffbb07405037baf /cryptography/lectures/lecture3.tex | |
| parent | 4a4296a4f5139f66a69f4f290e4860737b3bb6e6 (diff) | |
Документ по криптографии разделён на лекции
Diffstat (limited to 'cryptography/lectures/lecture3.tex')
| -rw-r--r-- | cryptography/lectures/lecture3.tex | 194 |
1 files changed, 194 insertions, 0 deletions
diff --git a/cryptography/lectures/lecture3.tex b/cryptography/lectures/lecture3.tex new file mode 100644 index 0000000..930b360 --- /dev/null +++ b/cryptography/lectures/lecture3.tex @@ -0,0 +1,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} + +Информация, которую реально несёт каждая буква сообщения меньше, чем её +максимальная информация при случайном и равновероятном появлении. + +В связи с ним возник термин "избыточность языка". + +Поэтому часть букв открытого текста можно опустить без потери содержания +потерянная информация будет восстановлена другими буквам сообщения вследствие +закономерностей языка. |