f (x
2
)
, то x
1
и x
2
имеют оди-
наковую четность;
) функция f (x) такова, что по заданному значению f (x) «трудно»
вычислить четность неизвестного аргумента x.
Допустим, что функция, удовлетворяющая указанным свойствам,
выбрана и известна участникам жеребьевки. Пусть A подбрасывает
монету, а B пытается угадать результат. Тогда протокол обмена между
абонентами, решающий задачу, состоит из следующих шагов.
а) A выбирает случайное значение x (подбрасывает монету), зашиф-
ровывает x и полученное значение f (x) посылает B.
б) B, получив f (x), пытается угадать четность x и направляет
свою догадку A.
в) A, получив догадку от B, сообщает B, угадал тот или нет, и на-
правляет ему в подтверждение выбранный x.
г) B проверяет, не обманул ли его A, для чего он вычисляет f (x)
и сравнивает его с полученным от A на первом шаге.
Если f (x), вычисленный абонентом B на шаге г), совпадает с по-
лученным им от A на шаге а), то результат жеребьевки, который A
объявил на шаге в), приходится принять. Действительно, даже если A
попытается схитрить и отправит B для проверки другое значение x
′
,
для которого f (x
′
) =
f (x), то x и x
′
будут иметь одинаковую четность
в силу свойства функции f (x), и эта хитрость не удастся.
Приведем один из возможных примеров функции, удовлетворя-
ющей условиям —. Выберем для начала стандартную схему RSA
и пусть (m, e) — открытый ключ этой схемы. Выберем, кроме того,
некоторое четное число p меньше m. Тогда функция
f (x) = (x mod p)
e
mod
m
()
удовлетворяет требуемым условиям.
Действительно, условие просто накладывает требования на об-
ласть возможного выбора аргумента x.
Далее, пусть x
1
=
a
1
·
p + r
1
, x
2
=
a
2
·
p + r
2
. Тогда из равенства
f (x
1
) =
f (x
2
)
следует
(
x
1
mod
p)
e
mod
m = (x
2
mod
p)
e
mod
m.
Возводя в степень d (где de = 1 mod ϕ(m)), получим
x
1
mod
p = x
2
mod
p,
2.3. Протокол аутентификации
29
откуда r
1
=
r
2
и, следовательно, x
1
−
x
2
=
(
a
1
−
a
2
)
·
p, т. е. x
1
и x
2
в силу
четности числа p имеют одинаковую четность, и тем самым выполне-
но свойство .
Что касается свойства , то поскольку число m в схеме RSA все-
гда нечетно, вычисление по mod m не обязательно сохраняет чет-
ность. Другими словами, число a mod m может быть как четным, так
и нечетным, независимо от четности числа a. Например, 13 mod 3 = 1
и 16 mod 3 = 1, а 14 mod 3 = 2 и 17 mod 3 = 2. Поэтому, зная значение
f (x), вычисленное по формуле (), четность аргумента x можно
определить, только вычислив само значение x, а это «трудная» задача
по самому построению схемы RSA. Тем самым выполнено и условие .
Тому, кто прочитал данный раздел, может показаться, что задача
«подбрасывания монеты по телефону» носит чисто развлекательный
характер и не может иметь никакого практического значения. Одна-
ко это совсем не так. Во-первых, протокол а)—г) достаточно очевид-
ным образом обобщается на задачу с испытаниями, имеющими не
два, а более исходов (аналог задачи «бросания игрального кубика по
телефону»). Дальше можно будет поиграть по телефону в покер или
в нарды, а там недалеко и до виртуального казино, а это уже совсем
не умозрительные задачи.
2.3. Протокол аутентификации
Базы данных компьютеров хранят огромное количество информа-
ции. Часть ее общедоступна и с нею может ознакомиться любой же-
лающий. Однако кроме общедоступной информации в базах данных
может также храниться информация, представляющая служебную,
коммерческую или государственную тайну. Ясно, что эта информация
не может быть общедоступной, она является закрытой. Но также
ясно, что если закрытая информация имеется, значит, кто-то должен
иметь к ней доступ, даже к самой секретной. Этот процесс разделения
всех пользователей на категории в зависимости от вида доступной
информации называется обычно разграничением доступа. К этому
понятию относят также и способ обработки информации, доступный
тому или иному пользователю — одному пользователю разрешается
один фрагмент информации только читать, а другой фрагмент еще
и изменять, либо совсем уничтожать, либо создавать новый фраг-
мент информации. А другой пользователь может всю информацию
использовать только в режиме чтения. Короче говоря, концепция
разграничения доступа предусматривает следующее условие: прежде
30
2. Криптографические протоколы
чем допустить какого-либо пользователя к информации, необходи-
мо определить его полномочия, а для этого нужно сначала этого
пользователя идентифицировать. Криптографический процесс иден-
тификации пользователя, защищающий информационную систему
от несанкционированного доступа, и называется аутентификацией.
В протоколе аутентификации участвуют два пользователя: A —
пользователь, пытающийся пройти аутентификацию, и B — прове-
ряющий. Рассмотрим протокол аутентификации, основанный на ал-
горитме RSA. Он состоит из следующих шагов:
а) A строит стандартную схему RSA. Пусть ее открытый ключ
(
Достарыңызбен бөлісу: |