Skip to content

Commit 56dca62

Browse files
committed
fixes per #2484 by @kisttan
1 parent adec92b commit 56dca62

5 files changed

+34
-6
lines changed

Information Security.tex

+1
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
\usepackage{multirow} % multirow cells in tables
3939
\usepackage{subfig} % sub figures
4040
\usepackage{tikz} % векторная графика внутри TeX
41+
\usepackage{tablefootnote} % footnote в таблицах
4142
\usepackage{wrapfig} % sub figures
4243

4344
\usepackage[left=1.84cm, right=1.5cm, paperwidth=14cm, top=1.8cm, bottom=2cm, height=19.8cm, paperheight=20cm]{geometry}

bibliography.bib

+10
Original file line numberDiff line numberDiff line change
@@ -1040,6 +1040,16 @@ @book{Sirca:Horvat:2012
10401040
language = {English},
10411041
}
10421042

1043+
@techreport{NIST:SP800:57,
1044+
author = {Barker, Elaine and Barker, William and Burr, William and Polk, William and Smid, Miles},
1045+
year = {2012},
1046+
month = {July},
1047+
institution = {NIST},
1048+
journal = {NIST Special Publication 800-57 (with revisions dated May 15, 2001)},
1049+
title = {Recommendation for Key Management – Part 1: General (Revision 3)},
1050+
url = {http://csrc.nist.gov/publications/nistpubs/800-57/sp800-57_part1_rev3_general.pdf},
1051+
}
1052+
10431053
@misc{FIPS-PUB-186-4,
10441054
author = {Kerry, C. F. and Gallagher, P. D.},
10451055
title = {FIPS PUB 186-4 Federal Information Processing Standards Publication. Digital Signature Standard (DSS)},

elliptic_curve_cryptography.tex

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
\section{Эллиптические кривые}
1+
\section{Эллиптические кривые}\label{section-elliptic-curve-cryptosystems}
22
\selectlanguage{russian}
33

44
Существуют аналоги криптосистемы Эль-Гамаля, в которых вместо проблемы дискретного логарифма в мультипликативных полях используется проблема дискретного логарифма в группах точек эллептических кривых над конечными полями (обычно $GF(p)$ либо $GF(2^n)$). Математическое описание данных полей приведено в разделе~\ref{section-math-ec-groups}. Нас же интересует следующий факт, что для группы точек эллиптической кривой над конечным полем $\group{E}$ существует быстро выполнимая операция: умножение целого числа $x$ на точку $A$ (суммирование точки самой с собой целое число раз):

public-key.tex

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
\chapter{Криптосистемы с открытым ключом}\label{chapter-public-key}
1+
\chapter{Асимметричные криптосистемы}\label{chapter-public-key}
22
\selectlanguage{russian}
33

4-
\emph{Криптосистемой с открытым ключом} (\langen{public-key cryptosystem, PKC}) называется криптографическое преобразование, использующее два ключа -- открытый и закрытый. Пара из \emph{закрытого}\index{ключ!закрытый} (\langen{private key, secret key, SK})\footnote{В контексте криптосистем с открытым ключом можно ещё встретить использование термина <<секретный ключ>>. Мы не рекомендуем использовать данный термин, чтобы не путать с секретным ключом\index{ключ!секретный}, используемым в симметричных криптосистемах.} и \emph{открытого}\index{ключ!открытый} (\langen{public key, PK}) ключей создаётся пользователем, который свой закрытый ключ держит в секрете, а открытый ключ делает общедоступным для всех пользователей. Криптографическое преобразование в одну сторону (шифрование) можно выполнить, зная только открытый ключ, а в другую (расшифрование) -- только зная закрытый ключ. Во многих криптосистемах из закрытого ключа теоретически можно вычислить открытый ключ, однако это является сложной вычислительной задачей.
4+
\emph{Асимметричной криптосистемой} или же \emph{криптосистемой с открытым ключом} (\langen{public-key cryptosystem, PKC}) называется криптографическое преобразование, использующее два ключа -- открытый и закрытый. Пара из \emph{закрытого}\index{ключ!закрытый} (\langen{private key, secret key, SK})\footnote{В контексте криптосистем с открытым ключом можно ещё встретить использование термина <<секретный ключ>>. Мы не рекомендуем использовать данный термин, чтобы не путать с секретным ключом\index{ключ!секретный}, используемым в симметричных криптосистемах.} и \emph{открытого}\index{ключ!открытый} (\langen{public key, PK}) ключей создаётся пользователем, который свой закрытый ключ держит в секрете, а открытый ключ делает общедоступным для всех пользователей. Криптографическое преобразование в одну сторону (шифрование) можно выполнить, зная только открытый ключ, а в другую (расшифрование) -- только зная закрытый ключ. Во многих криптосистемах из закрытого ключа теоретически можно вычислить открытый ключ, однако это является сложной вычислительной задачей.
55

66
Если прямое преобразование выполняется открытым ключом, а обратное -- закрытым, то криптосистема называется \emph{схемой шифрования с открытым ключом}. Все пользователи, зная открытый ключ получателя, могут зашифровать для него сообщение, которое может расшифровать только владелец закрытого ключа.
77

88
Если прямое преобразование выполняется закрытым ключом, а обратное -- открытым, то криптосистема называется \emph{схемой электронной подписи (ЭП)}. Владелец закрытого ключа может \emph{подписать} сообщение, а все пользователи, зная открытый ключ, могут проверить, что подпись была создана только владельцем закрытого ключа и никем другим.
99

1010
Криптосистемы с открытым ключом снижают требования к каналам связи, которые требуются для передачи данных. В симметричных криптосистемах перед началом связи (перед шифрованием сообщения и его передачей) требуется передать или согласовать секретный ключ шифрования по защищённому каналу связи. Злоумышленник не должен иметь возможность ни прослушать данный канал связи, ни подменить передаваемую информацию (ключ). Для надёжной работы криптосистем с открытым ключом необходимо, чтобы злоумышленник не имел возможности подменить открытый ключ легального пользователя. Другими словами, криптосистема с открытым ключом, в случае использования открытых и незащищённых каналов связи, устойчива к пассивному криптоаналитику\index{криптоаналитик!пассивный}, но всё ещё должна предпринимать меры по защите от активного криптоаналитика\index{криптоаналитик!активный}.
1111

12-
Для предотвращения атак <<человек посередине>> (man-in-the-middle attack)\index{атака!<<человек посередине>>} с активным криптоаналитиком\index{криптоаналитик!активный}, который бы подменял открытый ключ получателя во время его передачи будущему отправителю сообщений, используют \emph{сертификаты открытых ключей}\index{сертификат открытого ключа}. Сертификат представляет собой информацию о соответствии открытого ключа и его владельца, подписанную электронной подписью третьего лица. В корпоративных информационных системах достаточно, если на всю организацию такое лицо, подписывающее сертификаты, будет одно. В этом случае его называют \emph{доверенным центром сертификации} или \emph{удостоверяющим центром}. В глобальной сети Интернет для защиты распространения программного обеспечения (например, защиты от подделок в ПО) и проверок сертификатов в протоколах на базе SSL/TLS\index{протокол!SSL/TLS} используется иерархия удостоверяющих центров, рассмотренная в разделе~\ref{section-CAs}. При обмене личными сообщениями и при распространении программного обеспечения с открытым кодом вместо жёсткой иерархии может использоваться \emph{сеть доверия}\index{сеть доверия}. В сети доверия каждый участник может подписать сертификат любого другого участника. Предполагается, что подписывающий знает лично владельца сертификата и удостоверился в соответствии сертификата владельцу при личной встрече.
12+
Для предотвращения атак <<человек посередине>> (\langen{man-in-the-middle attack})\index{атака!<<человек посередине>>} с активным криптоаналитиком\index{криптоаналитик!активный}, который бы подменял открытый ключ получателя во время его передачи будущему отправителю сообщений, используют \emph{сертификаты открытых ключей}\index{сертификат открытого ключа}. Сертификат представляет собой информацию о соответствии открытого ключа и его владельца, подписанную электронной подписью третьего лица. В корпоративных информационных системах достаточно, если на всю организацию такое лицо, подписывающее сертификаты, будет одно. В этом случае его называют \emph{доверенным центром сертификации} или \emph{удостоверяющим центром}. В глобальной сети Интернет для защиты распространения программного обеспечения (например, защиты от подделок в ПО) и проверок сертификатов в протоколах на базе SSL/TLS\index{протокол!SSL/TLS} используется иерархия удостоверяющих центров, рассмотренная в разделе~\ref{section-CAs}. При обмене личными сообщениями и при распространении программного обеспечения с открытым кодом вместо жёсткой иерархии может использоваться \emph{сеть доверия}\index{сеть доверия}. В сети доверия каждый участник может подписать сертификат любого другого участника. Предполагается, что подписывающий знает лично владельца сертификата и удостоверился в соответствии сертификата владельцу при личной встрече.
1313

1414
Криптосистемы с открытым ключом построены на основе односторонних (однонаправленных) функций c потайным входом. Под \emph{односторонней} функцией понимают \emph{вычислительную} невозможность вычисления её обращения: вычисление значения функции $y = f(x)$ при заданном аргументе $x$ является лёгкой задачей, вычисление аргумента $x$ при заданном значении функции $y$ -- трудной задачей.
1515

rsa.tex

+19-2
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ \subsection{Электронная подпись}\index{электронная
167167

168168
\index{электронная подпись!RSA|)}
169169

170-
\subsection{Рандомизация шифрования и ЭП}
170+
\subsection{Семантическая безопасность шифров}
171171

172172
\textbf{Семантически безопасной}\index{криптосистема!семантически-безопасная} называется криптосистема, для которой вычислительно невозможно извлечь любую информацию из шифротекстов, кроме длины шифротекста. Алгоритм RSA не является семантически безопасным. Одинаковые сообщения шифруются одинаково, и, следовательно, применима атака на различение сообщений.
173173

@@ -212,7 +212,7 @@ \subsubsection{Выбор экспоненты $e$}
212212
%Время шифрования или проверки подписи для малых экспонент становится $O(k^2)$ вместо $O(k^3)$, то есть в сотни раз быстрее для 1000-битовых чисел.
213213

214214

215-
\subsubsection[Ускорение шифрования]{Ускорение шифрования по китайской \protect\\ теореме об остатках}
215+
\subsubsection{Ускорение~шифрования по~китайской~теореме об~остатках}
216216

217217
Возводя $m$ в степень $e$ отдельно по $\mod p$ и $\mod q$ и применяя китайскую теорему об остатках\index{теорема!китайская об остатках} (Chinese remainder theorem, CRT), можно быстрее выполнить шифрование.
218218

@@ -234,6 +234,23 @@ \subsubsection{Длина ключей}
234234

235235
В 2005 году было разложено 663-битовое число вида RSA. Время разложения в эквиваленте составило 75 лет вычислений одного ПК. Самые быстрые алгоритмы факторизации -- субэкспоненциальные\index{задача!факторизации}. Минимальная рекомендуемая длина модуля $n$ = 1024 бит, но лучше использовать 2048 или 4096 бит.
236236

237+
В июле 2012 года NIST опубликовала отчёт~\cite{NIST:SP800:57}, который включал в себя таблицу сравнения надёжности ключей с разной длиной для криптосистем, относящихся к разным классам. Таблица была составлена согласно как известным на тот момент атакам на классы криптосистем, так и на конкретные шифры (см.~\ref{table:aesrsakeycompare}).
238+
239+
\begin{table}[h]
240+
\begin{tabular}{|c|c|c|c|}
241+
\hline
242+
\multicolumn{1}{|p{0.2\linewidth}|}{бит безопасности} & \multicolumn{1}{|p{0.2\linewidth}|}{пример симметричного шифра} & \multicolumn{1}{|p{0.2\linewidth}|}{$\log_2 (n)$ для RSA\tablefootnote{Сравнимая по предоставляемой безопасности битовая длина произведения $n$ простых чисел $p$ и $q$ для криптосистем, основанных на сложности задачи факторизации числа $n$ на простые множители $p$ и $q$, в том числе RSA.}} & \multicolumn{1}{|p{0.2\linewidth}|}{$\log_2 (\| \group{G} \| )$ для эллиптических кривых\tablefootnote{Сравнимая по предоставляемой безопасности битовая длина количества элементов $\|\group{G}\|$ в выбранной циклической подгруппе $\group{G}$ группы точек $\group{E}$ эллиптической кривой для криптосистем, основанных на сложности дискретного логарифма в группах точек эллептических кривых над конечными полями (см.~\ref{section-elliptic-curve-cryptosystems})}} \\
243+
\hline
244+
80 & 2TDEA & 1024 & 160--223 \\
245+
112 & 3TDEA & 2048 & 224--255 \\
246+
128 & AES-128 & 3072 & 256--383 \\
247+
192 & AES-192 & 7680 & 384--511 \\
248+
256 & AES-256 & 15360 & 512+ \\
249+
\hline
250+
\end{tabular}
251+
\caption{Сравнимые длины ключей блочных симметричных шифров и ключевых параметров асимметричных шифров~\cite{NIST:SP800:57}}\label{table:aesrsakeycompare}
252+
\end{table}
253+
237254
В приложении показано, что битовая сложность (количество битовых операций) вычисления произвольной степени $a^b \mod n$ является кубической $O(k^3)$, а возведения в квадрат $a^2 \mod n$ и умножения $a b \mod n$ -- квадратичной $O(k^2)$, где $k$ -- битовая длина чисел $a,b,n$.
238255

239256
%Увеличение длины модуля $n$ в 2 раза увеличивает время возведения в степень в $2^3$ раз для большой экспоненты $e$, а для маленькой экспоненты -- в $2^2$ раза.

0 commit comments

Comments
 (0)