% Лекция 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_p}$, а $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
    незначительное изменение ключа (сообщения?) должно приводить к существенному
    изменению вида зашифрованного сообщения даже при использовании одного и того
    же ключа;
  \item структурные элементы алгоритма шифрования должны быть неизменными;
  \item
    дополнительные биты, вводимые в сообщение в процессе шифрования, должны
    быть полностью и надёжно скрыты в шифрованном тексте;
  \item длина шифрованного текста должна быть равной длине исходного текста;
  \item
    не должно быть простых и легко устанавливаемых зависимостью между ключами,
    последовательно используемыми в процессе шифрования;
  \item
    любой ключ из множества возможных должен обеспечивать надёжную защиту
    информации;
  \item
    алгоритм должен допускать как программную, так и аппаратную реализацию,
    при этом изменение длины ключа не должно вести к качественному ухудшению
    алгоритма шифрования.
\end{enumerate}
