Действующий
- простое число р - модуль эллиптической кривой, удовлетворяющее неравенству
. Верхняя граница данного числа должна определяться при конкретной реализации схемы цифровой подписи;
. Верхняя граница данного числа должна определяться при конкретной реализации схемы цифровой подписи;
- простое число q - порядок циклической подгруппы группы точек эллиптической кривой Е, для которого выполнены следующие условия:
- хэш-функция
, отображающая сообщения, представленные в виде двоичных векторов произвольной конечной длины, в двоичные вектора длины 256 бит. Хэш-функция определена в ГОСТ Р 34.11.
, отображающая сообщения, представленные в виде двоичных векторов произвольной конечной длины, в двоичные вектора длины 256 бит. Хэш-функция определена в ГОСТ Р 34.11.
- ключом проверки - точкой эллиптической кривой Q с координатами
, удовлетворяющей равенству dP = Q.
, удовлетворяющей равенству dP = Q.
Для определения процессов формирования и проверки цифровой подписи необходимо установить соответствие между целыми числами и двоичными векторами длины 256 бит.
Рассмотрим следующий двоичный вектор длиной 256 бит, в котором младшие биты расположены справа, а старшие - слева.
где
равно либо 1, либо 0. Будем считать, что число
соответствует двоичному вектору
, если выполнено равенство
равно либо 1, либо 0. Будем считать, что число
соответствует двоичному вектору
, если выполнено равенство
Для двух двоичных векторов
и
, соответствующих целым числам
и
, определим операцию конкатенации (объединения) следующим образом. Пусть
и
, соответствующих целым числам
и
, определим операцию конкатенации (объединения) следующим образом. Пусть
С другой стороны, приведенные формулы определяют способ разбиения двоичного вектора
длиной 512 бит на два двоичных вектора длиной 256 бит, конкатенацией которых он является.
длиной 512 бит на два двоичных вектора длиной 256 бит, конкатенацией которых он является.
В данном разделе определены процессы формирования и проверки цифровой подписи под сообщением пользователя.
Для реализации данных процессов необходимо, чтобы всем пользователям были известны параметры схемы цифровой подписи, удовлетворяющие требованиям 5.2.
Кроме того, каждый пользователь должен иметь ключ подписи d и ключ проверки подписи
, которые также должны удовлетворять требованиям 5.2.
, которые также должны удовлетворять требованиям 5.2.
Для получения цифровой подписи под сообщением
необходимо выполнить следующие действия (шаги) по алгоритму I.
необходимо выполнить следующие действия (шаги) по алгоритму I.
Шаг 6 - вычислить двоичные векторы
и
, соответствующие r и s, и определить цифровую подпись
как конкатенацию двух двоичных векторов.
и
, соответствующие r и s, и определить цифровую подпись
как конкатенацию двух двоичных векторов.
;
; (9)
эллиптической кривой Е, с координатами
, удовлетворяющая равенству qP = 0;
;
, для всех целых t = 1, 2, ... В, где В удовлетворяет неравенству
;
;
или 1728.
,
, (10)
. (11)
, (12)
,
(13)
и
.
. (14)
, двоичным представлением которого является вектор
, и определить
. (15)
. (16)
, (17)
- х-координата точки С. Если r=0, то вернуться к шагу 3.
. (18)
.