From 7aba609bb3beb4164deeee46bb6e6ddad38a036e Mon Sep 17 00:00:00 2001
From: Andrew Guschin <guschin.drew@gmail.com>
Date: Tue, 25 Oct 2022 15:20:55 +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=81=D0=B5=D0=B4=D1=8C?=
 =?UTF-8?q?=D0=BC=D0=B0=D1=8F=20=D0=BB=D0=B5=D0=BA=D1=86=D0=B8=D1=8F=20?=
 =?UTF-8?q?=D0=BF=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/lectures/lecture7.tex | 210 +++++++++++++++++++------------------
 1 file changed, 108 insertions(+), 102 deletions(-)

(limited to 'cryptography/lectures/lecture7.tex')

diff --git a/cryptography/lectures/lecture7.tex b/cryptography/lectures/lecture7.tex
index bd17ef1..fda95b9 100644
--- a/cryptography/lectures/lecture7.tex
+++ b/cryptography/lectures/lecture7.tex
@@ -10,44 +10,43 @@
   \item
     Выявление шифробозначений, заменяющих гласные и согласные буквы.
 
-    Основано на характерных свойствах этих букв, например, удвоение
-    гласных в открытом тексте происходит реже, чем согласных.
-
+    Основано на характерных свойствах этих букв, например, удвоение гласных в
+    открытом тексте происходит реже, чем согласных.
   \item
     Выдвижение гипотез о значениях шифробозначений и их проверка.
 
     Восстановление истинных значений шифробозначений.
 
-    При этом учитывается, что каждая буква имеет предпочтительных
-    связей, которые составляют её наиболее характерную особенность.
+    При этом учитывается, что каждая буква имеет предпочтительных связей,
+    которые составляют её наиболее характерную особенность.
 
     Как правило, такие гипотезы подтверждаются не полностью.
 
-    Хорошим критерием при этом является "читаемость"
-    восстанавливаемого открытого текста.
+    Хорошим критерием при этом является <<читаемость>> восстанавливаемого
+    открытого текста.
 \end{enumerate}
 
 Приведём описание эвристического алгоритма дешифрования, основанного на идее
 Томаса Якобсена.
 \begin{enumerate}
   \item
-    Построить начальный вариант ключа \(k\) на основе сравнения частот
-    знаков криптограмм и открытого текста.
+    Построить начальный вариант ключа $k$ на основе сравнения частот знаков
+    криптограмм и открытого текста.
   \item
-    Положить $v = f(D_k(y))$, где \(f(t) = \sum_{i,j}|\Delta_{ij}(t) - b_{ij}|\)
-    --- "целевая функция", \(\Delta(t) = (\Delta_{ij}(t))_{n \times m}\) ---
-    матрица биграмм данного текста \(t\), \(n\) --- число букв алфавита. \(B =
-    (b_{ij})_{n \times m}\) --- эталонная матрица биграмм открытого текста.
-  \item Положить \(k' = k\).
+    Положить $v = f(D_k(y))$, где $f(t) = \sum_{i,j}|\Delta_{ij}(t) - b_{ij}|$
+    --- <<целевая функция>>, $\Delta(t) = (\Delta_{ij}(t))_{n \times m}$ ---
+    матрица биграмм данного текста $t$, $n$ --- число букв алфавита. $B =
+    (b_{ij})_{n \times m}$ --- эталонная матрица биграмм открытого текста.
+  \item Положить $k' = k$.
   \item
-    Поменять местами в нижней строке подстановки \(k'\) некоторую пару букв,
-    например, \(\alpha\) и \(\beta\).
-  \item Положить \(v' = f(D_{k'}(y))\).
-  \item Если \(v' < v\), то положить \(k = k', \, v' = v\) и перейти к 4).
+    Поменять местами в нижней строке подстановки $k'$ некоторую пару букв,
+    например, $\alpha$ и $\beta$.
+  \item Положить $v' = f(D_{k'}(y))$.
+  \item Если $v' < v$, то положить $k = k', \, v' = v$ и перейти к 4).
   \item Перейти к шагу 3).
 \end{enumerate}
 
-Алгоритм заканчивается, когда условие \(v' < v\) не выполняется в течение
+Алгоритм заканчивается, когда условие $v' < v$ не выполняется в течение
 некоторого числа итераций, например, 100.
 
 Если шифр простой замены не является однобуквенным, то при вскрытии криптограммы
@@ -59,9 +58,9 @@
 
 \begin{enumerate}
   \item
-    Длины повторений фрагментов и расстояния между ними должны быть
-    кратны значности шифра (\emph{значность шифра} --- количество знаков
-    (цифр или букв), образующих одно шифробозначений).
+    Длины повторений фрагментов и расстояния между ними должны быть кратны
+    значности шифра (\emph{значность шифра} --- количество знаков (цифр или
+    букв), образующих одно шифробозначений).
   \item
     Находя НОД этих чисел с большей вероятностью получается искомая значность.
   \item
@@ -118,100 +117,107 @@
 
 Изобретён американским математиком  Л. Хиллом в 1929 году.
 
-Пусть мощность алфавита равна \(m\).
-
-Каждой букве присваивается число, равное порядковому номеру алфавита, последней
-букве --- 0 (полная система вычетов по модулю \(m\)).
+Пусть мощность алфавита равна $m$. Каждой букве присваивается число, равное
+порядковому номеру алфавита, последней букве --- 0 (полная система вычетов по
+модулю $m$).
 
 / !!!ТАБЛИЦА С БУКВАМИ И ИХ НОМЕРАМИ /
 
-Пусть открытый текст разбивается на блоки длины \(n\). Шифрование осуществляется
-поблочно. Пусть \(\vec{x}\) --- вектор-строка длины \(n\) (над кольцом вычетов
-\(Z_m\)).
-
-Сообщение преобразуется из открытого текста заменой букв соответствующими
-числами.
-
-Рассмотрим кольцо \(Z_m\).
-
-Выбирается обратимая матрица \(A\) размерности \(n \times n\) над кольцом
-\(Z_m\) и вектор-строка \(\vec{a}\) размерности \(n\) над \(Z_m\).
-
-Шифрование осуществляется по формуле \(\vec{y} = \vec{x} A + \vec{a}\) (все
-действия осуществляются по модулю \(m\), то есть в кольце \(Z_m\)).
-
-Ключом шифра является пара \((A, \vec{a})\).
-
-Тогда дешифрование \(\vec{x} = (\vec{y} - \vec{a}) A^{-1}\).
-
-\emph{Пример}: Еду = \((6, 5, 20) = \vec{x}, m = 32, \vec{x} = (6, 5, -12)\)
-
-Матрица \(A = \begin{pmatrix}
-  1 & 1 & 1 \\
-  1 & 2 & 2 \\
-  1 & 2 & 3
-\end{pmatrix}\)
-
-Матрица \(A^{-1} = \begin{pmatrix}
-   2 & -1 &  0 \\
-  -1 &  2 & -1 \\
-   0 & -1 &  1
-\end{pmatrix}\)
-
-\(\vec{a} = (1, 8, -12)\)
-
-$$\vec{y} = \vec{x} A + \vec{a} = (6, 5, -12) \begin{pmatrix}
-   2 & -1 &  0 \\
-  -1 &  2 & -1 \\
-   0 & -1 &  1
-\end{pmatrix} + (1, 8, -12) = (-1, -8, -20) + (1, 8, -12) = (0, 0, 0) = \text{яяя}$$
-
-$$\vec{x} = (\vec{y} - \vec{a}) A^{-1} = (-1, -8, 12) \begin{pmatrix}
-   2 & -1 &  0 \\
-  -1 &  2 & -1 \\
-   0 & -1 &  1
-\end{pmatrix} = (6, 5, 20) = \text{еду}$$
-
-Для нахождения обратимых матриц над кольцом \(Z_m\) предложен следующий
+Пусть открытый текст разбивается на блоки длины $n$. Шифрование осуществляется
+поблочно. Пусть $\vec{x}$ --- вектор-строка длины $n$ (над кольцом
+вычетов $Z_m$). Сообщение преобразуется из открытого текста заменой букв
+соответствующими числами.
+
+Рассмотрим кольцо $Z_m$. Выбирается обратимая матрица $A$ размерности $n \times
+n$ над кольцом $Z_m$ и вектор-строка $\vec{a}$ размерности $n$ над $Z_m$.
+Шифрование осуществляется по формуле $\vec{y} = \vec{x} A + \vec{a}$ (все
+действия осуществляются по модулю $m$, то есть в кольце $Z_m$).
+
+Ключом шифра является пара $(A, \vec{a})$. Тогда дешифрование $\vec{x} =
+(\vec{y} - \vec{a}) A^{-1}$.
+
+\begin{example}
+  <<еду>> = $(6, 5, 20) = \vec{x}, m = 32, \vec{x} = (6, 5, -12)$
+
+  Матрица $A = \begin{pmatrix}
+    1 & 1 & 1 \\
+    1 & 2 & 2 \\
+    1 & 2 & 3
+  \end{pmatrix}$
+
+  Матрица $A^{-1} = \begin{pmatrix}
+     2 & -1 &  0 \\
+    -1 &  2 & -1 \\
+     0 & -1 &  1
+  \end{pmatrix}$
+
+  \begin{equation*}
+    \vec{a} = (1, 8, -12)
+  \end{equation*}
+
+  \begin{align*}
+    \vec{y} &= \vec{x} A + \vec{a} = \\
+            &= (6, 5, -12) \begin{pmatrix}
+                  2 & -1 &  0 \\
+                 -1 &  2 & -1 \\
+                  0 & -1 &  1
+               \end{pmatrix} + (1, 8, -12) = \\
+            &= (-1, -8, -20) + (1, 8, -12) = \\
+            &= (0, 0, 0) = \text{<<яяя>>}
+  \end{align*}
+
+  \begin{equation*}
+    \vec{x} = (\vec{y} - \vec{a}) A^{-1} = (-1, -8, 12) \begin{pmatrix}
+       2 & -1 &  0 \\
+      -1 &  2 & -1 \\
+       0 & -1 &  1
+    \end{pmatrix} = (6, 5, 20) = \text{<<еду>>}
+  \end{equation*}
+\end{example}
+
+
+Для нахождения обратимых матриц над кольцом $Z_m$ предложен следующий
 практический способ:
 \begin{enumerate}
   \item
-    Нужно взять произвольную нижнюю треугольную матрицу над \(Z_m\) с
+    Нужно взять произвольную нижнюю треугольную матрицу над $Z_m$ с
     определителем, равным 1 (для этого достаточно положить равными 1 все
     элементы главной диагонали).
-  \item Далее берётся верхняя треугольная матрица над \(Z_m\) с определителем, равным 1.
-  \item Перемножив эти матрица, получаем обратимую матрицу над кольцом \(Z_m\).
+  \item Далее берётся верхняя треугольная матрица над $Z_m$ с определителем, равным 1.
+  \item Перемножив эти матрица, получаем обратимую матрицу над кольцом $Z_m$.
 \end{enumerate}
 
-Пример:
-$$\begin{pmatrix}
-  1 & 0 & 0 \\
-  1 & 1 & 0 \\
-  1 & 1 & 1
-\end{pmatrix} \cdot
-\begin{pmatrix}
-  1 & 1 & 1 \\
-  0 & 1 & 1 \\
-  0 & 0 & 1
-\end{pmatrix} =
-\begin{pmatrix}
-  1 & 1 & 1 \\
-  1 & 2 & 2 \\
-  1 & 2 & 3
-\end{pmatrix}$$
-
-Особенно удобно для практического применения шифра Хилла, когда матрица \(A\)
-является \emph{инволютивной}, то есть \(A^{-1} = A\). Тогда \(\vec{x} = (\vec{y}
-- \vec{a}) A\).
+\begin{example}
+  \begin{equation*}
+    \begin{pmatrix}
+      1 & 0 & 0 \\
+      1 & 1 & 0 \\
+      1 & 1 & 1
+    \end{pmatrix} \cdot
+    \begin{pmatrix}
+      1 & 1 & 1 \\
+      0 & 1 & 1 \\
+      0 & 0 & 1
+    \end{pmatrix} =
+    \begin{pmatrix}
+      1 & 1 & 1 \\
+      1 & 2 & 2 \\
+      1 & 2 & 3
+    \end{pmatrix}
+  \end{equation*}
+\end{example}
+
+Особенно удобно для практического применения шифра Хилла, когда матрица $A$
+является \emph{инволютивной}, то есть $A^{-1} = A$. Тогда $\vec{x} = (\vec{y}
+- \vec{a}) A$.
 
 Как построить инволютивную матрицу?
-
 \begin{enumerate}
   \item
-    Пусть для заданных \(m\) и \(n\) имеется пара взаимнообратных матриц \(A\)
-    и \(A^{-1}\). Возьмём любую диагональную инволютивную матрицу \(I\) (можно
+    Пусть для заданных $m$ и $n$ имеется пара взаимнообратных матриц $A$
+    и $A^{-1}$. Возьмём любую диагональную инволютивную матрицу $I$ (можно
     просто выбрать элементы главной диагонали равными 1 и -1).
-  \item Тогда \(A I A^{-1}\) --- инволютивная матрица.
+  \item Тогда $A I A^{-1}$ --- инволютивная матрица.
 \end{enumerate}
 
 \begin{remark}
@@ -223,6 +229,6 @@ $$\begin{pmatrix}
 текста по известному тексту криптограмм.
 
 Однако свойство линейности является их криптографической слабостью, например,
-задача нахождения ключа является не слишком трудоёмкой, если известны \(n + 1\)
+задача нахождения ключа является не слишком трудоёмкой, если известны $n + 1$
 пар блоков открытого текста и соответствующих их блоков шифртекста, полученные
 на данном ключе.
-- 
cgit v1.2.3

