Криптографическая защита информации. Яковлев А.В - 66 стр.

UptoLike

1, и вычисляется
(mod )
k
rg p=
. После этого с помощью расширенного
алгоритма Евклида решается относительно s уравнение
(mod ( 1))mxrks p=+
. Подпись образует пара чисел (r, s). После выработ-
ки подписи значение k уничтожается.
Получатель подписанного сообщения вычисляет хэш-функцию со-
общения т = h(M) и проверяет выполнение равенства
(mod )
r s xr ks xr ks m
yr g g g g p
+
===
. Корректность этого уравнения очевидна.
Еще одна подобная схема была предложена Шнорром. Как обычно, р
большое простое число; q – простой делитель (р1); g – элемент порядка
q в Z
р
; k – случайное число, х и у = g
x
(mod p) секретный и открытый клю-
чи соответственно. Уравнения выработки подписи выглядят следующим
образом:
(mod ); ( , ); (mod )
k
rg pehmrskxe q===+
.
Подписью является пара (r, s). На приемной стороне вычисляется зна-
чение хэш-функции
(,)ehmr=
и проверяется выполнение равенства
(mod )
se
rgy p
=
, при этом действия с показателями степени производятся
по модулю q.
Другой вариант подписи Шнорра выглядит так. Для подписи сообще-
ния т автор выбирает случайное k Z
q
, вычисляет g
k
(mod р), е = h(g
k
, т) и
(mod )
z
kxe q=+
. Подписью является тройка (т, е, z). Проверка подписи
заключается в проверке равенства
(,)
ze
hgy m e
=
.
4.2.2. СТАНДАРТ ЦИФРОВОЙ ПОДПИСИ DSS
Новая редакция стандарта на выработку и верификацию цифровой
подписи DSS (Digital Signature Standard) принята в США 7 января 2000 г.
(FIPS PUB 186-2). Согласно этому стандарту, электронная цифровая под-
пись может вырабатываться по одному из трех алгоритмов: DSA (Digital
Signature Algorithm), основанному на проблеме логарифма в конечном по-
ле, ANSI Х9.31 (RSA DSA) или ANSI X9.63 (ЕС DSAалгоритм выработки
подписи, основанной на проблеме логарифма в группе точек эллиптиче-
ской кривой над конечным полем).
Опишем алгоритм DSA.
1. Предварительный этапвыбор параметров.
Выбираются числа р, q и g, такие, что рпростое число,
1
22
ll
p
<<
,
где l кратно 64 и 512 < l < 1024; q – простой делитель числа p – 1 длиной
160 бит (2
159
< q < 2
160
); g – элемент порядка q в Z
p
. g выбирается в виде g =
h
(p – 1)/q
, где 1 < h < p – 1 и h
(p – 1)/q
> 1. Эти три числа являются открытыми
данными и могут быть общими для группы пользователей.
Выбирается секретный ключ х, 0 < х < q, и вычисляется открытый
ключ для проверки подписи у = g
x
(mod p).
2. Выработка электронной цифровой подписи.
Вычисляется значение хэш-функции от сообщения h(/w). При этом ис-
пользуется алгоритм безопасного хэширования SHA-1 (Secure Hashing Al-
gorithm), на который ссылается стандарт (FIPS PUB 180-1). Значение хэш-
функции h(/w) имеет длину 160 бит.
Далее подписывающий выбирает случайное или псевдослучайное значе-
ние k, 0 < k < q, вычисляет k
-1
mod q, и вырабатывает пару значений:
1
(mod )(mod ); ( ( ) )(mod )
k
rg p qskhm xr q
==+
.
Эта пара значений (r, s) и является электронной подписью под сооб-
щением М. После выработки цифровой подписи значение k уничтожается.
3. Верификация электронной цифровой подписи.
Пусть было принято сообщение m
1
. Тогда уравнение проверки выгля-
дит следующим образом:
1
1
1
()
(mod )(mod )
hm s
rs
rg y p q
.
Алгоритм выработки ЭЦП, основанный на эллиптических кривых,
может быть описан следующим образом:
1. Выбор параметров. Стандарт определяет поля, над которыми зада-
ются эллиптические кривые. Это простые поля Галуа и поля Галуа харак-