Стандарт цифровой подписи гост р 34.10-2001

С повышением производительности вычислительных средств и усовершенствованием алгоритмов вычисления логарифмов в конечном поле появилась потребность в повышении стойкости ЭЦП к различного рода атакам. В связи с этим был разработан стандарт ГОСТ Р 34.10-2001 «Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи», введенный с 1 июля 2002 г. вместо ранее действовавшего стандарта ГОСТ Р 34.10-94.

В данном стандарте используются операции группы точек эллиптической кривой над конечным полем. Применяется эллиптическая кривая Е в форме Вейерштрасса над простым полем, задаваемая коэффициентами а и b или величиной J(E), называемой инвариантом эллиптической кривой: Коэффициенты а и b кривой Е определяются по известному инварианту. Точку Q будем называть точкой кратности к, к е Z, если для некоторой точки Р выполнено равенство Q = кР.

Параметрами схемы ЭЦП являются следующие значения: р - модуль эллиптической кривой, простое число; р > 2255; эллиптическая кривая, задаваемая инвариантом J(E) или коэффициентами а и Ь; целое число т - порядок группы точек эллиптической кривой Е; простое число q - порядок циклической подгруппы группы точек эллиптической кривой Е, для которого выполнены следующие условия:

Базовая точка Р Ф 0 на кривой, имеющая порядок q, т.е. удовлетворяющая равенству qP = 0. Координаты точки обозначим через (хр, ур);

хеш-функция, отображающая сообщения произвольной длины в множество двоичных векторов длины 256. Хеш-функция определена стандартом ГОСТ Р 34.11-94.

Каждый пользователь схемы ЭЦП должен обладать личной ключевой парой:

  • • секретный ключ пользователя - целое число d, 0 < d < q;
  • • открытый ключ пользователя - точка Q с координатами (xq, yq), удовлетворяющая равенству dP = Q.

Параметры ЭЦП должны удовлетворять следующим условиям:

р t Ф l(mod q ) , для всех целых t = 1,2, ..., В, где В удовлетворяет неравенству В > 31; т Ф р; J(E) Ф 0 или 1728.

Двоичному вектору h = (а 255.....а 0 ) ставится в соответствие число

255 а = X ex i 2t. i =0

ЭЦП под сообщением М вырабатывается по следующему алгоритму:

  • 1. Вычислить хеш-функцию сообщения М: h = h(M).
  • 2. Вычислить целое число а, двоичным представлением которого является вектор h, и определить е = a(mod q). Если е = 0, то задать е = I.
  • 3. Сгенерировать (псевдо)случайное целое число к, удовлетворяющее неравенствам 0 < к < q;
  • 4. Вычислить точку эллиптической кривой С = кР и положить

г = хс (mod q), где хс - х - координата точки С. Если г = 0, то вернуться на шаг 3.

  • 5. Вычислить значение s = (rd + kc)(mod q). Если s = 0, то вернуться на шаг 3.
  • 6. Вычислить двоичные векторы, соответствующие числам г и s. Определить цифровую подпись ? = ( г s ) как конкатенацию двух двоичных векторов.

Для проверки подписи С, под полученным сообщением М необходимо выполнить следующие действия, используя ключ проверки подписи Q.

  • 1. По полученной подписи ? вычислить целые числа гиб. Если выполнены неравенства 0 < г < q, 0 < s < q, то перейти к следующему шагу. В противном случае подпись неверна.
  • 2. Вычислить хеш-функцию полученного сообщения М:

  • 3. Вычислить целое число а, двоичным представлением которого является вектор h и определить е = a(mod q ). Если е = 0, то задать е = 1.
  • 4. Вычислить значение v = е -1 (mod q ).
  • 5. Вычислить значения zl = sv (mod q), 7.2 = - rv(mod q).
  • 6. Вычислить точку эллиптической кривой С = zlP + z2Q и определить R = хс (mod q), где хс - х-координата точки С.
  • 7. Если выполнено равенство R = г, то подпись принимается, в противном случае подпись неверна.
 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >