- •Правительство Российской Федерации
- •Глава 1. Электронный документооборот
- •1.1. Понятие электронного документооборота
- •1.2. Электронный документ
- •1.3. Правовое регулирование электронного документооборота
- •Глава 2. Электронная цифровая подпись
- •2.1. Описание и виды
- •2.2. Эволюция стандартов
- •2.3. Назначение и сферы применения
- •Глава 3. Анализ алгоритмов эцп в электронном документообороте
- •3.1. Гост р 34.10-94
- •3.2. Гост р 34.10-2001
- •3.3. Гост р 34.10-2012
- •Сравнительная характеристика отечественных госТов
- •3.4. Анализ
- •Оценка вероятности взлома хэш-фукнции для различной длины хэша
- •Трудоемкость взлома российских стандартов эцп
- •3.5. Выводы
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), где x, y - элементы поля Fp, удовлетворяющие уравнению (1), называются точками эллиптической кривой E; x и 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).