Шаг 3 - сгенерировать случайное (псевдослучайное) целое число k, удовлетворяющее неравенству
. (16) Шаг 4 - вычислить точку эллиптической кривой C = kP и определить
, (17) где
- х-координата точки С. Если r=0, то вернуться к шагу 3.
- х-координата точки С. Если r=0, то вернуться к шагу 3. Шаг 5 - вычислить значение
. (18) Если s = 0, то вернуться к шагу 3.
Шаг 6 - вычислить двоичные векторы
и
, соответствующие r и s, и определить цифровую подпись
как конкатенацию двух двоичных векторов.
и
, соответствующие r и s, и определить цифровую подпись
как конкатенацию двух двоичных векторов. Исходными данными этого процесса являются ключ подписи d и подписываемое сообщение М, а выходным результатом - цифровая подпись
.
. Схематическое представление процесса формирования цифровой подписи приведено на рисунке 2.
6.2 Проверка цифровой подписи
Для проверки цифровой подписи
под полученным сообщением М необходимо выполнить следующие действия (шаги) по алгоритму II.
под полученным сообщением М необходимо выполнить следующие действия (шаги) по алгоритму II. Шаг 1 - по полученной подписи
вычислить целые числа r и s. Если выполнены неравенства
, то перейти к следующему шагу. В противном случае подпись неверна.
вычислить целые числа r и s. Если выполнены неравенства
, то перейти к следующему шагу. В противном случае подпись неверна. Шаг 2 - вычислить хэш-код полученного сообщения М
. (19) Шаг 3 - вычислить целое число
, двоичным представлением которого является вектор
, и определить
, двоичным представлением которого является вектор
, и определить
. (20) Если е = 0, то определить е = 1.
Шаг 4 - вычислить значение
. (21) Шаг 5 - вычислить значения
. (22) Шаг 6 - вычислить точку эллиптической кривой
и определить
и определить
, (23) где
- х-координата точки С.
- х-координата точки С. Шаг 7 - если выполнено равенство R = r, то подпись принимается, в противном случае, подпись неверна.
Исходными данными этого процесса являются подписанное сообщение М, цифровая подпись
и ключ проверки Q, а выходным результатом - свидетельство о достоверности или ошибочности данной подписи.
и ключ проверки Q, а выходным результатом - свидетельство о достоверности или ошибочности данной подписи. Схематическое представление процесса проверки цифровой подписи приведено на рисунке 3.
Приложение А
(справочное)
(справочное)
Дополнительные термины в области ЭЦП
В настоящем приложении приведены дополнительные международные термины, применяемые в рассматриваемой и смежных областях.
А.1 заполнение (padding): Дополнение строки данных лишними битами (ИСО/МЭК 10118-1 [6]).
А.2 идентификационные данные (identification data): Последовательность элементов данных, включая отличительный идентификатор объекта, принадлежащая объекту и используемая для его обозначения (ИСО/МЭК 148881-1 [3]).
А.3 уравнение цифровой подписи (signature equation): Уравнение, определяемое функцией цифровой подписи (ИСО/МЭК 148881-1 [3]).
А.4 функция проверки (verification function): Функция процесса проверки, определяемая ключом проверки, выдающая в качестве результата вычисленное значение свидетельства о достоверности подписи (ИСО/МЭК 148881-1 [3]).
А.5 функция цифровой подписи (signature function): Функция в процессе формирования подписи, определяемая ключом подписи и параметрами схемы ЭЦП. Эта функция в качестве исходных данных получает часть исходных данных и, возможно, формирователь последовательности псевдослучайных чисел (рандомизатор), а в результате выдает вторую часть цифровой подписи.
Приложение Б
(справочное)
(справочное)
Контрольный пример
Данное приложение носит справочный характер и не является частью стандарта. Приводимые ниже значения параметров р, a, b, m, q, P, а также значения ключей подписи и проверки d и Q рекомендуется использовать только для проверки корректной работы конкретной реализации алгоритмов, описанных в настоящем стандарте.
Все числовые значения приведены в десятичной и шестнадцатеричной записи. Нижний индекс в записи числа обозначает основание системы счисления. Символ "\\" обозначает перенос числа на новую строку. Например, запись
представляет целое число 1234567890, соответственно, в десятичной и шестнадцатеричной системах счисления.
Б.1 Параметры схемы цифровой подписи
Для формирования и проверки цифровой подписи должны быть использованы следующие параметры (см. 5.2).
Б.1.1 Модуль эллиптической кривой