Методи ЕЦП в групі точок ЕК з відновленням повідомлень, страница 5

Якщо процес генерації підпису виробляє  або , то процес генерації підпису має бути повторено із новим випадковим значенням .

17.4.2.3 Форматування підписаного повідомлення

Пара  приймається як підпис  для даних d.

17.4.3 Процес перевіряння підпису

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

В якості вхідних даних до процесу перевіряння підпису повинні використатись такі дані:

– доменні параметри;

– відкритий ключ перевірки  об’єкту ;

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

– повідомлення, що не відновлюється,  (за наявності).

Для перевірки підпису  для , перевірник  виконує такі кроки:

17.4.3.1 Перевіряння розміру підпису

Перевірити, що  і ; якщо це не так, відхилити підпис.

17.4.3.2 Відновлення попереднього підпису та вхідних даних (обчислення еліптичної кривої).

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

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

17.4.3.3 Відновлення вхідних даних або повідомлення

Обчислення

17.4.3.4 Зіставлення підпису

Якщо зіставлення надлишковості є вдале, то на вихід видається , інакше відхилення підпису.

17.5 Аналіз підпису ECMR (Підпис Міяджі з відновленням повідомлення, заснований на еліптичній кривій)

Підпис ECMR відомий під назвою підпису Міяджі. Він заснований на перетворенні в групі точок еліптичних кривих  та механізмі відновлення повідомлення. ECMR засновано на схемі підпису, яку визначено в [ 5].

17.5.1 Доменні параметри і параметри користувача

Ключі для ECMR формуються таким чином:

–особистий ключ підпису  об’єкту , де  – випадкове ціле число з інтервалу ;

–відкритий ключ перевірки  об’єкту ,  обчислений згідно розділу 17.12.1.

 Об’єкт  також обирає геш - функцію

 з довжиною геш значення len_n.

17.5.2 Процес генерації підпису

В якості вхідних даних використовуються такі:

– доменні параметри;

– особистий ключ підпису ;

– дані  з доданою або природною надлишковістю у .

Дані  формуються з повідомлення, див. розділ 17.117.5. Виходом процесу генерації підпису є пара , що є цифровим підписом  для даних.

17.5.3 Підписання даних

Для підписання даних ,  виконує такі кроки:

17.5.3.1 Генерація ключа сеансу та попереднього підпису (обчислення еліптичної кривої)

1. Обрати випадкове ціле  з інтервалу .

2. Обчислити точку еліптичної кривої .

17.5.3.2 Обчислення підпису (обчислення за модулем порядку базової точки )

1. Встановити .

2. Обчислити

3. Обчислити .

4. Знищити .

Якщо в процесі генерації підпису виробляється  або , то процес генерації підпису має бути повторено з новим випадковим значенням .

17.5.3.3 Форматування підписаного повідомлення

Пара є підписом  для даних .

17.5.4 Процес перевіряння підпису

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

Вхідні дані до процесу перевіряння підпису повинні містити:

– доменні параметри;

– відкритий ключ перевірки  об’єкту ;

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

– повідомлення, що не відновлюється,  (за наявності).

Для перевірки підпису  для ,  виконує такі кроки:

17.5.4.1 Перевіряння розміру підпису

Перевірити, що  та , і ; якщо це не так, відхилити підпис.

17.5.4.2. Відновлення попереднього підпису та вхідних даних (обчислення еліптичної кривої)

1. Обчислити .

2. Обчислити .

17.5.4.3. Відновлення вхідних даних або повідомлення

Обчислити .

17.5.4.4 Зіставлення підпису

Зіставлення надлишковості. Якщо зіставлення вдале, вивести , інакше відхилити підпис.

17.6. Аналіз підпису ECAO

Підпис ECAO відомий під назвою підпису Абі - Окамото. Він заснований на перетворенні в групі точок еліптичних кривих  та механізмі відновлення повідомлення. ECAO засновано на схемі підпису, яку визначено в [ 6].

17.6.1 Доменні параметри і параметри користувача

Ключі ECAO формуються таким чином:

– особистий ключ підпису  об’єкту . ДЕ  – випадкове ціле число з інтервалу ;

– відкритий ключ перевірки  об’єкту , обчислений згідно розділу 17.12.1

Об’єкт  також обирає геш-функцію

, де  кількість бітів ) і створює три геш – функції, де - випадкові бітові дані.

 та  використовуючи необхідну кількість бітів з виходу .