Алгоритм EC-DSA був схвалений (та рекомендований) федеральним урядом Сполучених штатів, а уряд Південної Кореї запропонував до затвердження алгоритм EC-KCDSA.
Таблиця 1 - Порівняння описів та операцій
EC-DSA |
EC_GDSA |
EC-KCDSA |
|
Таємні Параметри безпеки |
|||
Вимоги до |
|||
Особистий ключ |
|||
Обчислення відкритого ключа |
|||
Вироблення цифрового підпису |
|||
Розмір цифрового підпису |
|||
Перевіряння цифрового підпису |
Таблиця 2. Порівняння числа операцій
Процес |
Операція |
EC-DSA |
EC-GDSA |
EC-KCDSA |
Вироблення цифрового підпису |
1 |
1 |
2 |
|
1 |
1 |
0 |
||
1 |
0 |
0 |
||
Множення в |
2 |
2 |
1 |
|
Додавання (або віднімання) в |
1 |
1 |
1 |
|
Скалярне множення точки кривої |
1 |
1 |
1 |
|
Перевіряння цифрового підпису |
1 |
1 |
2 |
|
1 |
1 |
0 |
||
1 |
1 |
0 |
||
Множення в |
2 |
2 |
0 |
|
Скалярне множення точки кривої |
2 |
2 |
2 |
|
Додавання точок на кривій |
1 |
1 |
1 |
(інформаційний)
Приклади
Всі числа в цьому прикладі дані в шістнадцятковій системі числення.
Скінченне поле задають простим числом
D148F03F 28C5981C 59D0A732 DF3C94F0 DD0F4405 4C8320AF
Кожен елемент подають як ціле число .
Еліптична крива E над полем задається у вигляді
де
a = 578EC8B0 4D37D261 C37D4472 4C22CC4D 53854A60 82204CDC
та
b= 128A1341 26C047E7 D24E3EFA E77B93D1 3C66A4BE 533882117.4.
Тоді порядок еліптичної кривої обчислюють та розкладають на множники таким чином:
#(E) = D148F03F 28C5981C 59D0A734 20C0337C 203CACD4 0C7DD24B =
де подають таким чином:
n= 45C2FABF B841DD5E C89AE266 B595667E B5698EF1 597F46117.
Базову точку , що породжує циклічну підгрупу простого порядку кривої , подають таким чином:
= 89565C06 A278E3CE 5BC36D7D F76521F9 E8A13D8B 359DB4CC
= 5FB2293B 428E873C 3A7AD24B 65569F80 83ABDCA9 A406EE2E.
У цьому прикладі використовують RIPEMD-160 у якості геш-функції , що має довжину вихідних даних 160біт.
Ключі для алгоритму EC-GDSA виробляють таким чином:
Об’єкт А обирає випадкове ціле число t , що належить діапазону {1,..., n -1}. У цьому прикладі ми беремо
t = 268FE05E 70EEFB70 877B1729 061976EF 931F170A C169C230.
Таким чином, особистий ключ об’єкта А є таким
= 40F95B49A3B1BF55 311A56DF D3B5061E E1DF6439 84D41E35
а його чи її відкритий ключ є точкою кривої E, де
= 0B1A7C6E F6F2FEC9 718F9CA6 D3D2A1CC 8BD95EBD 35340816 та
= 6286423F BB294E91 3006F359 A5BAF501 058ACB5C 7FF793417.
Для того, щоб підписати повідомлення M = 'message digest' в ASCII-кодах, об’єкт A виконує такі кроки:
1. Використовуючи алгоритм RIPEMD-160, об’єкт A одержує геш-значення
e = h(M) = 5D0689EF 49D2FAE5 72B881B1 23A85FFA 21595F317.4.3.
2. Об’єкт А обирає випадкове ціле число , що належить діапазону {1, ... , n- 1}. Для цього прикладу, об’єкт A обирає
k =19E489 19EA2B66 D69ADF2B 8110B35B 358DAB4D 185D4D817.4.2.
3. Об’єкт A обчислює точку еліптичної кривої :
=1DF6E5EA 619D2CE8 B172B6BE AB159B8E 71A25CF0 B2CB5B19
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.