Методы факторизации натуральных чисел. Ишмухаметов Ш.Т. - 97 стр.

UptoLike

Составители: 

Глава 3. Эллиптические кривые 98
к незашифрованному сообщению. Тем самым получатель, не зная k , но имея
свой закрытый ключ, может восстановить незашифрованное сообщение.
Замечание. Здесь надо еще сказать, как кодировать текстовое
сообщение точками кривой. Для этого сообщение разбивается на отдельные
символы, и каждый символ заменяется его числовым кодом. Можно
использовать какую-нибудь стандартную кодировку типа ASCII, DOS-866
или WIN1251 либо просто перенумеровать все буквы последовательными
цифрами.
Далее надо каждому коду .е. числу от 0 до 255) сопоставить
какую-нибудь точку на кривой. Самый простой вариант это составить
таблицу, сопоставив символу с кодом k координату x точки kG. Другой
вариант воспользоваться тем свойством, для любого числа x [n/2]
на эллиптической кривой с высокой вероятностью найдется точка с
координатами U
1
(2x, y
1
) или U
2
(2x + 1, y
2
), которая будет служить образом
для кода x. Действительно, зная координаты (x
0
, y
0
) любой из точек U
1
или
U
2
можно восстановить x, вычисляя целую часть от x
0
/2.
Построение электронной цифровой подписи с использованием ЭК
Алгоритм ECDSA (Elliptic Curve Digest Signature Algorithm) принят в
качестве стандартов ANSI X9F1 и IEEE P1363. Создание ключей:
1. Выбирается эллиптическая кривая E
p
(a, b). Число точек на ней должно
делиться на большое простое число n.
2. Выбирается базовая точка G E
p
(a, b) порядка n, n · G = .
3. Выбирается случайное число d (1, n).
4. Вычисляется Q = d · G.
5. Закрытым ключом является d, открытым ключом - кортеж <
a, b, G, n, Q >.
Создание подписи:
Глава 3. Эллиптические кривые                                             98

к незашифрованному сообщению. Тем самым получатель, не зная k , но имея
свой закрытый ключ, может восстановить незашифрованное сообщение.
      Замечание. Здесь надо еще сказать, как кодировать текстовое
сообщение точками кривой. Для этого сообщение разбивается на отдельные
символы, и каждый символ заменяется его числовым кодом. Можно
использовать какую-нибудь стандартную кодировку типа ASCII, DOS-866
или WIN1251 либо просто перенумеровать все буквы последовательными
цифрами.
      Далее надо каждому коду (т.е. числу от 0 до 255) сопоставить
какую-нибудь точку на кривой. Самый простой вариант – это составить
таблицу, сопоставив символу с кодом k координату x точки kG. Другой
вариант – воспользоваться тем свойством, для любого числа x ≤ [n/2]
на эллиптической кривой с высокой вероятностью найдется точка с
координатами U1 (2x, y1 ) или U2 (2x + 1, y2 ), которая будет служить образом
для кода x. Действительно, зная координаты (x0 , y 0 ) любой из точек U1 или
U2 можно восстановить x, вычисляя целую часть от x0 /2.

Построение электронной цифровой подписи с использованием ЭК

      Алгоритм ECDSA (Elliptic Curve Digest Signature Algorithm) принят в
качестве стандартов ANSI X9F1 и IEEE P1363. Создание ключей:

  1. Выбирается эллиптическая кривая Ep (a, b). Число точек на ней должно
     делиться на большое простое число n.

  2. Выбирается базовая точка G ∈ Ep (a, b) порядка n, n · G = ∞.

  3. Выбирается случайное число d ∈ (1, n).

  4. Вычисляется Q = d · G.

  5. Закрытым ключом является d, открытым ключом - кортеж <
     a, b, G, n, Q >.

      Создание подписи: