ВУЗ:
Составители:
43
64, в диапазоне от 512 до 1024. (В первоначальном стандарте размер р был
фиксирован и равен 512 битам. Это вызвало множество критических
замечаний.)
q = 160-битовой простое число - множитель р-\.
g = h
(p-1)/q
mod p, где h - любое число, меньшее р-1, для которого h
(p-1)/q
mod p больше 1.
х = число, меньшее q.
y = g
x
mod p.
В алгоритме также используется однонаправленная хэш-функция:
Н(т). Стандарт определяет использование SHA.
Первые три параметра, р, q и g, открыты и могут быть общими для
пользователей сети. Закрытым ключом является х, а открытым - у. Чтобы
подписать сообщение, т:
(1)Отправитель генерирует случайное число k, меньшее q
(2)Отправитель генерирует
r = (g
k
mod p) mod q
s = (k
-1
(Н(т) + xr)) mod q
Подписью служат параметры r и s, она посылает их получателю.
(3) Получатель проверяет подпись, вычисляя
w = s
-1
mod q
u
1
= (Н(т) * w) mod q
u
2
= (rw) mod q
v = ((g
u1
*y
u2
) mod p) mod q
Если v = r, то подпись правильна.
Алгоритм цифровой подписи ГОСТ Р 34.10-94
Алгоритм основан на DSA, и использует следующие параметры
р = простое число, длина которого либо между 509 и 512 битами, либо
между 1020 и 1024 битами. q = простое число - множитель р-1, длиной от 254
до 256 битов. а = любое число, меньшее р-1, для которого a
q
mod p = 1.
х = число, меньшее q. у = а
х
mod p.
Этот алгоритм также использует однонаправленную хэш-функцию:
Н(х). Стандарт определяет использование хэш-функции ГОСТ Р 34.11-94,
основанной на симметричном алгоритме ГОСТ 28147-89.
Первые три параметра, p, q и а, открыты и могут использоваться
совместно пользователями сети. Закрытым ключом служит х, а открытым - у.
Чтобы подписать сообщение т
(1) Отправитель генерирует случайное число k, меньшее q
(2) Отправитель генерирует
I = (a* mod p) mod q
s = (ct + k(H(m))) mod q
r = (a
k
mod p) mod q
s = (xr + k(H(m))) mod q
Страницы
- « первая
- ‹ предыдущая
- …
- 222
- 223
- 224
- 225
- 226
- …
- следующая ›
- последняя »
