summaryrefslogtreecommitdiff
path: root/cryptography/lectures/lecture15.tex
diff options
context:
space:
mode:
authorAndrew Guschin <guschin.drew@gmail.com>2022-12-14 01:34:52 +0400
committerAndrew Guschin <guschin.drew@gmail.com>2022-12-14 01:37:56 +0400
commitd07c4227e4be97220a6f944c6d49161cadd438db (patch)
treebb6a697eb3e1d40690422aa923a848fc9edc4360 /cryptography/lectures/lecture15.tex
parentb57eb3b8db24a95d1d908bd5de4d2e1b5988c26a (diff)
Добавлены рисунки в 14 и 15 лекциях
Diffstat (limited to 'cryptography/lectures/lecture15.tex')
-rw-r--r--cryptography/lectures/lecture15.tex49
1 files changed, 34 insertions, 15 deletions
diff --git a/cryptography/lectures/lecture15.tex b/cryptography/lectures/lecture15.tex
index f7c93bf..ad5785e 100644
--- a/cryptography/lectures/lecture15.tex
+++ b/cryptography/lectures/lecture15.tex
@@ -35,11 +35,12 @@ $S_0 = 0, S_1 = 1, \dots S_{255} = 255$.
k_{255}$.
Счётчик $j$ устанавливается в 0. После этого производятся следующие действия:
-% TODO: оформить алгоритм
-for i = 0 to 255
- j = (j + k_i + S_i) \pmod{256}
- переставить $S_i$ и $S_j$.
-
+\begin{algorithm}
+ \For {$i = 0$ \to 255} {
+ $j = (j + k_i + S_i) \pmod{256}$\;
+ Переставить $S_i$ и $S_j$\;
+ }
+\end{algorithm}
\subsection{Методы анализа поточных шифров}
@@ -121,8 +122,11 @@ for i = 0 to 255
\paragraph{Сеть Фейстеля.}
Для построения алгоритмов часто используется \emph{Сеть Фейстеля} (см. рисунок).
-
-% TODO: Рисунок 1 (везде индексы i)
+\begin{figure}[H]
+ \centering
+ \includegraphics[width=0.8\textwidth]{lecture15/feistel}
+ \caption{Сеть Фейстеля}
+\end{figure}
Преобразование, реализуемое сетью Фейстеля в $i$-м цикле шифрования имеет вид
\begin{equation*}
@@ -164,8 +168,11 @@ RC5.
Обработка данных сводится в основном к заменам и перестановкам зависящим от
ключа $k_i$ (см. рисунок).
-
-% TODO: Рисунок 2
+\begin{figure}[H]
+ \centering
+ \includegraphics[width=0.6\textwidth]{lecture15/sp}
+ \caption{SP-сеть}
+\end{figure}
SP-сети являются гораздо менее распространёнными, чем сети Фейстеля. На их базе,
например, основаны алгоритмы шифрования Serpent, SAFER+.
@@ -203,9 +210,21 @@ S-боксы делятся на линейные и нелинейные. В л
В нелинейном S-боксе нельзя задать линейные соотношения для каждого выхода.
-Пример S-бокса представлен на рисунке, где первый бит входа определяет строку,
-два следующих бита входа определяют столбец.
-
-Два бита на выходе --- это значение на пересечении выбранных строки и столбца.
-
-% TODO: Рисунок 3
+Пример S-бокса представлен в таблице, где первый бит входа определяет строку,
+два следующих бита входа определяют столбец. Два бита на выходе --- это значение
+на пересечении выбранных строки и столбца.
+\begin{table}[H]
+ \centering
+ \begin{tabular}{|c|c|c|c|c|}
+ \cline{2-5}
+ \multicolumn{1}{c|}{} &
+ \textbf{00} & \textbf{01} & \textbf{10} & \textbf{11} \\ \hline
+ \textbf{0} & 00 & 01 & 10 & 11 \\ \hline
+ \textbf{1} & 00 & 01 & 10 & 11 \\ \hline
+ \end{tabular}
+ \caption{Пример S-блока}
+\end{table}
+
+\begin{example}
+ Вход --- 110; Выход --- 11.
+\end{example}