Основы современной криптографии



Стандарт цифровой подписи ГОСТ Р .- - часть 2


Процедура выработки подписи включает в себя следующие шаги:

1.                 Вычислить h(m) – значение хэш-функции h от сообщения m. Если h(m)(mod q) = 0, то присвоить h(m) значение 02551.

2.                 Выработать целое число k, 0 < k < q.

3.                 Вычислить два значения: r' = ak(mod p) и r = r' (mod q). Если r = 0, то перейти к шагу 2 и выработать другое значение числа k.

4.                 С использованием секретного ключа x пользователя вычислить значение s = (xr + kh(m))(mod q). Если s = 0, то перейти к шагу 2, в противном случае закончить работу алгоритма.

Заметим, что сообщение, дающее нулевое значение хэш-функции, не подписывается. В противном случае уравнение подписи упростилось бы до s

= xr (mod q) и злоумышленник легко мог бы вычислить секретный ключ x.

Проверка цифровой подписи возможна при наличии у получателя открытого ключа отправителя, пославшего сообщение.

Уравнение проверки будет следующим:

В самом деле,

Вычисления по уравнению проверки реализуются следующим образом:

1.                 Проверить условия: 0 < s < q и 0 < r < q. Если хотя бы одно из этих условий не выполнено, то подпись считается недействительной.

2.                 Вычислить h(m1) – значение хэш-функции h

от полученного сообщения m1.

Если h(m1)(mod

q) = 0, присвоить h(m1) значение 02551.

3.                 Вычислить значение v = (h(m1))q–2(mod




Содержание  Назад  Вперед