-
Notifications
You must be signed in to change notification settings - Fork 210
/
stream-ciphers.tex
25 lines (19 loc) · 4.02 KB
/
stream-ciphers.tex
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
\chapter{Потоковые шифры}\label{chapter-stream-ciphers}
\selectlanguage{russian}
Потоковые шифры осуществляют посимвольное шифрование открытого текста. Под символом алфавита открытого текста могут пониматься как отдельные биты (побитовое шифрование), так и байты (побайтовое шифрование). Поэтому можно говорить о в какой-то мере условном разделении блочных и потоковых шифров: например, 64-битная буква - один блок. Общий вид большинства потоковых шифров приведён на рис.~\ref{fig:stream-cipher}.
\begin{figure}[hb]
\centering
\includegraphics[width=0.66\textwidth]{pic/stream-cipher}
\caption{Общая структура шифрования с использованием потоковых шифров}
\label{fig:stream-cipher}
\end{figure}
\begin{itemize}
\item Перед началом процедуры шифрования отправитель и получатель должны обладать общим секретным ключом.
\item Секретный ключ используется для генерации инициализирующей последовательности (\langen{seed}) генератора псевдослучайной последовательности.
\item Генераторы отправителя и получателя используются для получения одинаковой псевдослучайной последовательности символов, называемой \emph{гаммой}\index{гамма}. Последовательности одинаковые, если для их получения использовались одинаковые ГПСЧ, инициализированные одной и той же инициализирующей последовательностью, при условии, что генераторы детерминированные.
\item Символы открытого текста на стороне отправителя складываются с символами гаммы, используя простейшие обратимые преобразования. Например, побитовое сложение по модулю 2 (операция <<исключающее или>>, \langen{XOR}). Полученный шифртекст передаётся по каналу связи.
\item На стороне легального получателя с символами шифртекста и гаммы выполняется обратная операция (для XOR это будет просто повторный XOR) для получения открытого текста.
\end{itemize}
Очевидно, что криптостойкость потоковых шифров непосредственно основана на стойкости используемых ГПСЧ. Большой размер инициализирующей последовательности, длинный период, большая линейная сложность -- необходимые атрибуты используемых генераторов. Одним из преимуществ потоковых шифров по сравнению с блочными является более высокая скорость работы.
Одним из примеров ненадёжных потоковых шифров является семейство A5\index{шифр!A5} (A5/1, A5/2), кратко рассмотренное в разделе~\ref{section:majority_generators}. Мы также рассмотрим вариант простого в понимании шифра RC4, не основанного на РСЛОС.
\input{rc4}