% Лекция 19 (03.03.23)

Все используемые в DES перестановки и подстановки известны. Неизвестен только
секретный 56-разрядный ключ $K$, принадлежащий пользователю. Таким образом, в
DES реализован идеал Керкхофса: о шифре известно всё, кроме ключа.

Для прямого взлома DES нужно перебрать $2^{56}$ возможных ключей.

В июле 1998 года, затратив более 250000 долларов, компания EFF предъявила
суперкомпьютер <<DES-взломщик>>, изготовленный с использованием 1536 чипов,
обеспечивавших проверку 28 миллиардов ключей в секунду. С его помощью 
контрольная DES-криптограмма была дешифрована за 56 часов.

В январе 1999 года, присоединив ещё 100000 объединённых в сеть персональных
компьютеров, EFF справилась с этой задачей уже за 22 часа.

В январе 2000 года правительство США признало алгоритм DES ненадёжным.


\subsection{AES}

В 1997 году NIST объявило открытый международный конкурс на новый шифр,
названный AES (Advanced Encryption Standard, Усовершенствованный стандарт
шифрования).

Требования к кандидатам на AES:
\begin{enumerate}
  \item Криптоалгоритм должен быть открыто опубликован.
  \item
    Он должен быть блочным шифром, допускающим размеры ключей --- 128, 192, 256
    битов.
  \item
    Криптоалгоритм должен быть предназначен как для аппаратной, так и для
    программной реализации.
  \item Криптоалгоритм не должен быть запатентован.
  \item
    Он должен быть подвергнут специальному изучению на стойкость, стоимость,
    скорость шифрования и на реализуемость в смарт-картах.
\end{enumerate}

%% Начало дополнительной информации
[Для каждого простого числа $p$ и натурального числа $n$ существует одно и с
точностью до изоморфизма только одно поле с количеством элементов $p^n$. Такое
поле принято обозначать в честь Э. Галуа через $GF(p^n)$. Любое конечное поле
является полем Галуа для подходящих $p$ и $n$. Поле $GF(p)$ --- это поле
вычетов $\Z_p$.

Элементы поля $GF(p^n)$ при $n > 1$ можно рассматривать как многочлены над
полем вычетов $\Z_p$. Для многочленов вводится понятие деления с остатком:
разделить многочлен $a(x)$ на многочлен $m(x)$ степени $n$ --- это значит
представить $a(x)$ в виде
\begin{equation*}
  a(x) = q(x) m(x) + r(x)
\end{equation*}
где степень многочлена $r(x)$ строго меньше $n$.

По аналогии с целыми числами вводится понятие сравнимости многочленов по модулю
заданного многочлена $m(x)$.

Роль полной системы вычетов по модулю многочлена $m(x)$ степени $n$ выполняет
множество всех возможных остатков от деления многочленов над $\Z_p$ на $m(x)$,
то есть это будет
\begin{equation*}
  \set{r(x) = r_0 + r_1 x + \dots + r_{n - 1} x^{n - 1}, r_0, r_1, \dots, r_{n -
  1} \in \Z_p}
\end{equation*}

Очевидно, что таких остатков имеется $p^n$. Множество вычетов по модулю
фиксированного многочлена $m(x)$ степени $n$ с операциями сложения и умножения
многочленов по модулю $m(x)$ образуют коммутативное кольцо.

Это кольцо будет полем тогда и только тогда, когда $m(x)$ неприводимый многочлен
над $\Z_p$, то  есть неразлагающийся на произведения многочленов меньших
степеней.]
%% Конец дополнительной информации
