From 6346c39c3b4349f3381172d7300bb985212b8f98 Mon Sep 17 00:00:00 2001 From: Andrew Guschin Date: Tue, 25 Oct 2022 13:50:08 +0400 Subject: =?UTF-8?q?=D0=94=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82=20?= =?UTF-8?q?=D0=BF=D0=BE=20=D0=BA=D1=80=D0=B8=D0=BF=D1=82=D0=BE=D0=B3=D1=80?= =?UTF-8?q?=D0=B0=D1=84=D0=B8=D0=B8=20=D1=80=D0=B0=D0=B7=D0=B4=D0=B5=D0=BB?= =?UTF-8?q?=D1=91=D0=BD=20=D0=BD=D0=B0=20=D0=BB=D0=B5=D0=BA=D1=86=D0=B8?= =?UTF-8?q?=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cryptography/lectures/lecture6.tex | 165 +++++++++++++++++++++++++++++++++++++ 1 file changed, 165 insertions(+) create mode 100644 cryptography/lectures/lecture6.tex (limited to 'cryptography/lectures/lecture6.tex') diff --git a/cryptography/lectures/lecture6.tex b/cryptography/lectures/lecture6.tex new file mode 100644 index 0000000..54d51b8 --- /dev/null +++ b/cryptography/lectures/lecture6.tex @@ -0,0 +1,165 @@ +% Лекция 6 (10.10.22) + +палец -> ЕПЦЛА +волна -> НВАЛО +Ключ: 41532 + +Если предположить, что две конкретные буквы в одном из сообщений идут один +за другой в открытом тексте, то буквы, стоящие на тех же местах в каждом из +остальных сообщений, соединяются подобным же образом. + +Значит, они могут служить проверкой правильности первого предположения. + +К каждому из указанных двубуквенных сочетаний можно добавить третью букву +для образования триграммы и так далее. + +Если располагать не менее чем 4 сообщениями одинаковой длины, то можно с +уверенностью гарантировать их вскрытие подобным образом. + +Если ключ зашифрования совпадает с ключом расшифрования, то такие шифры называют +\emph{симметричными}, иначе --- \emph{асимметричными}. + +\subsection{(1.6) Шифры простой замены} + +\subsubsection{(1) \emph{Шифр замены}} + +\emph{Шифр замены} --- шифр, при котором фрагменты открытого текста (отдельные +буквы или группы букв) заменяются некоторыми их эквивалентами в криптограмме. + +Определим модель \(\Sigma_A = (X, K, Y, E, D)\) произвольного шифра замены. + +Будем считать, что открытые и шифрованные тексты являются словами в алфавитах A +и B соответственно. \(X \subset A^*, \, Y \subset B^*, \, |A| = n, \, |B| = m\). + +Перед зашифрованием открытый текст предварительно представляется в виде +последовательностей подслов, называемых \emph{шифровеличинами} (слова из +\(A^*\)). + +При зашифровании шифрвеличины заменяются некоторыми их эквивалентами в +шифртексте, которые называются \emph{шифробозначениями} (слова из \(B^*\)). + +Пусть +\(U = (u_1, \dots, u_N)\) --- множество возможных шифрвеличин. +\(V = (v_1, \dots, v_N)\) --- множество возможных шифробозначений. +При этом \(N \geq n, \, M \geq m, \, M \geq N\). + +Для определения правила зашифрования \(E_k(x)\) в общем случае понадобится ряд +обозначений и понятие \emph{распределителя}, который, по сути, и будет выбирать +в каждом такте шифрования замену соответствующей шифровеличине. + +Поскольку \(M \geq N\), множество \(V\) можно представить в виде объединения \(V += \cup_{i = 1}^{N} V^{(i)}\) непересекающихся непустых подмножеств \(V^{(i)}\). + +Рассмотрим произвольное семейство, состоящее из \(r\) таких разбиений множества +\(V\): $$V = \cup_{i = 1}^{N} V^{(i)}_\alpha, \, \alpha = \overline{1, r}, \, +r \in N,$$ и соответствующее семейство биекций: $$\varphi_\alpha : U \to \{ +V^{(1)}_\alpha, \dots, V^{(N)}_\alpha \},$$ для которых \(\varphi_\alpha (u_i) = +V^{(i)}_\alpha, \, i = \overline{1, N}\). + +Рассмотрим также произвольное отображение \(\psi : K \times \mathbb{N} \to +\mathbb{N}^*_r\), где \(\mathbb{N}_r = \{ 1, 2, \dots, r \}\), такое, что для +любых \(k \in K, \, l \in \mathbb{N}\) $$\psi(k, l) = a^{(k)}_1 \dots a^{(k)}_l, +\, a^{(k)}_j \in \mathbb{N}_r, \, j = \overline{1, l}$$ + +Последовательность \(\psi(k, l)\) называется \emph{распределителем}, отвечающим +данным значениям \(k \in K,\, l \in \mathbb{N}\). + +Теперь можно определить правило зашифрования произвольного шифра замены. Пусть +$$x \in X, x = x_1 \dots x_l, x_i \in U, i = \overline{1, l}, k \in K, \quad +\psi(k, l) = a^{(k)}_1 \dots a^{(k)}_l$$ + +Тогда \(E_k(x) = y\), где \(y = y_1 \dots y_l, y_j \in +\varphi_{\alpha^{(k)}}(x_j), j = \overline{1, l} \quad (1) !!!\). + +В качестве \(y_j\) можно выбрать любой элемент множества +\(\varphi_{\alpha^{(k)}}(x_j)\). + +Всякий раз при шифровании этот выбор можно производить случайно, например, с +помощью некоторого \emph{рандомизатора} типа игровой рулетки. + +Для однозначных шифров замены, у которых правило дешифрования \(E_k(x)\) +является однозначной функцией, например, шифр гаммирования, справедливо свойство +$$\forall \alpha, i : |V^{(i)}_\alpha| = 1$$ для многозначных шифров замены, +например, шифров пропорциональной замены: $$\exists \alpha, i : |V^{(i)}_\alpha| +> 1$$ + +Далее будем заниматься в основном изучением однозначных замен, получивших +наибольшее практическое применение. + +Итак, далее \(M = N\) и \(\varphi_\alpha(u_i) = v^{(i)}_\alpha, i = \overline{1, +M}\). + +Для шифра однозначной замены определение правила зашифрования можно +уточнить в формуле (1) включение следует заменить равенством $$y_j = +\varphi_{\alpha_j^{(k)}} (x_j), j = \overline{1, l} \quad (1')$$ + +Если для некоторого числа \(q \in N\) выполняются включения \(v_i \in B^q, i += \overline{1, N}\), то соответствующий шифр замены называется \emph{шифром +равнозначной замены}, в противном случае --- \emph{шифром разнозначной замены}. + +В подавляющем большинстве случаев используются шифры замены, для которых \(U \in +A^p\) для некоторого \(p \in \mathbb{N}\). + +При \(p = 1\) говорят о \emph{поточных шифрах замены}, при \(p > 1\) --- о +\emph{блочных шифрах замены}. + +В случае \(r = 1\) шифр замены называют \emph{одноалфавитным шифром замены} +или \emph{шифром простой замены}. В противном случае --- \emph{многоалфавитным +шифром замены}. + +\subsubsection{(2) Одноалфавитные однозначные замены называются \emph{шифрами простой замены}.} + +Введём шифр простой замены в алфавите \(A\). + +Пусть \(X = Y = \cup_{i = 1}^L A^i, \, K \subseteq S(A)\), где \(S(A)\) --- +симметрическая группа подстановок множества \(A\). + +Для любого ключа \(k \in K\), открытого текста \(x = (x_1, \dots, x_l)\) +и шифрованного текста \(y = (y_1, \dots, y_i)\) правила зашифрования и +расшифрования шифра простой замены в алфавите \(A\) определяются формулами: +\begin{align*} + E_k(x) &= (k(x_1), \dots, k(x_1)), \\ + D_k(x) &= (k^{-1}(y_1), \dots, k^{-1}(y_1)), +\end{align*} +где \(k^{-1}\) --- подстановка, обратная к \(k\). + +Например, в рассказе Артура Конана Дойля "Пляшущие человечки", бандит Аб Слени +использовал шифр, где заменялись схематическими человеческими фигурками в разных +позах, при этом каждая поза этих человечков является отдельной буквой. + +\subsubsection{(3) Лозунговый шифр} + +При этом методе осуществляется посимвольная замена букв открытого текста на +буквы шифроалфавита, который совпадает с алфавитом открытых текстов. + +В первой строке шифровальной таблицы записывается алфавит языка открытых +текстов. + +Во второй, начиная с некоторого места записывается лозунг (пароль). + +Затем на оставшихся местах второй строки, начиная с места следующего за паролем, +записывается полный алфавит с пропуском тех букв, которые встречаются в пароле. + +Закончив движение по строке, возвращаемся в её начало, процесс продолжается. + +\emph{ПРИМЕР!!!} + +\subsubsection{(4) Шифр простой неравнозначной замены} + +Пример --- шифр Марк. + +\emph{ПРИМЕР!!!} + +Буквы, стоящие во второй строке таблицы при шифровании заменяются стоящими над +ними, остальные буквы --- двузначными числами "строка-столбец". + +\subsubsection{(5) Анализ шифров простой замены} + +(а) Методы вскрытия шифра простой однобуквенной замены. + +(а) Методы вскрытия шифра простой однобуквенной замены основан на том, что с +точностью до переобозначений частотные характеристики $m$-грамм криптограммы и +открытого текста одинаковы. + +При этом используются частотные характеристики предполагаемого открытого текста, +полученные с учётом "характера переписки". -- cgit v1.2.3