Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
moskalev_pa_analiz-algoritmov-elektronnoy-cifrovoy-podpisi-primenitelno-k-elektronnomu-dokumentooborotu_11706.docx
Скачиваний:
57
Добавлен:
14.01.2018
Размер:
385.65 Кб
Скачать

3.2. Гост р 34.10-2001

Как было сказано во второй главе, в 2002 году взамен стандарта ГОСТ Р 34.10-94 был введен стандарт ГОСТ Р 34.10-2001 для обеспечения большей криптостойкости. Стоит отметить, что стандарт 2001-го года, также как и старый ГОСТ, использует хэш-функцию, описанную в ГОСТ Р 34.11-9410. Основным и достаточно значим отличием нового ГОСТа от предыдущего является использование математического аппарата эллиптических кривых. Именно это изменение и привносит существенное повышение криптостойкости данного стандарта. Что же такое эллиптическая кривая?

Эллиптической кривой Е, определенной над конечным простым полем Fp (где p > 3 - простое число), называется множество пар (x, y), x, удовлетворяющих уравнению [8]:

где a, и не сравнимо с нулем по модулю p.

Инвариантом эллиптической кривой называется величина J(E), удовлетворяющая уравнению [8]:

Пары (x, y), где xy - элементы поля Fp, удовлетворяющие уравнению (1), называются точками эллиптической кривой Ex и y - соответственно x- и y- координатами точки [8].

Точка эллиптической кривой обозначается или просто Q. Две точки эллиптической кривой равны, если равны их соответствующие x- и у-координаты [8].

Алгоритм выработки ЭЦП в отечественном стандарте 2001-го года можно представить в виде следующих шагов [4]:

Шаг 1: вычислить хэш-код сообщения M : =h(M)

Шаг 2: вычислить целое число а, двоичным представлением которого является вектор, и определитьe , гдеq - простое число,2254 q 2256.

Шаг 3: сгенерировать случайное (псевдослучайное), целое число k, удовлетворяющее неравенству0 < k < q

Шаг 4: вычислить точку эллиптической кривой С = kpи определитьr, где - x-координата точки С. Еслиr = 0, вернуться к шагу 3.

Шаг 5: вычислить значение s .Еслиs=0, вернуться к шагу 3.

Шаг 6: вычислить двоичные векторы и, соответствующиеr иsи определить цифровую подписьdsкак конкатенацию двух двоичных векторови.

Исходными данными этого процесса являются ключ подписи dи подписываемое сообщениеM, а выходным результатом – цифровая подписьds.

Основным и единственным отличием алгоритма формирования подписи в данном стандарте является вычисление значения r (Шаг 4).

В соответствии со стандартом ГОСТ Р 34.10-2001, алгоритм проверки подписи состоит из следующих шагов [4]:

Шаг 1: по полученной подписи ds, вычислить целые числаr иs. Если выполнены неравенства0 < r < q,0 < s < q, то перейти к следующему шагу. В противном случае подпись неверна.

Шаг 2: вычислить хэш-код сообщения M : =h(M)

Шаг 3: вычислить целое число а, двоичным представлением которого является вектор, и определитьe , гдеq– порядок циклической группы точек эллиптической кривой. Еслиe = 0, то определитьe = 1.

Шаг 4: вычислить значение v

Шаг 5: вычислить значение .

Шаг 6: вычислить точку эллиптической кривой и определить, где-x-координата точкиС.

Шаг 7: если выполнено равенство R = r, то подпись принимается, в противном случае – подпись неверна.

Исходными данными этого процесса являются сообщение M, цифровая подписьdsи ключ проверки подписиQ, а выходным результатом – свидетельство о достоверности или ошибочности данной подписи. Процесс выработки электронной цифровой подписи можно представить в виде следующей схемы:

Основным и единственным отличием алгоритма проверки подписи в данном стандарте является вычисление значения R (Шаг 6).