Криптоаналитик может быть: \begin{itemize} \item \emph{пассивным} --- пытается найти сообщение/ключ, которое А хочет передать Б исходя из криптограммы; \item \emph{активным} --- пытается активно манипулировать передаваемыми данными. \end{itemize} Различают 3 уровня криптоанализа: \begin{itemize} \item \emph{Атака только с шифротекстом} --- криптоаналитику известен только отрывок шифротекста, часто известен контекст сообщения; \item \emph{Метод тотального опробывания} --- происходит случайное опробывание ключей, при этом при каждом опробуемом ключе проводится расшифрование криптограммы и проверка полученного текста на принадлежность допустимых текстов; \item \emph{Атака с известным открытым текстом} --- известен отрывок шифротекста и соответствующий открытый текст, если система безопасна относительно атак такого рода, легитимный получатель не обязан уничтожать расшифрованное сообщение; \item \emph{Атака с выбранным открытым текстом} --- криптоаналитик может выбрать любой открытый текст и сгенерировать соответствующий шифротекст. \end{itemize} В теории криптологии выделяется три периода: \begin{itemize} \item Интуитивная, донаучная криптология, \item Научная криптография \item Компьютерная криптография \end{itemize} Основные правила криптологии: \begin{itemize} \item Нельзя недооценивать противника; \item О степени надёжности шифра может судить только криптоаналитик; \item При оценке надёжности шифра следует допускать, что противнику известно о нём всё, кроме ключа; \item Внешняя сложность шифра может быть иллюзией: она вселяет в криптографа обманчивое впечатление безопасности \item При оценке надёжности шифра следует учитывать возможные ошибки в шифровании и другие нарушения в шифровальной дисциплине. \end{itemize} \subsection{Алгебраические структуры} Пусть $a$ и $n$ --- натуральные числа. $a \divby n$ с остатком $r$, если $\exists q \in \Z : a = qn + r$. $a$ и $b$ сравнимы по модулю $n$, если их остатки при делении на $n$ совпадают. Обозначим $a \equiv b \pmod{n}$ $\implies$ $n$ делит разность $a$ и $b$. Множество целых чисел $a_0, \dots, a_{n - 1} : \forall B \in Z \, \exists k \in \set{0, \dots, n - 1}$ со свойством $a_k \equiv b \pmod{n}$, называется полной системой вычетов по модулю $n$. Если $a$ и $n$ взаимно просты, то $\exists a' : a \cdot a' \equiv 1 \pmod{n}$. $a'$ называется обратным к $a$ по модулю $n$ и обозначается $a^{-1} \pmod{n}$. Множество элементов $G$ с заданной на нём бинарной операцией <<$\cdot$>> называется \emph{группой}, если выполняется три условия: \begin{enumerate} \item операция <<\cdot>> ассоциативна, то есть $\forall a, b, c \in G : a \cdot (b \cdot c) = (a \cdot b) \cdot c$, \item $\exists e \in G : \forall g \in G$ выполняется равенство $g \cdot e = e \cdot g = g$ (нейтральный элемент группы), \item $\forall g \in G \, \exists g' \in G : g \cdot g' = g' \cdot g = e$ (обратный элемент к $g$, обозначается $g' = g^{-1}$). \end{enumerate} В группе $G$ нейтральный элемент и элемент, обратный к элементу $g$, определён однозначно. Если группа удовлетворяет аксиоме $a \cdot b = b \cdot a$, то группа называется \emph{абелевой} (или \emph{коммутативной}).