ГОСТ Р 34.10-2001. Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи (применение прекращено с 01 января 2013 г., взамен введен ГОСТ Р 34.10-2012) |
Общепризнанная схема (модель) цифровой подписи (см. 6 ИСО/МЭК 14888-1 [3]) охватывает три процесса:
- генерация ключей (подписи и проверки);
- формирование подписи;
- проверка подписи.
В настоящем стандарте процесс генерации ключей (подписи и проверки) не рассмотрен. Характеристики и способы реализации данного процесса определяются вовлеченными в него субъектами, которые устанавливают соответствующие параметры по взаимному согласованию.
Механизм цифровой подписи определяется посредством реализации двух основных процессов (см. раздел 6):
- формирование подписи (см. 6.1);
- проверка подписи (см. 6.2).
Цифровая подпись предназначена для аутентификации лица, подписавшего электронное сообщение. Кроме того, использование ЭЦП предоставляет возможность обеспечить следующие свойства при передаче в системе подписанного сообщения:
- осуществить контроль целостности передаваемого подписанного сообщения,
- доказательно подтвердить авторство лица, подписавшего сообщение,
- защитить сообщение от возможной подделки.
Схематическое представление подписанного сообщения показано на рисунке 1.
Рисунок 1 - Схема подписанного сообщения
Поле "текст", показанное на данном рисунке и дополняющее поле "цифровая подпись", может, например, содержать идентификаторы субъекта, подписавшего сообщение, и/или метку времени.
Установленная в настоящем стандарте схема цифровой подписи должна быть реализована с использованием операций группы точек эллиптической кривой, определенной над конечным простым полем, а также хэш-функции.
Криптографическая стойкость данной схемы цифровой подписи основывается на сложности решения задачи дискретного логарифмирования в группе точек эллиптической кривой, а также на стойкости используемой хэш-функции. Алгоритм вычисления хэш-функции установлен в ГОСТ Р 34.11.
Параметры схемы цифровой подписи, необходимые для ее формирования и проверки, определены в 5.2.
Стандарт не определяет процесс генерации параметров схемы цифровой подписи. Конкретный алгоритм (способ) реализации данного процесса определяется субъектами схемы цифровой подписи исходя из требований к аппаратно-программным средствам, реализующим электронный документооборот.
Цифровая подпись, представленная в виде двоичного вектора длиной 512 бит, должна вычисляться с помощью определенного набора правил, изложенных в 6.1.
Набор правил, позволяющих либо принять, либо отвергнуть цифровую подпись под полученным сообщением, установлен в 6.2.
Для определения схемы цифровой подписи необходимо описать базовые математические объекты, используемые в процессах ее формирования и проверки. В данном разделе установлены основные математические определения и требования, накладываемые на параметры схемы цифровой подписи.
Пусть задано простое число р > 3. Тогда эллиптической кривой Е , определенной над конечным простым полем ,
называется множество пар чисел
, удовлетворяющих тождеству
(1)
где и
не
сравнимо с нулем по модулю р .
Инвариантом эллиптической кривой называется величина J(E) , удовлетворяющая тождеству
(2)
Коэффициенты a, b эллиптической кривой Е , по известному инварианту J(E) , определяются следующим образом
где
или 1728.
(3)
Пары (x, y) , удовлетворяющие тождеству (1), называются точками эллиптической кривой Е ; х и у - соответственно х - и у -координатами точки.
Точки эллиптической кривой будем обозначать Q(x, у) или просто Q . Две точки эллиптической кривой равны, если равны их соответствующие х- и у -координаты.
На множестве всех точек эллиптической кривой E введем операцию сложения, которую будем обозначать знаком "+". Для двух произвольных точек Q1 (x1, у1) и Q2 (х2, у2) эллиптической кривой Е рассмотрим несколько вариантов.
Пусть координаты точек Q1 и Q2 удовлетворяют
условию x1x2.
В этом случае их суммой будем называть точку Q3(x3, y3) координаты
которой определяются сравнениями
где
(4)
Если выполнены равенства и
, то определим координаты
точки Q 3 следующим образом
где
(5)
В случае, когда выполнено условие х 1 = х 2 и у 1 = - у 2 (mod р ) сумму точек Q 1 и Q 2; будем называть нулевой точкой О , не определяя ее х - и у -координаты. В этом случае точка Q 2 называется отрицанием точки Q 1. Для нулевой точки О выполнены равенства
Q + О = О + Q = Q ,
(6)
где Q - произвольная точка эллиптической кривой Е .
Относительно введенной операции сложения множество всех точек эллиптической кривой Е , вместе с нулевой точкой, образуют конечную абелеву (коммутативную) группу порядка m , для которого выполнено неравенство
(7)
Точка Q называется точкой кратности k , или просто кратной точкой эллиптической кривой Е , если для некоторой точки Р выполнено равенство
(8)
Параметрами схемы цифровой подписи являются:
- простое число р - модуль эллиптической кривой, удовлетворяющее неравенству р > .
Верхняя граница данного числа должна определяться при конкретной реализации схемы цифровой подписи;
- эллиптическая кривая Е , задаваемая своим инвариантом J(E) или коэффициентами а, ;
- целое число m - порядок группы точек эллиптической кривой Е;
- простое число q - порядок циклической подгруппы группы точек эллиптической кривой Е, для которого выполнены следующие условия:
(9)
- точка Р О эллиптической кривой Е , с координатами
,
удовлетворяющая равенству qP = О ;
- хэш-функция отображающая сообщения, представленные в виде двоичных векторов произвольной конечной длины, в двоичные
вектора длины 256 бит. Хэш-функция определена в ГОСТ Р 34.11.
Каждый пользователь схемы цифровой подписи должен обладать личными ключами:
- ключом подписи - целым числом d , удовлетворяющим неравенству 0 < d < q ;
- ключом проверки - точкой эллиптической кривой Q с координатами , удовлетворяющей равенству dP = Q .
На приведенные выше параметры схемы цифровой подписи накладываются следующие требования:
- должно быть выполнено условие для всех целых t = 1, 2, ... В , где B удовлетворяет
неравенству В
31;
- должно быть выполнено неравенство m p ;
- инвариант кривой должен удовлетворять условию J(E) 0 или 1728.