ГОСТ Р 34.10—2012
6.1 Формирование цифровой подписи
Для получения цифровой подписи под сообщением М е V* необходимо выполнить следующие
действия (шаги) по алгоритму I:
Шаг 1— вычислить хэш-код сообщения М: h = h{M). (13)
Шаг 2 — вычислить целое число а. двоичным представлением которого является вектор h, и
определить
e=a (mod q).(14)
Если о = 0. то определить е = 1.
Шаг 3 — сгенерировать случайное (псевдослучайное) целое число к. удовлетворяющее не
равенству
0 <k< q.(15)
Шаг 4 — вычислить точку эллиптической кривой С = кР и определить
г=хс (mod q),(16)
где хс— х-координата точки С.
Если г= 0, то вернуться к шагу 3.
Шаг 5 — вычислить значение
s = (rd + /ce)(mod q).(17)
Если s = 0, то вернуться к шагу 3.
Шаг
6
— вычислить двоичные векторы г ns, соответствующие ги s, и определить цифровую под
пись =Л||5"как конкатенацию двух двоичных векторов.
Исходными данными этого процесса являются ключ подписи d и подписываемое сообщение М. а
выходным результатом — цифровая подпись С,.
Схема процесса формирования цифровой подписи приведена на рисунке 2.
7