diff options
| author | Andrew Guschin <guschin.drew@gmail.com> | 2023-04-02 19:06:38 +0400 |
|---|---|---|
| committer | Andrew Guschin <guschin.drew@gmail.com> | 2023-04-02 19:06:38 +0400 |
| commit | 95eca38f113413c68759cfa4afed8455b27df116 (patch) | |
| tree | 323c963000c99107c687dc6d9f8bd8872e9ea48a /cryptography/lectures/lecture17.tex | |
| parent | 9cb86163437b86bb1c2a059eff5bb32b7a29082e (diff) | |
Добавлены исправления в лекции до контрольной и добавлена 23 лекция.
Diffstat (limited to 'cryptography/lectures/lecture17.tex')
| -rw-r--r-- | cryptography/lectures/lecture17.tex | 31 |
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: что? Аналогичная ситуация возникает в случае, когда криптоаналитику удаётся получить результат зашифрования некоторого сообщения на разных ключах с - дополнительной информацией о различных использованных ключей. + дополнительной информацией о различных использованных ключах. Блочные шифры редко используются в режиме простой замены для шифрования длинных сообщений. |