- •5.2 Сутність, властивості та області застосування цп з відновленням повідомлення
- •6.15.1 Цифровий підпис Ніберга - Рюпеля у скінченному полі (Nyrberg–Rueppel message recovery signature)
- •6.15.2 Цифровий підпис Ніберга - Рюпеля в групі точок еліптичних кривих (Elliptic Curve Nyrberg–Rueppel (ecnr) message recovery signature)
- •6.15.3 Цифровий підпис Міяджі з відновленням повідомлення в групі точок еліптичної кривої (Elliptic Curve Miyaji message recovery signature (ecmr))
- •6.15.4 Цифровий підпис Абі-Окамото з відновленням повідомлення в групі точок еліптичної кривої (Elliptic Curve Abe-Okamoto message recovery signature (ecao))
- •6.15.5 Цифровий підпис Пінтсова - Ванстона в групі точок еліптичних кривих (Elliptic Curve Pintsov-Vanstone (ecpv) message recovery signature)
- •6.15.6 Цифровий підпис kc dsa у групі точок еліптичної кривої
- •6.15.7 Застосування цп з відновленням повідомлення
- •6.15.8 Стійкість цп ecpv (Пінтсова - Ванстона)
- •6.15.9 Стійкість цп з відновленням повідомлень до колізій
- •6.15.10 Приклади та задачі і завдання до самостійного розв’язку
6.15.1 Цифровий підпис Ніберга - Рюпеля у скінченному полі (Nyrberg–Rueppel message recovery signature)
У 1993 році Ніберг та Рюпель запропонували схему ЦП з відновленням повідомлення, що була заснована на проблемі дискретного логарифмування в полі Галуа [44,46,340]. Вона дає перевагу при застосуванні з повідомленнями невеликого розміру. ЦП, розроблений за такою схемою, може ефективно використовуватися в інфраструктурах з відкритими ключами, у протоколах з малим розміром повідомлення, наприклад, електронних магазинах, а по суті для захисту товарів і послуг тощо. Нижче у скороченому вигляді наведено процедури обчислення передпідпису та підпису, а також перевіряння підпису для 6 алгоритмів ЦП з відновленням повідомлення, що подані спочатку в міжнародному стандарті ISO/IEC 15946-4, а потім у новій версії ISO/IEC 9796-3 .
Основними складовими для обчислення підпису Ніберга-Рюпеля, як уже вказано в п. 4.2, 4.3 є процедури обчислення передпідпису та підпису, а також перевіряння підпису. Будемо вважати, що попередньо генеровані загальні параметри та асиметрична ключова пара – особистий ключ х та відкритий ключ Q, щодо яких забезпечена їх цілісність, справжність і доступність, а щодо особистого ключа ще й конфіденційність.
Перед підпис формується шляхом генерування випадково особистого ключа сеансу k, піднесення первинного елементу а до ступеня k за модулем P, а також перетворення елементу кінцевого поля R на октетові рядки П, тобто
Підпис
виконується відповідно до загальної
схеми п. 4.2, тобто способом перетворення
октетових рядків даних d та перед підпису
П на цілі числа
та
а також безпосереднього обчислення
самого підпису – компонент ( r, s), причому
на завершальному етапі r компонента
повинна бути перетворена з октетових
(байтові) рядків на ціле число. Указані
операції виконуються в такій послідовності:
Таким чином, вихідними даними за результатами обчислення цифрового підпису є пара цілих чисел (r, s). Якщо s = 0 або r = 0, то процес генерації підпису має бути повторений із новим значенням k.
Для
перевірки підпису проводиться відновлення
перед підпису та відновлення частини
з
компоненти підпису. Детальний опис
схеми перевірки підпису наведений у п.
4.3. Рішення щодо справжності підпису
приймається після виконання нижче
наведених операцій перевіряння підпису.
Спочатку отримана або така, що міститься
при повідомленні, інформація відносно
компоненти
переводиться з октетових рядків у ціле
число
.
Потім
обчислюється як елемент поля, причому
переводиться з елемента поля спочатку
в октетові рядки
,
а потім
переводиться із октетових рядків у ціле
число
.
На завершення обчислені при перевірці
з
дані
також переводяться з цілого числа в
октетові рядки.
Зіставлення
підпису складається з перевіряння
надлишковості
.
6.15.2 Цифровий підпис Ніберга - Рюпеля в групі точок еліптичних кривих (Elliptic Curve Nyrberg–Rueppel (ecnr) message recovery signature)
Цифровий підпис ECNR засновано на схемі підпису, яку визначено в [340]. Розглянемо її детально за етапами, зважаючи на ґрунтовно визначену в [340] загальну модель схем цифрового підпису з відновленням повідомлення.
4.15.2.1. Ключі цифрового підпису ECNR
Асиметрична ключова пара цифрового підпису ECNR повинна формуватись таким чином:
1)
спочатку генерується або вибирається
особистий (довгостроковий) ключ цифрового
підпису
об’єкта
,
причому
– випадкове ціле число з інтервалу
;
2) обчислюється відкритий ключ перевірки цифрового підпису об’єкта (спосіб I або спосіб II).
4.15.2.2 Обчислення цифрового підпису
Вхідними даними до процесу обчислення підпису є такі :
– дійсні доменні параметри – а, b, n, G, u, P( f(x)), h;
– особистий ключ цифрового підпису ;
– вхідні
дані
як елемент простого поля Галуа
.
Дані
формуються з повідомлення. Виходом
процесу обчислення підпису є пара чисел
,
що є цифровим підписом
для даних.
Підпис даних об’єкт А виконує в такій послідовності.
Генерація ключа сеансу й попереднього підпису
1. Обрати (генерувати) випадкове ціле з інтервалу .
2.
Обчислити точку еліптичної кривої
,
де Р – базова точка порядку п.
Обчислення за модулем n порядку групи G
1.
Визначити попередній підпис
=
x1(mod n).
2.
Обчислити першу складову ЦП
.
3.
Обчислити другу складову ЦП
.
4. Знищити особистий ключ сеансу .
Якщо
або
,
то процес обчислення підпису має бути
повторено з новим випадковим значенням
.
Форматування підписаного повідомлення
Пара є підписом для даних d.
4.15.2.3. Перевіряння цифрового підпису
Вхідними даними до процесу перевіряння підпису є такі:
– доменні параметри еліптичної кривої – а, b, n, G, u, P( f(x)), h;
– відкритий ключ перевіряння цифрового підпису об’єкта ;
– підпис для даних , представлений двома цілими числами і ;
– невідновлюване
повідомлення
(за наявності).
Для
перевірки підпису об’єкта
для
об’єкт
повинен виконати такі кроки.
1.Зробити
перевірку розміру підпису, тобто
перевірити, що
та
;
якщо це не так, то відхилити підпис.
2. Відновлення попереднього (старого) підпису та вхідних даних (у групі точок еліптичної кривої)
3.
Обчислити точку на EC
,
де Р – базова точка ЕС, а Q – відкритий
ключ.
4.
Обчислити попередній підпис
=x
1(mod n).
5. Відновлення вхідних даних або повідомлення
6.
Обчислення
.
7. Зіставлення підпису
Зіставлення
надлишковості має здійснюватись за
обчисленої надлишковості та відомої
перевірнику. Якщо
= d, то вважається, що повідомлення цілісне
й справжнє, інакше робиться відхилення
прийнятого повідомлення (підпису).
Необхідно відзначити, що в процесі обчислення та перевіряння підпису необхідно застосовувати відповідні функції перетворення та маски. Тоді обчислення перед підпису необхідно виконати із забезпеченням таких перетворень.
Обчислення цифрового підпису із застосуванням таких функцій і перетворень:
Перевіряння цифрового підпису має бути виконане з дотриманням таких вимог:
