From 6346c39c3b4349f3381172d7300bb985212b8f98 Mon Sep 17 00:00:00 2001 From: Andrew Guschin Date: Tue, 25 Oct 2022 13:50:08 +0400 Subject: =?UTF-8?q?=D0=94=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82=20?= =?UTF-8?q?=D0=BF=D0=BE=20=D0=BA=D1=80=D0=B8=D0=BF=D1=82=D0=BE=D0=B3=D1=80?= =?UTF-8?q?=D0=B0=D1=84=D0=B8=D0=B8=20=D1=80=D0=B0=D0=B7=D0=B4=D0=B5=D0=BB?= =?UTF-8?q?=D1=91=D0=BD=20=D0=BD=D0=B0=20=D0=BB=D0=B5=D0=BA=D1=86=D0=B8?= =?UTF-8?q?=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cryptography/lectures/lecture5.tex | 187 +++++++++++++++++++++++++++++++++++++ 1 file changed, 187 insertions(+) create mode 100644 cryptography/lectures/lecture5.tex (limited to 'cryptography/lectures/lecture5.tex') diff --git a/cryptography/lectures/lecture5.tex b/cryptography/lectures/lecture5.tex new file mode 100644 index 0000000..8e42a0c --- /dev/null +++ b/cryptography/lectures/lecture5.tex @@ -0,0 +1,187 @@ +% Лекция 5 (03.10.22) +\subsection{(1.5) Шифры перестановки} + +\subsubsection{(1) \emph{Определение}} + +Шифр перестановки --- шифр, при котором буквы открытого текста при шифровании +меняются друг с другом. Ключи шифра является перестановка номеров букв открытого +текста. + +Множество всех подстановок на множестве \(M\) называют любое биективное +отображение множества \(M\) в себя. Множество всех подстановок на множестве +\(M\) обозначают через \(S(M)\). Множество \(S(M)\) относительно операции +суперпозиции отображения образует группу. + +Если \(M\) --- конечное множество мощности \(n\), то говорят, что \(S(M)\) --- +симметрическая группа подстановок степени \(n\). + +Группа \(S(M)\) является коммутативной только в случае \(n \leq 2\). + +Перенумеровав элементы множества \(M\) некоторым фиксированным образом \(M = \{ +x_1, x_2, \dots, x_n \}\) и отождествив элементы \(x_i\) с их номерами \(i\), +вместо группы \(S(M)\) можно рассматривать группу \(S(\Omega)\), где \(\Omega = +\{ 1, 2, \dots, n \}\). Обычно группа \(S(\Omega)\) обозначают через \(S_n\). + +Любая подгруппа \(G\) группы \(S_n\) называется \emph{группой подстановок} +степени \(n\). + +Пусть \(X = Y = A^L\) и пусть \(K \subset S_L\). Для любого ключа \(k\), +открытого текста \(x = (x_1, \dots, x_L)\) и шифрованного текста \(y = (y_1, +\dots, y_L)\) правила зашифрования и расшифрования \emph{шифра перестановки} +определяется формулами $$ E_k(x) = (x_{k(1)}, \dots, x_{k(L)}), \, D_k(y) += (y_{k^{-1}(1)}, \dots, y_{k^{-1}(L)}) $$ где \(k^{-1}\) --- подстановка, +обратная к \(k\). + +\subsubsection{(2) Маршрутные перестановки} + +Широкое применение получили так называемые \emph{маршрутные перестановки}, +основанные на некоторой геометрической фигуре. + +Отрезок открытого текста записывается в такую фигуру на некоторой траектории. + +Шифрованным текстом является последовательность, полученная при выписывании по +другой траектории. + +\textbf{Примеры} + +\begin{enumerate} +\item \emph{В учении нельзя останавливаться}, 28 букв + +в у ч е н и +и н е л ь з +я о с т а н +а в л и в а +т ь с я - - +\begin{itemize} +\item - - - - - +\end{itemize} + +вуиянчееоатвслниьтльсиазнвяа + +\item Вертикальная перестановка. +В этой системе также используется прямоугольная таблица, в которую сообщение +записывается построкам слева направо. + +Выписывается сообщение по вертикали (сверху вниз), при этом столбцы +выбираются в порядке, определяемом числовым ключом (например, в +алфавитном порядке букв ключа). + +\emph{Без примера ничему не выучишься}, 27 букв + +\begin{center} +\begin{tabular}{llllll} +б & е & з & п & р & и\\ +м & е & р & а & н & и\\ +ч & е & м & у & н & е\\ +в & ы & у & ч & и & ш\\ +ь & с & я & - & - & -\\ +\hline +ж & ё & л & у & д & ь\\ +\end{tabular} +\end{center} + +рнниеееысбмчвьзрмуяпаучииеш +\end{enumerate} + +Более сложные маршрутные перестановки могут использовать другие геометрические +фигуры и более "хитрые" маршруты, например, при обходе шахматной доски "ходом +коня", пути в некотором лабиринте и тому подобное. + +\subsubsection{(3) Элементы криптоанализа шифров перестановки} + +(а) Приведём основные идеи, используемые при вскрытии вертикальных перестановок. + +Заметим, что это буквы каждого столбца заполненного прямоугольника выписываются +в криптограмму подряд, то есть криптограмма разбивается на отрезки, являющиеся +столбцами таблицы. + +Поэтому при дешифровании следует попытаться соединить две группы +последовательных букв криптограммы так, чтобы они образовывали читаемые +комбинации. + +Для этого естественно использовать наиболее частые биграммы открытого текста, +которые можно составить из букв криптограммы. + +Если для первой пробы выбрано, например, сочетание НИ, то можно по очереди +приписывать к каждой букве Н криптограммы каждую букву и из неё. + +При этом несколько букв, стоящих до и после данной буквы Н, и несколько букв, +стоящих до и после данной буквы И, соединяются в пары, то есть получаются два +столбца букв, записанные рядом: + +\begin{center} +\begin{tabular}{ll} +I & II\\ +\ldots{} & \ldots{}\\ +Н & И\\ +\ldots{} & \ldots{}\\ +\end{tabular} +\end{center} + +Длина столбцов неизвестна, но используя положение конкретных букв, можно +получить на них некоторые ограничения: +\begin{enumerate} +\item Столбцы должны иметь одинаковые длины или первый столбец может быть +длиннее второго на одну букву, и тогда эта буква --- последняя буква +сообщения. +\begin{center} +\begin{tabular}{ll} +\ldots{} & \ldots{}\\ +Р & А\\ +\ldots{} & \ldots{}\\ +У & Ч\\ +Я & -\\ +\end{tabular} +\end{center} +\item Если приписываемые друг к другу буквы разделены, например, только четырьмя буквами, +то можно составить в соседних столбцах не более пяти пар, и длина каждого столбца +не превышает пяти: +\begin{center} +\begin{tabular}{llllll} +б & е & \emph{з} & п & р & и\\ +м & е & \emph{р} & а & н & и\\ +ч & \emph{е} & \emph{м} & у & н & е\\ +в & \emph{ы} & у & ч & и & ш\\ +ь & \emph{с} & я & - & - & -\\ +\hline +ж & ё & л & у & д & ь\\ +\end{tabular} +\end{center} +\item Ограничением можно послужить появление запретной биграммы +\begin{center} +\begin{tabular}{ll} +\ldots{} & \ldots{}\\ +Н & И\\ +\ldots{} & \ldots{}\\ +И & Ь\\ +\end{tabular} +\end{center} +\end{enumerate} + +Для выбранного сочетания НИ получается по одной паре столбцов для каждого +конкретного выбора букв Н и И из криптограммы, и из них целесообразно отобрать +ту пару, которая содержит наиболее частые биграммы. + +При автоматизации этого процесса можно приписать каждой биграмме вес, равный +частоте её появления в открытом тексте. + +Тогда отбирается та пара столбцов, которая имеет наибольший вес. + +Появление одной биграммы с низкой частотой может указать на то, что длину +столбца надо ограничить. + +Выбрав пару столбцов аналогичным образом подбирается к ним третий (справа или +слева) и так далее. Описанная процедура значительно упрощается при использовании +вероятных слов, то есть слов, которые могут встретиться в тексте с большой +вероятностью. + +(б) Рассмотрим метод, применимый к любым шифрам перестановки. + +Допустим, что к двум или более сообщениям (или отрезкам сообщений) одинаковой +длины применяется один и тот же шифр перестановки. + +Тогда очевидно, что буквы, которые находились на одинаковых местах в открытых +текстах, окажутся на одинаковых местах и в криптограммах. + +Выпишем криптограммы одну под другой так, что первые буквы всех сообщений +оказываются в первом столбце, вторых --- во втором и так далее. -- cgit v1.2.3