Скачиваний:
38
Добавлен:
30.05.2023
Размер:
988.67 Кб
Скачать

Возведение в степень

Возведение в k -ую степень “точки P на

эллиптической кривой понимается

как k -кратное сложение этой точки с самой собой на этой кривой: Pk P P ... P .

Число q, при котором qP=O, называется порядком точки P.

54

Использование ЭК в криптосистемах

основывается на сложности для нарушителя решения следующей задачи:

Даны точки ЭК P и Q, найти число x такое, что P=xQ?

Эта задача называется задачей логарифмирования в группе точек эллиптической кривой

55

Параметры

ГОСТ Р 34.10-2001, ГОСТ Р 34.10-2012

Длина подписываемого сообщения неограничена;

Длина подписи - 512 бит; (1024 бит) Длина ключа подписи -256 бит; (512 бит)

Длина ключа проверки подписи- определяется числом p, p> 2255

56

Параметры ЭЦП

Выбираются общесистемные параметры:

-p- модуль эллиптической кривой, простое число p>2255; -эллиптическая кривая E, удовлетворяющая уравнению

y2=x3+ax+b, где a,b GF(p) , 4a3+276b2 0(modp);

- целое число m – порядок группы точек эллиптическорй кривой -простое число q – порядок подгруппы группы точек

эллиптической кривой E,для которой выполнены следующие условия m nq, n Z, n 1

2254 < q < 2256, или 2508 < q < 2512

-ненулевая точка кривой P с координатами (xp, y p), удовлетворяющая равенству q P = O. (Базовая точка)

-хэширующая функция h(/)_

57

Генерирование ключей

Ключом подписи является равновероятное целое число d (0 < d < q),

Ключ проверки подписи формируется в виде точки Q эллиптической кривой с

координатами (xq, yq), вычисляемой по правилу d P = Q.

58

Алгоритм формирования подписи на эллиптической кривой по ГОСТ Р34.10-12

1. Заверяемое сообщение сначала хэшируется с использованием хэш-функции по ГОСТ P34.11-12

2.Генерируется случайное число k ,

3.Вычисляется точка С эллиптической кривой умножением

точки P на число k: С( xС , y C) = k P( xP , y P),

4.Определяется первый параметр подписи r из координаты по оси абсцисс вычисленной точки r = xС (mod q).

5.Вычисляется второй параметр подписи по правилу

s = (r d + k h (M)) (mod q).

6, Определить ЭЦП, как конкатенацию r и s,

59

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

1.Вычисляется значение v = h (M^) - 1 (mod q).

2.Вычисляются два числа:

z1 = sv (mod q) и z2 = (q r^) v (mod q).

3. Находится точка С эллиптической кривой

С( xС , y C) = z1 P( xP , y P) + z2 Q(xq, yq).

4. Из координаты по оси абсцисс этой точки определяется значение

R= xС (mod q)

5.Проверяется выполнение равенства

R r .

6. При выполнении равенства подлинность полученного сообщения и авторство удостоверены, 60

Формирование подписи в ГОСТ Р34.10-01,

ГОСТ Р34.10-12

 

Н АЧАЛО

 

 

Ввод сообщения M

 

 

и ключа подписи d

 

 

Хеширование сообщения h (M )

 

 

 

 

да

 

 

 

h( M ) 0

 

 

 

 

нет

Установить

h(M ) 000 . . . 01

Генерирование случайного

 

 

числа k,

0 < k < q

 

 

Вычисление точки эллиптической

 

 

кривой С ( xC , yC ) k P( xP , yP )

 

 

Вычисление первого параметра

 

 

подписи

r xС (mod q)

 

 

да

r = 0

 

 

 

 

 

 

 

нет

 

 

Вычисление второго параметра

 

 

подписи

s (rd kh (M )) mod q

 

 

да

s = 0

 

 

 

 

 

 

 

нет

 

 

Передача сообщения М и его

 

 

цифровой подписи {r, s}

 

61

 

 

 

 

КОНЕЦ

 

 

 

 

 

 

 

Проверка подписи в

Н АЧАЛО

ГОСТ Р34.10-01, ГОСТ Р34.10-01

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ввод принятых сообщения

 

 

 

 

 

M

 

 

 

 

 

и его цифровой подписи

 

 

 

 

 

 

 

{r, s}

 

 

 

 

 

 

 

 

 

нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 r q

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

да

 

 

нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 s q

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Хеширование сообщения

 

 

 

 

 

 

 

 

 

 

h(M )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h(M ) 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Установить

 

 

 

 

 

 

 

 

нет

 

 

 

h(M ) 000 . . . 01

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вычисление

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

v h(M ) 1 (mod q)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вычисление значений

 

 

 

 

 

 

 

 

 

 

Z 1 sv mod q

 

 

 

 

 

 

 

 

 

 

Z 2 rv mod q

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вычисление точки эллиптической кривой

 

 

 

 

 

 

 

 

C ( x c , yc ) Z 1P( x p , y p ) Z 2Q( x q , yq )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вычисление

 

 

R xc (mod q)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R

r

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Подлинность принятого

 

 

 

 

 

 

 

 

 

 

сообщения и авторство

 

 

 

Подпись неверна

отправителя удостоверены

 

 

 

 

62

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

КОНЕЦ