03.com.ua- свободная медицинская энциклопедия. Каждый зарегистрированый участник может редактировать статьи

ГОСТ Р 34.10-2001

Материал из 03.com.ua.
Перейти к навигации Перейти к поиску

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

Описание

ГОСТ Р 34.10-2001 основан на эллиптических кривых.

Параметры подписи

Параметры схемы цифровой подписи

Секретный ключ подписи

  • d - целое число, 0 < d < q

Открытый ключ подписи

  • Q(xQ, yQ) – точка эллиптической кривой, dP = Q.

Алгоритм формирования подписи

Для получения подписи сообщения М, необходимо выполнить следующие действия:

  1. Вычислить хэш-код сообщения М: h = h(M)
  2. Вычислить целое число α, двоичным представлением которого является h, и определить е ≡ α (mod q). Если е = 0, то определить е =1
  3. Сгенерировать случайное (псевдослучайное) целое число k, удовлетворяющее неравенству: 0 < k < q
  4. Вычислить точку эллиптической кривой С = kP, и определить r ≡ xc (mod q), где xc – х- координата точки С. Если r = 0, то вернуться к шагу 3
  5. Вычислить значение: s ≡ (rd+ke) (mod q). Если s = 0, то вернуться к шагу 3.

Конкатенация двух двоичных векторов (r||s) - подпись.

Алгоритм проверки подписи

  1. По полученной подписи ζ вычислить целые числа r и s. Если выполнены неравенства 0 < r < q, 0 < s < q, то перейти к следующему шагу. В противном случае подпись неверна.
  2. Вычислить хэш–код полученного сообщения М: h = h(M).
  3. Вычислить целое число α, двоичным представлением которого является вектор h, и определить е ≡ α (mod q). Если е = 0, то определить е =1.
  4. Вычислить v ≡ e-1 (mod q).
  5. Вычислить значения: z1 ≡ sv (mod q), z2 ≡ –rv (mod q)
  6. Вычислить точку эллиптической кривой С = z1P + z1Q и определить R ≡ xc(mod q), где xC – х-координата точки С.

Если выполнено равенство R=r, то подпись принимается, в противном случае, подпись неверна.

Шаблон:Stub