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

       

Стандарт цифровой подписи DSS


В США принят стандарт на выработку и верификацию цифровой подписи, называемый DSS (Digital Signature Standard). Согласно этому стандарту, электронная цифровая подпись вырабатывается по следующей схеме:

1. Предварительный этап.

Выбираются числа p, q и g, такие, что p – простое число длины l, где l кратно 64 и 512 Ј l Ј 1024; q – простой делитель числа p – 1 длиной 160 бит; g – элемент порядка q в Zp. Эти три числа являются открытыми данными.

Выбирается секретный ключ x, 1 Ј x < q, и вычисляется открытый ключ для проверки подписи y = gx (mod p).

2. Выработка электронной цифровой подписи.

Вычисляется значение хэш-функции от сообщения h(m). При этом используется алгоритм безопасного хэширования SHA (Secure Hashing Algorithm), на который ссылается стандарт. Значение хэш-функции h(m) имеет длину 160 бит.

Далее подписывающий выбирает случайное значение k, 1 Ј k < q, вычисляет k?1

(mod q), и вырабатывает пару значений:

r = gk (mod p)(mod

q);

s = k?1 (h(m) + xr) (mod

q)

Эта пара значений (r, s) и является электронной подписью под сообщением M. После выработки цифровой подписи значение k уничтожается.

3. Верификация электронной цифровой подписи.

Пусть было принято сообщение m1. Тогда уравнение проверки выглядит следующим образом:

В самом деле:



Содержание раздела