summaryrefslogtreecommitdiff
path: root/cryptography/lectures/lecture17.tex
diff options
context:
space:
mode:
authorAndrew Guschin <guschin.drew@gmail.com>2023-04-02 19:06:38 +0400
committerAndrew Guschin <guschin.drew@gmail.com>2023-04-02 19:06:38 +0400
commit95eca38f113413c68759cfa4afed8455b27df116 (patch)
tree323c963000c99107c687dc6d9f8bd8872e9ea48a /cryptography/lectures/lecture17.tex
parent9cb86163437b86bb1c2a059eff5bb32b7a29082e (diff)
Добавлены исправления в лекции до контрольной и добавлена 23 лекция.
Diffstat (limited to 'cryptography/lectures/lecture17.tex')
-rw-r--r--cryptography/lectures/lecture17.tex31
1 files changed, 11 insertions, 20 deletions
diff --git a/cryptography/lectures/lecture17.tex b/cryptography/lectures/lecture17.tex
index 2687455..1ce6a4e 100644
--- a/cryptography/lectures/lecture17.tex
+++ b/cryptography/lectures/lecture17.tex
@@ -23,7 +23,7 @@
\end{itemize}
и заданы функции шифрующего автомата
\begin{itemize}
- \item $x \to K \to S$, называется \emph{функцией инициализации};
+ \item $z : K \to S$, называется \emph{функцией инициализации};
\item $g : S \times K \times X \to K$ --- функцией обновления ключа;
\item $h : S \times K \times X \to S$ --- функцией переходов;
\item $f : S \times K \times X \to Y$ --- функцией выходов.
@@ -40,9 +40,10 @@
Блочный шифр в режиме CFB-m моделируется моноключевым шифрующим автоматом
$A_\text{CFB}^m = (X, S, Y, K, z, h, f_m)$, где $X = Y = V_m, S = V_{2n}, z =
-s1$ --- не зависящая от ключа $k$ синхропосылка, а функции $f_m$ и $h$ имеют вид
+s_1$ --- не зависящая от ключа $k$ синхропосылка, а функции $f_m$ и $h$ имеют
+вид
\begin{align*}
- f_m &= (s_t, k, x_t) = y_t = v^m(E_k(s_t)) \oplus x_t; \\
+ f_m(s_t, k, x_t) &= y_t = v^m(E_k(s_t)) \oplus x_t; \\
h(s_t, k, x_t) &= s_{t + 1} = (w^m(s_t), y_t), t = 1, 2, \dots
\end{align*}
@@ -87,7 +88,7 @@ s1$ --- не зависящая от ключа $k$ синхропосылка,
Y, K, z, h, f_m)$, где $X = Y = V_m, S = V_{2n}, z = s_1$ --- не зависящая от
ключа $k$ синхропосылка, а функции выходов $f_m$ и переходов $h$ имеют вид
\begin{align*}
- f_m &= (s_t, k, x_t) = y_t = v^m(E_k(s_t)) \oplus x_t; \\
+ f_m(s_t, k, x_t) &= y_t = v^m(E_k(s_t)) \oplus x_t; \\
h(s_t, k) &= s_{t + 1} = (w^m(s_t), v^m(E_k(s_t))), t = 1, 2, \dots
\end{align*}
@@ -118,14 +119,14 @@ Y, K, z, h, f_m)$, где $X = Y = V_m, S = V_{2n}, z = s_1$ --- не завис
\begin{enumerate}
\item
Серьёзным недостатком режима простой замены является то, что зашифрование
- одинаковых блоков исходного текста даёт идентичных блоки шифротекста.
+ одинаковых блоков исходного текста даёт идентичные блоки шифротекста.
В результате криптоаналитик лишь на основе шифрованных данных может делать
выводы о свойствах исходного текста.
Если некоторые блоки открытого текста повторились, то во всех зашифрованных
- сообщениях сообщениях, независимо от используемых ключей, на одинаковых
- местах будут встречаться повторяющиеся блоки шифрованных текстов.
+ сообщениях, независимо от используемых ключей, на одинаковых местах будут
+ встречаться повторяющиеся блоки шифрованных текстов.
Другой пример --- передача ключей в зашифрованном виде по линиям связи.
\item
@@ -160,7 +161,7 @@ Y, K, z, h, f_m)$, где $X = Y = V_m, S = V_{2n}, z = s_1$ --- не завис
дополнительные возможности.
\item
С помощью метода встречи посередине, Р. Меркель и М. Хеллман показали, как
- можно схему двукратного шифрования.
+ можно вскрыть схему двукратного шифрования.
Предположим, что известны блок $M$ открытого текста и соответствующий ему
блок $C$ шифрованного текста. Алгоритм вскрытия неизвестных ключей $k_1$ и
@@ -170,17 +171,6 @@ Y, K, z, h, f_m)$, где $X = Y = V_m, S = V_{2n}, z = s_1$ --- не завис
варианта $k$ ключа $k_1$ вычисляются значения $A(k) = E_k(M)$, после чего
значения $k$ помещаются в память по адресу $A(k)$.
- На втором этапе опробуются
-
- \item
- Предположим, что известны блок $M$ открытого текста и соответствующий ему
- блок $C$ шифрованного текста. Алгоритм вскрытия неизвестных ключей $k_1$ и
- $k_2$ состоит из двух этапов.
-
- На первом этапе перебираются все возможные варианты ключа $k_1$. Для каждого
- варианта $k$ ключа $k_1$ вычисляются значения $A(k) = E_k(M)$, после чего
- значения $k$ помещаются в память по адресу $A(k)$.
-
На втором этапе опробуются возможные варианты ключа $k_2$. Для опробуемого
варианту $k'$ ключа $k_2$ вычисляются значения $A(k') = D_{k'}(C)$ и
производится обращение в память по адресу $A(k')$. Если по этому адресу
@@ -229,9 +219,10 @@ Y, K, z, h, f_m)$, где $X = Y = V_m, S = V_{2n}, z = s_1$ --- не завис
построении алгебраических и статистических методов вскрытия ключей алгоритма
шифрования.
+ % TODO: что?
Аналогичная ситуация возникает в случае, когда криптоаналитику удаётся
получить результат зашифрования некоторого сообщения на разных ключах с
- дополнительной информацией о различных использованных ключей.
+ дополнительной информацией о различных использованных ключах.
Блочные шифры редко используются в режиме простой замены для шифрования
длинных сообщений.