Перспективні ЕЦП в групі точок еліптичних кривих, страница 4

17.4.3 Цифровий підпис

Пара цілих чисел  становить цифровий підпис повідомлення  об’єкта А.

17.4.4 Процес перевіряння цифрового підпису

Процес перевіряння цифрового підпису складається з 4 кроків: перевіряння розміру цифрового підпису; обчислення геш-значення повідомлення; обчислення на еліптичних кривих та перевіряння цифрового підпису.

Вхідними даними для процесу перевіряння цифрового підпису є такі:

-  параметри домену;

-  відкритий ключ  об’єкта А;

-  геш-значення  одержане відображенням даних сертифіката  об’єкта А;

-  одержане повідомлення ;

-  одержаний цифровий підпис повідомлення , представлений двома цілими числами  та .

Для перевіряння цифрового підпису повідомлення  об’єкта , об’єктом В виконуються такі кроки.

17.4.17.4.1.1 Перевіряння розміру цифрового підпису

1. Перевіряння того, що  та ; Якщо хоч одна умова не виконується, тоді цифровий підпис відхиляється.

17.4.17.4.1.2 Обчислення геш-значення

2. Обчислення геш-значення .

17.4.17.4.1.3 Обчислення на еліптичній кривій

3 . Обчислення . Якщо , тоді .

17.4.1. Обчислення .

17.4.17.4.1.4 Перевіряння цифрового підпису

17.4.2. Перетворення координати  в  байтовий рядок та присвоєння його значення змінній с

6.  Обчислення .

Якщо , тоді цифровий підпис повинен прийматися перевірником. Якщо , тоді цифровий підпис повинен відхилятися перевірником.

Примітка. Як і у випадку з відкритим ключем, якщо використовують несправжнє геш-значення  як вхідні дані, тоді процес перевіряння цифрового підпису буде автоматично невдалим.


17.5 Протокол ЕЦП Шнора

Протокол Шнора  має ряд недоліків, основними з них є такі:

- необхідно виконати три раунди (передачі);

- складною є групова автентифікація;

- субєкту В необхідно формувати випадкове значення  е тощо.

Для забезпечення стійкості суб’єкти А та В повинні генерувати випадкове е, яке повинне співпадати. Ця задача розв’язана за рахунок використання геш-функції:

.

Сутність протоколу.

Суб’єкт А генерує особистий ключ  та обчислює відкритий ключ:

;

,

де т – підписуєме повідомлення.

.

Особливості:

1)  е змінюється для одного і того ж т;

2)  сам підпис є разовим (залежить від  та );

3)  В обчислює ,  причому

.

На відміну від протоколу Шнора, ЕЦП Шнора вже забезпечує дві функції:

1) автентифікація А;

2) якщо  викривлено,  буде відрізнятись та е не обчислюється. Підтверджується цілісність повідомлення.

Протокол ЕЦП Шнора є одно раундовим, можна перевірити цілісність а також справжність.

Недоліки:

- забезпечення неспростовності тільки А;

- при помилках в т не зрозуміло як робити запит.

Додаток A

(інформативний)

Порівняння

У цьому додатку порівнюють властивості трьох алгоритмів цифрового підпису, ЕC-GDSA, EC-DSA та EC-KCDSA. У таблиці 1 наведено порівняння описів та умов, у таблиці 2 наведено число операцій, необхідних для формування цифрового підпису та перевіряння цифрового підпису.

Як показано у таблиці 2, алгоритми EC-DSA та EC-GDSA використовують функцію  для перетворення точки еліптичної кривої в ціле число, а алгоритм EC-KCDSA замість функції  використовує геш-функцію   (див. 17.4.2.2). Складність обчислення значення геш-функції  перевершує складність обчислення  функції перетворення . Однак доля обчислень геш-значень відносно загальних обчисленнях є незначною. Крім того, використання геш-функції у алгоритмі EC-KCDSA є засобом доведення стійкості (вводить виправлення у доказ безпечності) в моделі випадкового оракула (див. посилання [5]). Більш того, використання двох геш-функцій у алгоритмі EC-KCDSA дозволяє забезпечити стійкість (вводить виправлення у доказ безпечності), якщо одна з геш-функцій є  випадковим оракулом, а інша є колізійно-стійкою (див. [6]). На етапі вироблення цифрового підпису та при його перевірянні в алгоритмі EC-KCDSA не виконуються обчислення мультиплікативної інверсії за модулем . Ці обчислення вимагали б дуже мало часу у повному обсязі роботи по підписанню та перевірянню на більшості комп’ютерів, але це може бути достатньо дорогим у обмеженому обчислювальному середовищі, такому як смарт-карти. Отже, у деяких середовищах алгоритм EC-KCDSA може бути обчислювально більш ефективним, ніж EC-DSA. Алгоритм EC-GDSA забезпечує користувача покращеною процедурою підписування, яка не має обчислень мультиплікативної інверсії за модулем , ні геш-функції для перетворення еліптичних кривих[8]) у цілі числа.  Перевіряння цифрового підпису обчислювально еквівалентно перевірянню  цифрового підпису в алгоритмі EC-DSA.