diff options
| author | Andrew Guschin <guschin.drew@gmail.com> | 2022-11-14 14:01:12 +0400 |
|---|---|---|
| committer | Andrew Guschin <guschin.drew@gmail.com> | 2022-11-14 14:01:12 +0400 |
| commit | 245c692225e954e6a1bf805a61f3f6d92885e0cb (patch) | |
| tree | 136633025b27f22823d9aa88ec5ca3c6a5225d7b | |
| parent | 1f07d1ba2121f4f21fe800a6b5b807dda32657f2 (diff) | |
Добавлена 10 лекция
| -rw-r--r-- | cryptography/lectures/lecture10.tex | 171 | ||||
| -rw-r--r-- | cryptography/lectures/lecture9.tex | 4 |
2 files changed, 175 insertions, 0 deletions
diff --git a/cryptography/lectures/lecture10.tex b/cryptography/lectures/lecture10.tex index 7ab1fb8..28d89d2 100644 --- a/cryptography/lectures/lecture10.tex +++ b/cryptography/lectures/lecture10.tex @@ -1,2 +1,173 @@ % Лекция 10 (07.11.22) +\begin{example} + \begin{enumerate} + \item + Любая группа является также и квазигруппой, так как $$a \cdot x = b \iff x + = a^{-1} \cdot b,\, y \cdot a = b \iff y = b \cdot a^{-1}$$ + \item Целые числа $\Z$ с операцией вычитания ($-$) являются квазигруппой. + \end{enumerate} +\end{example} + +С алгебраической точки зрения буква $a_k$ есть результат применения к буквам +$a_i$ и $a_j$ квазигрупповой операции $\cdot$, табличным заданием которой +является латинский квадрат $L : a_k = a_i \cdot a_j$. + +% TODO: Убрать 8.1? +В случае шифра Виженера квазигруппа $(A, \cdot)$ является группой $(Z_n, +)$. +При этом уравнение шифрования имеет вид $$b_i = (a_i + \gamma_i) \pmod{n} \quad +(8.1),$$ а $\gamma_i$ представляет собой периодическую последовательность, +образованную повторением некоторого ключевого слова. + +Наряду со сложением используется и вычитание знаков гаммы. Соответствующие +уравнения шифрования принимают вид $$b_i = (a_i - \gamma_i) \pmod{n} \quad +(8.2)$$ или $$b_i = (\gamma_i - a_i) \pmod{n} \quad (8.3)$$ + +Шифры гаммирования с уравнениями шифрования (8.1)--(8.3) называют \emph{шифрами +модульного гаммирования}. + +\paragraph{О равновероятной гамме.} +Рассмотрим Основные идеи анализа на примере шифра с уравнением (8.1). Занумеруем +буквы алфавита $A$ числами от $0$ до $n - 1$. Пусть $p_i, r_i, s_i$ --- +вероятности появления знака $i$ в открытом тексте, гамме и в криптограмме +соответственно. + +Тогда задание вероятностных распределений на знаках открытого текста и гаммы +индуцирует распределение вероятностей знаков шифротекста по формуле: +\begin{equation*} + s_j = \sum_{i = 0}^{n - 1} p_{((j - i) \pmod{n})} \cdot r_i \quad (8.4) +\end{equation*} +при этом $$\sum_{j = 0}^{n - 1} s_j = 1.$$ + +Из формулы (8.4) следует, что если $r_i = \frac{1}{n}$ при всех $i = +\overline{0, n - 1}$, то $s_j = \frac{1}{n}$ при всех $j = \overline{0, n - 1}$. + +Это означает, что при зашифровании открытого текста равновероятной гаммой +получается шифротекст, вероятностные свойства которого не отличаются от самой +равновероятной гаммы, что не даёт криптоаналитику использовать диаграмму +повторяемости букв открытого текста. + +% TODO: Новая подсекция, а не секция??? +\section{Надёжность шифров} + +% TODO: В оригинале оформлено как \paragraph??? +\subsection{Энтропия языка} + +Выдающиеся результаты в применении математических методов в криптографии +принадлежат Клоду Шеннону (1916--2001). + +\emph{Энтропия} определяется функцией от вероятностного распределения и +характеризуется количеством неопределённости или информации в случайном +эксперименте. + +К.~Шеннон предложил формулу <<прирост информации = устранённой +неопределённости>>, на основании которой неопределённости и информация должны +измеряется одной и той же мерой. + +К такому выводу можно прийти на примере эксперимента с монетой. + +Если монета дефектна и всегда выпадает орёл, то нет никакой неопределённости и +при этом при проведении эксперимента мы не получим никакой информации (мы заранее +знали о его исходе, количество информации равно нулю). + +Максимальные неопределённость и количество получаемой информации будет в случае, +когда <<орёл>> и <<решка>> равновероятны. + +Пусть независимые испытания случайной величины $\xi$ с распределением +вероятностей $\xi = \begin{pmatrix} + a_1 & \cdots & a_n \\ + p_1 & \cdots & p_n \\ +\end{pmatrix}$, тогда энтропия $H(\xi)$ определяется формулой $$H(\xi) = +-\sum_{i = 1}^n p_i \cdot \log_2 p_i \quad (9.1)$$ + +Единицу измерения энтропии вероятностной схемы предлагает так называемая теорема +кодирования, утверждающая, что любой исход можно закодировать символами 0 и 1 +так, что полученная длина кодового слова будет сколь угодно близка сверху к +$H(\xi)$. + +На основании этого единицей количества информации считают 1 бит. Например, +количество информации, полученное при бросании монеты равно 1 бит, так как +орёл можно закодировать единицей, решку --- нулём. + +Если $p_i = \frac{1}{n}$ при всех $i = \overline{1, n}$, то $H_0 = H(\xi) += \log_2 n$. Под $H_0 = \log_2 n$ понимается абсолютная энтропия языка --- +величина, равная максимуму информации, которую можно передать единицей данного +языка (данная величина не учитывает возможную непроизносимость полученных +<<слов>>). + +В общем случае $H(\xi) \geq 0$, причём $H(\xi) = 0$ в том и только том случае, +когда $p_i = 1$ для некоторого $i$ и $p_j = 0$ для всех $j \neq i$. + +Мерой среднего количества информации, приходящейся на одну букву открытого +текста языка $\Lambda$ служит величина $H_\Lambda$, называемая \emph{энтропией} +языка $\Lambda$. + +Вычисляется она последовательными приближениями: $H_0, H_1$, где $H_1$ --- +энтропия позначной модели открытого текста, то есть величина (9.1), в которой +$p_i$ совпадает с вероятностью появления буквы $a_i$ в открытом тексте. + +Для английского языка $H_0 \approx 4.70, H_1 = H(\xi) \approx 4.14$. + +Энтропия языка $H_\Lambda$ языка $\Lambda$ определяется как $$H_\Lambda = +\lim_{r \to \infty} \frac{H_r}{r}$$ где $H_r$ --- энтропия вероятностной схемы +на $r$-граммах (для осмысленных текстов $\frac{H_r}{r}$ --- угадывание $r$-й +буквы текста при условии, что предшествующие буквы известны). + +При этом формула $R_\Lambda = 1 - \frac{H_\Lambda}{\log_2 n}$ определяет +\emph{избыточность языка $\Lambda$}. + +Например, русский язык имеет избыточность 72.6\%, что означает, что при +оптимальном кодировании текста (например, код Фано) его можно сжать практически +до четверти длины без потери информации. + +\subsection{Расстояние единственности} + +Попытки определения истинного ключа шифра по данной криптограмме путём её +расшифрования на всех возможных ключах могут привести к тому, что критерий на +открытый текст примет несколько претендентов за открытый текст. + +Найдём оценку для числа ложных ключей. + +\emph{Условная энтропия} --- это величина, характеризующая степень +неопределённости в предсказании исхода эксперимента, если известен исход +некоторого другого эксперимента. + +Пусть имеются дискретные величины $\xi$ и $\eta$, заданные вероятностными +распределениями $P(\xi), P(\eta)$. + +Для них можно вычислить совместное распределение $P(\xi, \eta)$ и условные +распределения $P(\xi/y), P(\eta/x)$ для любых фиксированных значений $x \in \xi, +y \in \eta$. + +Тогда условная энтропия $H(\xi/y)$ определяется формулой: +\begin{equation*} + H(\xi/y) = -\sum_{x \in \xi} p(x/y) \cdot \log_2 p(x/y) +\end{equation*} + +% TODO: Перенумеровать? +Усреднённая (по всем $y \in \eta$) величина $H(\xi/y)$ называется \emph{условной +энтропией двух вероятностных определений}: +\begin{equation*} + H(\xi/\eta) = -\sum_{y \in \eta} \sum_{x \in \xi} p(y) \cdot p(x/y) \cdot + \log_2 p(x/y) \quad (9.2) +\end{equation*} + +Величина (9.2) измеряет среднее количество информации $\xi$, обнаруживаемое с +помощью $\eta$. + +Известно, что $H(\xi/\eta) \leq H(\xi)$, причём $H(\xi/\eta) = H(\xi) \iff \xi, +\eta$ --- независимые случайные величины. + +% TODO: Какой индекс у \Sigma? +Условная энтропия $H(K/Y)$ называется \emph{неопределённостью шифра $\Sigma_B$ +по ключу}. Она измеряет среднее количество информации о ключе, которую даёт +криптограмма. Аналогично вводится \emph{неопределённость шифра по открытому +тексту $H(X/Y)$}. Эти величины являются мерой теоретической стойкости шифра. +Идеально является ситуация, когда $H(X/Y) = H(X)$. + +В этом случае шифр можно назвать \emph{идеальным} или \emph{совершенным}, то +есть такой шифр не даёт криптоаналитику никакой дополнительной информации об +открытом тексте при изучении перехваченной криптограммы. + +Связь между энтропиями компонент шифра даёт формула для неопределённости шифра +по ключу: $$H(K/Y) = H(X) + H(K) - H(Y)$$. diff --git a/cryptography/lectures/lecture9.tex b/cryptography/lectures/lecture9.tex index cb430f9..9fc9d8a 100644 --- a/cryptography/lectures/lecture9.tex +++ b/cryptography/lectures/lecture9.tex @@ -97,4 +97,8 @@ X_2 \cdot T^{\gamma_2 - \gamma_3} \cdot \dots T^{\gamma_{N - 1} - \gamma_N} Криптоанализ дисковых шифраторов является весьма сложной задачей. +\subsection{Шифры гаммирования} \textbf{TODO: Дописать} + +\paragraph{Шифр Виженера.} +\paragraph{Табличное гаммирование.} |