% Лекция 4 (26.09.22) \subsubsection{Критерий распознавания открытого текста} \paragraph{} Открытый текст представляет собой реализацию независимых испытаний случайной величины, значениями которой являются буквы алфавита $A = \{a_1, a_2, \dots, a_n\}$, появляющиеся в соответствии с распределением вероятностей $P(A) = (p(a_1), p(a_2), \dots, p(a_n))$. Требуется определить, является ли случайная последовательность $c_1 c_2 \dots c_l$ букв алфавита $A$ открытым текстом или нет. Пусть $H_0$ --- гипотеза, состоящая в том, что данная последовательность --- открытый текст, $H_1$ --- альтернативная гипотеза. В простейшем случае при гипотезе $H_1$ последовательность $c_1 c_2 \dots c_l$ можно рассматривать как случайную и равносильную, то есть при расшифровании криптограммы с помощью ложного ключа получается <<бессмысленная>> последовательность знаков. В более общем случае можно считать, что при гипотезе $H_1$ последовательность $c_1 c_2 \dots c_l$ представляет собой реализацию независимых испытаний некоторой случайной величины, значениями которой являются буквы алфавита $A = \{ a_1, \dots, a_n \}$, появляющиеся в соответствии с распределением вероятностей $Q(A) = (q(a_1), \dots, q(a_n))$. При таких договорённостях можно применить, например, \emph{наиболее мощный критерий} различения двух простых гипотез, который даёт \emph{лемма Неймана-Пирсона}. В силу своего вероятностного характера такой критерий может совершать ошибки двух родов: \begin{enumerate} \item Критерий может принять открытый текст за случайный набор знаков. Такая ошибка называется \emph{ошибкой первого рода}, её вероятность равна $\alpha = p(H_1/H_0)$; \item Критерий может принять случайный набор знаков за открытый текст. Такая ошибка называется \emph{ошибкой второго рода} и её вероятность $\beta = p(H_0/H_1)$. \end{enumerate} Эти ошибки определяют качество работы критерия. В криптографических исследованиях естественно минимизировать вероятность ошибки первого рода, чтобы не <<пропустить>> открытый текст. Лемма Неймана-Пирсона при заданной вероятности первого рода минимизирует также вероятность ошибки второго рода. \paragraph{} Критерии на открытый текст, использующие запретные сочетания знаков, например, $k$-граммы подряд идущих букв, называются \emph{критериями запретных $k$-грамм}. Отбирается некоторое число $s$ редких $k$-грамм, которые объявляются запретными. Теперь, просматривая последовательно $k$-грамму за $k$-граммой анализируемой последовательности $c_1 c_2 \dots c_l$, она объявляется случайной, как только в ней встретится одна из запретных k-грамм, и открытым текстом в противном случае. Такие критерии также могут совершить ошибки в принятии решения. В простейших случаях их можно рассчитать. Несмотря на свою простоту, критерии запретных $k$-грамм являются весьма эффективными. \subsection{Математические модели шифров} \subsubsection{Алгебраическая модель шифра} Введём алгебраическую модель шифра (шифрсистемы), предложенную К.~Шенноном. Пусть $X, K, Y$ --- конечные множества возможных открытых текстов, ключей и криптограмм соответственно; $E_k : X \to Y$ --- правило зашифрования на ключе $k \in K$. Множество $\{ E_k : k \in K \}$ обозначим через $E$, а множество $\{ E_k(x) : x \in X \}$ --- через $E_k(X)$. Пусть $D_k : E_k(X) \to X$ --- правило расшифрования на ключе $k \in K$, и $D$ --- множество $\{ D_k : k \in K \}$. Если ключ $k \in K$ представляется в виде $k = (k_o, k_p)$, где $k_o$ --- ключ зашифрования, а $k_p$ --- ключ расшифрования (причём $k_o \neq k_p$), то $E_k$ понимается как функция $E_{k_o}$, а $D_k$ --- как функция $D_{k_p}$. \emph{Шифром (шифрсистемой)} называется совокупность $$\sum_A = (X, K, Y, E, D)$$ введённых множеств, для которых выполняются следующие свойства: \begin{enumerate} \item Для любых $x \in X$ и $k \in K$ выполняется равенство $D_k(E_k(x)) = x$; \item $Y = \cup_{k \in K} E_k(X)$. \end{enumerate} Неформально, шифр --- это совокупность множеств возможных открытых текстов (то, что шифруется), возможных ключей (то, с помощью чего шифруется), возможных шифртекстов (то, во что шифруется), правил зашифрования и правил расшифрования. Условие (1) отвечает требованию однозначности расшифрования. Из условия (1) следует свойство инъективности функции $E_k$: если $x_1, x_2 \in X$, причём $x_1 \neq x_2$, то при любых $k \in K$ выполняется неравенство $E_k(x_1) \neq E_k(x_2)$. Условие (2) означает, что любой элемент $y \in Y$ может быть представлен в виде $E_k(x)$ для подходящих элементов $x \in X$ и $k \in K$. В общем случае утверждение <<для любых $k \in K$ и $y \in E_k(X)$ выполняется равенство $E_k(D_k(y)) = y$>> является неверным. Реальный шифр отождествляется с его математической моделью $\sum_A$, которая называется \emph{алгебраической моделью шифра}. \subsubsection{Вероятностная модель шифра} Следуя К.~Шеннону, введём априорные распределения вероятностей $P(X)$ и $P(K)$ на множестве $X$ и $K$ соответственно. Для любого $x \in X$ определена вероятность $p_X(x) \in P(X)$ и для любого $k \in K$ --- вероятность $p_K(k) \in P(K)$, причём выполняются равенства $$\sum_{x \in X} p_X(x) = 1 \, \land \, \sum_{k \in K} p_K(k) = 1$$ В тех случаях, когда требуется знание распределений $P(X)$ и $P(K)$, используется вероятностная модель $\Sigma_B$, состоящая из пяти множеств, связанных условиями (1) и (2) определения шифра и двух вероятностных распределений: $$\Sigma_B = (X, K, Y, E, D, P(X), P(K))$$ Вероятностные характеристики шифров используются только в криптоанализе. В большинстве случаев множества $X$ и $Y$ представляют собой объединения декартовых степеней некоторых множеств $A$ и $B$ соответственно, так что для некоторых натуральных $L$ и $L_1$: $$X = \cup_{L = 1}^L A^l \, \land \, Y = \cup_{L = 1}^{L_1} B^l$$ Множества $A$ и $B$ называются соответственно \emph{алфавитом открытого текста} и \emph{алфавитом шифрованного текста}. \subsubsection{Основные требования к шифрам} Для современных криптографических систем защиты информации сформулированы следующие общепринятые требования: \begin{enumerate} \item зашифрованное сообщение должно поддаваться чтению только при наличии ключа; \item число операций, необходимых для определения использованного ключа шифрования по фрагменту шифрованного сообщения и соответствующего ему открытого текста, должно быть не меньше общего числа возможных ключей; \item число операций, необходимых для расшифровывания информации путём перебора всевозможных ключей должно иметь строгую нижнюю оценку и выходить за пределы возможностей современных компьютеров (с учётом возможности использования сетевых вычислений); \item знание алгоритма шифрования не должно влиять на надёжность защиты; \item незначительное изменение сообщения\footnote{в оригинале <<ключа>>, но это, скорее всего, неправильно} должно приводить к существенному изменению вида зашифрованного сообщения даже при использовании одного и того же ключа; \item структурные элементы алгоритма шифрования должны быть неизменными; \item дополнительные биты, вводимые в сообщение в процессе шифрования, должны быть полностью и надёжно скрыты в шифрованном тексте; \item длина шифрованного текста должна быть равной длине исходного текста; \item не должно быть простых и легко устанавливаемых зависимостью между ключами, последовательно используемыми в процессе шифрования; \item любой ключ из множества возможных должен обеспечивать надёжную защиту информации; \item алгоритм должен допускать как программную, так и аппаратную реализацию, при этом изменение длины ключа не должно вести к качественному ухудшению алгоритма шифрования. \end{enumerate}