% Лекция 12 (21.11.22) \subsection{Шифры, не распространяющие искажений} Помимо целенаправленных искажений передаваемой шифрованной информации возможны также искажения, происходящие за счёт наличия помех в канале связи. Такие помехи могут привести к искажениям или потере отдельных знаков используемого алфавита. Рассмотрим вопрос о свойствах шифра, позволяющих не распространять искажений при расшифровании. Ограничения рассмотрением эндотрофных шифров и искажений, которые либо заменяют знаки знаками того же алфавита (искажения типа <<замена знаков>>) либо приводят к потере знаков или появлению дополнительных знаков алфавита (искажения типа <<пропуск-вставка знаков>>). \subsubsection{Шифры, не распространяющие искажений типа <<замена знаков>>} Рассмотрим шифры, описываемые моделью $\Sigma_A = \set{X, K, Y, E, D}$, в которой $X = Y = \bigcup_{l = 1}^L A^l$, причём для любых $x \in X, k \in K$ длина $y = E_k(x)$ совпадает с длиной $x$. В данном случае искажения в канале связи --- это искажения типа <<замены>>: слово $(a_1, \dots, a_\lambda)$ искажается, то есть каждая буква $a_i$ может замениться на другую букву $a'_i$, где $a_i, a'_i \in A, i \in \overline{1, \lambda}$. Единственной мерой значительности последствий искажений типа <<замена знаков>> является метрика на множестве сообщений $X = Y$. Простейшей является \emph{метрика Хэмминга} $\mu$, определяемая формулой: \begin{equation*} \mu(x, y) = \sum_{i = 1}^\lambda \delta(x_i, y_i), \end{equation*} где $x = (x_1, \dots, x_\lambda),\, y = (y_1, \dots, y_\lambda) \in X,\, \delta(x_i, y_i) = \begin{cases} 1, &x_i \neq y_i \\ 0, &x_i = y_i \\ \end{cases}$ Говорят, что подстановочный шифр $\Sigma_\text{п} = (X, E)$ \emph{не распространяет искажений типа замены знаков}, если для любых $x, y \in A^\lambda, 1 \leq \lambda \leq L$, и любой подстановки $e \in E, e : X \to X$, выполняется неравенство $$\mu(e^{-1} x, e^{-1} y) \leq \mu(x, y).$$ Данное неравенство означает, что число искажений в расшифрованном тексте не превышает числа искажений в передаваемой криптограмме. % FIXME: Перенумеровать выражение и утверждение %% NOTE: Утверждение 4 \begin{statement} Шифр $\Sigma_\text{в}$ не распространяет искажений типа замены знаков тогда и только тогда, когда для любого $\lambda \in \overline{1, L}$, любых $x, y \in A^\lambda$ и любого $e \in E$ выполняется равенство \begin{equation*} \mu(e^{-1} x, e^{-1} y) \mu(x, y) \quad (9) \end{equation*} \end{statement} Подстановки $e \in E$, удовлетворяющие условию (9), называются \emph{изометриями} на $X$. Утверждение 4 показывает, что для шифров, не распространяющих искажений типа замены знаков множество $E$ состоит изометрией. % FIXME: Перенумеровать Введём два преобразования множества $X$: \begin{align*} &\prod_{f_1, \dots, f_\lambda} (a_1, \dots, a_\lambda) = (a_{j_1}, \dots a_{j_\lambda}), \quad (10) \\ &R(a_1, \dots, a_\lambda) = (R_1(a_1), \dots, R_\lambda(a_\lambda)), \quad (11) \end{align*} где $(j_1, \dots, j_\lambda)$ --- перестановка чисел $1, 2, \dots, \lambda$; $R_i \in S(A)$ --- некоторые фиксированные подстановки множества $A, a_i \in A,\, \lambda \in \overline{1, l}, i \in \overline{1, \lambda}$. %% NOTE: Теорема 3 \begin{theorem}[Марков А. А.] Биекция $e \in E$ является изометрией на $X$ тогда и только тогда, когда $e = R \cdot \prod_{f_1, \dots, f_\lambda}$ для подходящих преобразований, определённых формулами (10)--(11). \end{theorem} Согласно теореме Маркова А. А. в классе эндоморфных шифров, не изменяющих длины сообщений, не распространяют искажений типа замены знаков, например, шифры перестановки, поточные шифры однозначной замены, а также из композиции типа шифр замены --- шифр перестановки. \subsubsection{Шифры, не распространяющие искажений типа <<пропуск-вставка>> знаков} Рассмотрим также эндоморфные шифры. Рассмотрим искажения типа <<пропуск знаков>>, при этом исследование вопроса об искажениях типа <<вставка знаков>> производится аналогично. Искажение типа <<пропуск>> приводит к тому, что искажённый текст принадлежит $Y = X$ (при естественном условии, что искажение не приводит к полному <<уничтожению>> слова). Пусть $\varepsilon$ --- бинарное отношение на множестве $X$, определённое следующим образом. Пусть $a, a' \in X$, тогда $a \varepsilon a' \iff \exists j \in \overline{1, \lambda}: a = (a_1, \dots, a_\lambda), a\ = (a_1 , \dots, a_{j - 1}, a_{j + 1}, \dots, a_\lambda)$. Таким образом, слово $a$ находится в отношении $\varepsilon$ со словом $a'$, если $a'$ получается из $a$ вычёркиванием (пропаданием) одного какого-то знака (то есть одним искажением). Через $\varepsilon^k$ обозначим \emph{<<степень>>} отношения $\varepsilon$: \begin{equation*} a \varepsilon^k a' \iff \exists a_1, \dots a_{k - 1} \in X, a \varepsilon a_1, \dots, a_{k - 1} \varepsilon a'. \end{equation*} Таким образом, запись $a \varepsilon^k a'$ означает, что слово $a'$ получается из $a$ вычёркиванием $k$ букв, то есть $k$ искажениями. Говорят, что шифр $\Sigma_\text{п} = (X, E)$ \emph{не распространяет искажений} типа <<пропуск знаков>>, если для любых $x, y \in X$, любого $k$, меньшего длины слова $x$, а также любого $e \in E$ из условия $x \varepsilon^k y$ следует, что $(e^{-1} x) \varepsilon^k (e^{-1} y)$. Обозначим через $\pi_L: X \to X$, определённое для любого $a \in (a_1, \dots, a_\lambda) \in X$ формулой $$\pi_L(a_1, \dots, a_\lambda) = (\pi(a_1), \dots, \pi(a_\lambda)),$$ где $\pi$ --- некоторая подстановка множества $A$, а $f : X \to X$, меняющее порядок следования букв любого слова на противоположный: $f(a_1, \dots, a_\lambda) = (a_\lambda, \dots, a_1)$. %% NOTE: Теорема 4 \begin{theorem} Если $\Sigma_\text{п} = (X, E)$ --- шифр, не распространяющий искажений типа <<пропуск знаков>>, то для любого $e \in E$, либо $e = \pi_L$, либо $e = \pi_L \cdot f$ (при подходящем $\pi \in S(A)$). \end{theorem} Примерами шифров, не распространяющих искажений типа <<пропуск-вставка знаков>> являются, например, шифры простой замены или шифры простой замены, усложнённые перестановкой, осуществляющей изменение порядка следования знаков любого слова на противоположный. \section{Поточные шифры} \subsection{Принципы построения} \emph{Шифр} называется \emph{поточным}, если он осуществляет шифрование под одним блоком (открытого текста) с ключом, длина которого равна длине открытого текста. Наибольшее распространение получили шифры, осуществляющие побуквенное зашифрование с помощью некоторого множества подстановочных преобразований алфавита открытых сообщений, другими словами, эндоморфные поточные многоалфавитные шифры замены с множествами шифрвеличин и шифрообозначений, совпадающих с алфавитом открытых сообщений. Рассмотрим такие шифры. Пусть $A$ --- алфавит открытых сообщений, совпадающих с множествами шифрвеличин и шифробозначений, $\set{\varphi_\alpha : A \to A}$ --- совокупность из $r$ биекций множества $A$, $x = a_1 a_2 \dots a_l$ --- произвольный открытый текст, $k \in K$ --- выбранный ключ шифрования. Тогда правило шифрования $E_k(x)$ определяется формулой $E_k(x) = y$, где $y = b_1 b_2 \dots b_l$ и \begin{equation*} % FIXME: Перенумеровать b_j = \varphi_{\alpha_j^{(k)}} (a_j),\, j \in \overline{1, l}, \quad (12) \end{equation*}