From cda2ab427e58bf65c51f644b10921a6ce649fe13 Mon Sep 17 00:00:00 2001 From: Andrew Guschin Date: Tue, 25 Oct 2022 14:15:56 +0400 Subject: =?UTF-8?q?=D0=9E=D1=82=D1=80=D0=B5=D0=B4=D0=B0=D0=BA=D1=82=D0=B8?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B0=20=D1=82=D1=80=D0=B5=D1=82?= =?UTF-8?q?=D1=8C=D1=8F=20=D0=BB=D0=B5=D0=BA=D1=86=D0=B8=D1=8F=20=D0=BF?= =?UTF-8?q?=D0=BE=20=D0=BA=D1=80=D0=B8=D0=BF=D1=82=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cryptography/cryptography.pdf | Bin 379600 -> 380185 bytes cryptography/lectures/lecture3.tex | 165 ++++++++++++++++++------------------- 2 files changed, 82 insertions(+), 83 deletions(-) diff --git a/cryptography/cryptography.pdf b/cryptography/cryptography.pdf index 0c63985..456ada1 100644 Binary files a/cryptography/cryptography.pdf and b/cryptography/cryptography.pdf differ diff --git a/cryptography/lectures/lecture3.tex b/cryptography/lectures/lecture3.tex index 930b360..9ace74a 100644 --- a/cryptography/lectures/lecture3.tex +++ b/cryptography/lectures/lecture3.tex @@ -1,102 +1,104 @@ % Лекция 3 (19.09.22) \subsection{Алгебраические структуры} -Множество R с двумя бинарными ассоциативными операциями сложения "+" и умножения -"$\cdot$" называется \textbf{кольцом}, если выполнены следующие условия: +Множество $R$ с двумя бинарными ассоциативными операциями сложения <<$+$>> и умножения +<<$\cdot$>> называется \textbf{кольцом}, если выполнены следующие условия: \begin{enumerate} \item - множество R с бинарной операцией сложения является абелевой группой + Множество $R$ с бинарной операцией сложения является абелевой группой (нейтральный элемент кольца называют \emph{нулём} кольца и обозначают через - 0) + 0); \item - операция "*" удовлетворяет условию дистрибутивности относительно операции - "+" то есть \((a + b) * c = a * c + b * c\) и \(a * (b + c) = a * b + a * - c\) + Операция <<$\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\): - -\_+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\) (нейтральный элемент относительно умножения), такое кольцо называется +--- множество $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\) --- простое число. - +котором любой ненулевой элемент обратим. Кольцо вычетов целых чисел по модулю +$Z_n$ является полем в том и только том случае, когда $n$ --- простое число. Поля вычетов являются конечными полями. Конечные поля называются \emph{полями Галуа}. - \subsection{Открытые сообщения} -\label{sec:orga0e3510} \subsubsection{Характеристики} -\label{sec:org72d8f1b} \begin{itemize} \item - Открытый и шифрованные тексты представляют собой последовательности символов, - взятых из конечного набора, называемого \emph{алфавитом}. + Открытый и шифрованные тексты представляют собой последовательности + символов, взятых из конечного набора, называемого \emph{алфавитом}. \item Элемент алфавита называется \emph{буквой}. \item Число символов алфавита называется \emph{мощностью} алфавита. \end{itemize} Примеры --- Алфавиты: \begin{enumerate} - \item \(A_1\) --- алфавит прописных букв, \(|A_1| = 33\) : А, Б, В, \dots{}, Э, Ю, Я + \item $A_1$ --- алфавит прописных букв, $|A_1| = 33$ : А, Б, В, \dots, Э, Ю, Я \item - \(A_2\) --- прописные и строчные буквы, целые числа, пробел и знаки - препинания (мощность алфавита примерно равна 84): А, Б, В, \dots{}, Э, Ю, Я, - а, б, в, - \dots{}, э, ю, я, \dots{}, 0, 1, \dots{}, 9, пробел, запятая, точк, :, ;, ", ?, !. - \item \(A_3\) --- элементы множества \(\{0, 1\}\). + $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\). +В основном используются производные от $A_3$ алфавиты, совпадающие с множеством +$V_n$ двоичных $n$-мерных векторов. Мощность алфавитов равна $2^n$, и, как +правило, $5 \leq n \leq 8$. -Часто в процессе шифрования наз символами алфавита производятся вычислительные +Часто в процессе шифрования над символами алфавита производятся вычислительные действия, поэтому удобно их представлять в виде чисел или двоичных наборов. -Рассмотрим в качестве алфавита \(Z_m = \{ 0, 1, \dots, m - 1 \}\) +Рассмотрим в качестве алфавита $Z_m = \{ 0, 1, \dots, m - 1 \}$. Всякий текст, записанный в некотором алфавите имеет \emph{длину}, равную числу букв в соответствующей записи. -Последовательность \(k\) соседних букв текста, \(k \geq 2\), называется \$k\$-граммой (при -\(k = 2\) --- биграммой и т.д.). +Последовательность $k$ соседних букв текста, $k \geq 2$, называется $k$-граммой +(при $k = 2$ --- биграммой и т.д.). -Помимо алфавита \(Z_m\) могут рассматриваться производные от него алфавиты \(Z_m(t)\) -представляющие собой набор всевозможных $t$-грамм исходного алфавита. +Помимо алфавита $Z_m$ могут рассматриваться производные от него алфавиты +$Z_m(t)$ представляющие собой набор всевозможных $t$-грамм исходного алфавита. \subsubsection{Детерминированные модели открытых текстов} @@ -105,7 +107,7 @@ g\) (нейтральный элемент относительно умноже характеристиках сообщений. Всякий язык и всякий источник открытых сообщений можно характеризовать -разбиением множества всех $k$-грамм, \(k = 2, 3, \dots\), на \emph{допустимые} +разбиением множества всех $k$-грамм, $k = 2, 3, \dots$, на \emph{допустимые} (встречающиеся в каких-либо текстах) и \emph{запрещённые} (не встречающиеся ни в каких текстах), что определяет \emph{детерминированную модель} источника открытых сообщений. @@ -118,11 +120,11 @@ g\) (нейтральный элемент относительно умноже В вероятностных моделях источник открытых сообщений рассматривается как источник случайных последовательностей. -Пусть источник генерирует в алфавите \(Z_m\) текст конечной или бесконечной -длины, в результате чего получается последовательность случайных переменных -\(x_1, x_2, \dots, x_{n - 1}, \dots\), принимающих значения в \(Z_m\). +Пусть источник генерирует в алфавите $Z_m$ текст конечной или бесконечной длины, +в результате чего получается последовательность случайных переменных $x_1, x_2, +\dots, x_{n - 1}, \dots$, принимающих значения в $Z_m$. -\emph{Вероятность случайного сообщения} \((a_0, a_1, \dots, a_{n - 1})\) +\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})$$ @@ -130,17 +132,14 @@ g\) (нейтральный элемент относительно умноже выполнены условия: \begin{enumerate} \item - \(P(a_0, a_1, \dots, a_{n - 1}) \geq 0\) для любого случайного сообщения - \((a_0, a_1, \dots, a_{n - 1})\). + $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 - \(\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\). + $\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} Текст, порождаемый таким источником, является вероятностным аналогом языка. Он @@ -152,17 +151,17 @@ g\) (нейтральный элемент относительно умноже (\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\). +\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\). +равным $m$. -Множество исходов взаимнооднозначно соответствует множеству всех символов +Множество исходов взаимно однозначно соответствует множеству всех символов алфавита. Частота букв в разных языках: @@ -187,7 +186,7 @@ $$P(a_0, a_1, \dots, a_{n - 1}) = \prod_{i = 0}^{n - 1} P(x_i = a_i)$$ Информация, которую реально несёт каждая буква сообщения меньше, чем её максимальная информация при случайном и равновероятном появлении. -В связи с ним возник термин "избыточность языка". +В связи с ним возник термин <<избыточность языка>>. Поэтому часть букв открытого текста можно опустить без потери содержания потерянная информация будет восстановлена другими буквам сообщения вследствие -- cgit v1.2.3