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

– відкриття підписаного повідомлення;

– перевіряння розміру підпису;

– відновлення попереднього підпису або вхідних даних;

– відновлення вхідних даних або повідомлення;

– повторне обчислення геш - токену (необов’язкове);

– зіставлення підпису.

Зіставлення підпису зводиться до виконання з :

– порівняння відновлених і повторно обчислених (обрізаних) геш - токенів;

– перевіряння надлишковості.

Рисунок 3.2 – Процес перевіряння підпису

Проведемо аналіз основних етапів перевіряння підпису .

17.3.1 Відкриття підписаного повідомлення

На початку цього кроку перевірник повинен мати доступ до такої інформації:

– довжин різних частин повідомлення, що містяться у підписаному повідомленні;

– значення параметрів ,  та .

Перевірник витягує різні частини підписаного повідомлення у такому порядку:

–частину повідомлення, що не відновлюється;

– перша частина  підпису;

– друга частина   підпису.

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

Перевірник має перевірити розмір частин підпису.

17.3.3 Відновлення попереднього підпису та вхідних даних

На початку цього кроку перевірник повинен мати доступ до такої інформації:

– відкриті параметри, які визначають схему підпису, що використовується;

– відкритий ключ перевірки  об'єкту, що підписав.

Обчислення на цьому кроці залежать від схеми підпису, що використовується. Попередній підпис і вхідні дані відновлюються з підпису як визначено в п. 17.12.6 і 17.3.4, відповідно стандарту що аналізується. Відновленим попереднім підписом є  , а відновленими вхідними даними є .

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

Відновлені вхідні дані  перетворюються на рядок бітів. Вхідними даними  є:

– геш - токен;

– повідомлення, що відновлюється, з доданою надлишковістю;

– повідомлення, що відновлюється, з природною надлишковістю.

17.3.6 Повторне обчислення геш - токену

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

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

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

Зіставлення підпису складається з наступних кроків.

Спочатку виконується порівняння відновленого і повторно обчисленого (обрізаного) геш – токенів. Ця процедура складається з порівняння повторно обчисленого (обрізаного) геш - токену  та відновленого (обрізаного) геш - токену . Підпис має відхилятися, тобто визначатись не дійсним, якщо ці два значення не рівні. Далі робиться перевіряння надлишковості.

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

17.4 Аналіз підпису ECNR (підпис Ніберга-Рюпеля з відновленням повідомлення, заснований на еліптичній кривій)

Підпис ECNRвідомий під назвою підпису Ніберга – Рюпеля. Він заснований на перетворенні в групі точок еліптичних кривих  та механізмі відновл6ення повідомлення. ECNR засновано на схемі підпису, яку визначено в [4].

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

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

Особистий ключ підпису  відповідно об’єкту є випадковим цілим числом, що вибраний з інтервалу  Відкритий ключ перевірки  об’єкту , обчислюється згідно 17.12.1 стандарту, тобто .

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

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

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

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

– дані , елемент .

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

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

17.4.2.1 Генерація ключа сеансу і попереднього підпису. При цьому необхідно:

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

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

17.4.2.2 Обчислення за модулем порядку базової точки G. Для цього необхідно.

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

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

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

4. Знищити .