summaryrefslogtreecommitdiff
path: root/cryptography/lectures/lecture5.tex
blob: 8e42a0c93a9c93087b0b82680c6876d007157af7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
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}

Для выбранного сочетания НИ получается по одной паре столбцов для каждого
конкретного выбора букв Н и И из криптограммы, и из них целесообразно отобрать
ту пару, которая содержит наиболее частые биграммы.

При автоматизации этого процесса можно приписать каждой биграмме вес, равный
частоте её появления в открытом тексте.

Тогда отбирается та пара столбцов, которая имеет наибольший вес.

Появление одной биграммы с низкой частотой может указать на то, что длину
столбца надо ограничить.

Выбрав пару столбцов аналогичным образом подбирается к ним третий (справа или
слева) и так далее. Описанная процедура значительно упрощается при использовании
вероятных слов, то есть слов, которые могут встретиться в тексте с большой
вероятностью.

(б) Рассмотрим метод, применимый к любым шифрам перестановки.

Допустим, что к двум или более сообщениям (или отрезкам сообщений) одинаковой
длины применяется один и тот же шифр перестановки.

Тогда очевидно, что буквы, которые находились на одинаковых местах в открытых
текстах, окажутся на одинаковых местах и в криптограммах.

Выпишем криптограммы одну под другой так, что первые буквы всех сообщений
оказываются в первом столбце, вторых --- во втором и так далее.