История

Данный алгоритм разработан главным управлением безопасности связи Федерального агентства правительственной связи и информации при Президенте Российской Федерации при участии Всероссийского научно-исследовательского института стандартизации. Разрабатывался взамен ГОСТа Р 34.10-94 для обеспечения большей стойкости алгоритма.

Описание

ГОСТ Р 34.10-2001 основан на эллиптических кривых. Его стойкость основывается на сложности взятия дискретного логарифма в группе точек эллиптической кривой, а также на стойкости хэш-функции по ГОСТу Р 34.11. После подписывания сообщения М к нему дописывается цифровая подпись размером 512 бит и текстовое поле. В текстовом поле могут содержаться, например, дата и время отправки или различные данные об отправителе:

Основным достоинством криптосистем на основе эллиптических кривых является то, что они обеспечивают надежность, адекватную классическим криптосистемам (RSA) на существенно меньших по длине ключах, что положительно отражается на времени кодирования и декодирования. Криптосистемы цифровой подписи на основе эллиптических кривых с длиной ключа 160 бит имеют одинаковую стойкость с криптосистемами DSA и Эль-Гамаля с длиной ключа 1024 бита. Ожидается, что в ближайшем будущем данные системы займут доминирующее положение в криптографии с открытым ключом. Однако, это повлечет более серьезные исследования свойств этих криптоалгоритмов, что может привести к появлению новых, более эффективных алгоритмов решения проблемы дискретного логарифма в группе точек эллиптических кривых.

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

· простое число p — модуль эллиптической кривой такой, что p > 2255

· эллиптическая кривая E задается своим инвариантом J(E) или коэффициентами

где Fp —конечное простое поле. J(E) связан с коэффициентами a и b следующим образом

 

при этом

 

· целое число m — порядок группы точек эллиптической кривой (то есть число элементов группы). m не должно совпадать с p

· простое число q, порядок одной из циклических подгрупп группы точек эллиптической кривой, то есть выполняется m = nq, для некоторого n є N .

Так же q лежит в пределах 2254 < q < 2256.

· точка P (xp, yp)≠0 эллиптической кривой E,

· являющаяся генератором подгруппы порядка q, или другими словами qP = 0. Здесь qP = P + P + ...(q раз). А 0 - нулевой элемент группы точек эллиптической кривой.

· h(M) — хэш-функция (ГОСТ Р 34.11-94), которая конечные сообщения M отображает в двоичные вектора длины 256 бит.

Каждый пользователь цифровой подписи имеет личные ключи:

• ключ шифрования d — целое число, лежащее в пределах

• 0 < d < q.

• ключ расшифрования Q (xq, yq)— точка эллиптической кривой, dP = Q.

При этом должны выполняться

где

И

Формирование цифровой подписи

  1. Вычисление хэш-функции от сообщения М: h(M)
  2. Вычисление e = z (mod q), и если e = 0, положить e = 1. Где z — целое число
  3. Генерация случайного числа k, такого что 0 < k < q
  4. Вычисление точки эллиптической кривой C = kP, и по ней нахождение r = xc(mod q) (xc — координата x точки C). Если r = 0, возвращаемся к предыдущему шагу.
  5. Нахождение s = rd + ke(mod q). Если s = 0, возвращаемся к шагу 3.
  6. Формирование цифровой подписи , где r и s — векторы, соответствующие r и s.

• Проверка цифровой подписи

  1. Вычисление по цифровой подписи чисел r и s, учитывая, что ξ =(r | s), где r и s — числа, соответствующие векторам r и s. Если хотя бы одно из неравенств r < q и s < q неверно, то подпись неправильная.
  2. Вычисление хэш-функции от сообщения М: h(M)
  3. Вычисление e = z(mod q), и если e = 0, положить e = 1. Где z — целое число соотвествующее h(M)
  4. Вычисление v = e - 1(mod q).
  5. Вычисление z1 = sv(mod q) и z2 = - rv(mod q)
  6. Вычисление точки эллиптической кривой C = z1P + z2Q. И определение R = xc(mod q), где xc — координата x кривой C. В случае равенства R = r подпись правильная, иначе — неправильная.

Государственная дума на заседании 25 марта 2011 приняла в третьем, окончательном чтении закон «Об электронной подписи», который заменит действующий сейчас федеральный закон №1 от 10 января 2002 года «Об электронной цифровой подписи».

Принятие нового закона вызвано необходимостью устранить некоторые недостатки существующего законодательства, а также привести российские принципы регулирования электронных подписей в соответствие с европейскими нормами.

Согласно новому закону, электронная подпись определяется как информация в электронно-цифровой форме, которая используется для идентификации физического или юридического лица.

Определены три вида электронной подписи: простая, усиленная и квалифицированная электронная подпись. Средства, с помощью которых осуществляется создание подписи и её проверка, должны соответствовать установленным требованиям и содержать элементы криптографии. Законопроект регулирует выдачу и использование сертификатов ключа подписи, а также аккредитацию и оказание услуг удостоверяющих центров. Предусмотрены механизмы признания иностранных электронных подписей.

Закон вступит в силу после подписания его Президентом РФ и официального опубликования. При этом федеральный закон «Об электронной цифровой подписи» признается утратившим силу с 1 июля 2012 года. Сертификаты ключей подписи, выданные в соответствии с действующим законом, будут действовать до истечения установленного в них срока.