
- •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.4 Цифровий підпис Абі-Окамото з відновленням повідомлення в групі точок еліптичної кривої (Elliptic Curve Abe-Okamoto message recovery signature (ecao))
Цифровий підпис ECAO засновано на схемі підпису, яку визначено в [46, 336, 12]. Розглянемо її детально за етапами, визначеними в 4.2–4.3.
6.15.4.1. Доменні параметри та параметри користувача
Асиметрична пара ключів для ECAO формуються таким чином:
– генерується або вибирається особистий (довгостроковий) ключ підпису об’єкта , причому – випадкове ціле число з інтервалу ;
– відкритий ключ перевірки цифрового підпису об’єкта обчислюється згідно з 4.6.6 (спосіб I або спосіб II).
Об’єкт також вибирає геш - функцію:
,
де
кількість бітів
)
і застосовує три геш-функції, де
–
випадкові бітові дані.
та
,
використовуючи необхідну кількість
бітів з виходу
.
Вище використано такі позначення:
бітів
з
найбільш значущого октету.
бітів
з найменш значущого октету.
6.15.4.2. Обчислення цифрового підпису
Вхідні дані до процесу вироблення вхідних даних повинні містити:
– доменні параметри EC;
– повідомлення .
Вихідними даними процесу вироблення є дані , що обчислені як
.
Причому
результуюче d знаходиться в діапазоні
.
Вхідні дані процесу обчислення (генерації) цифрового підпису містять:
– доменні параметри EC;
– особистий ключ підпису ;
– дані ;
– повідомлення (за наявності).
Виходом
процесу генерації підпису є пара
,
що є цифровим підписом
для даних.
Для підписання даних , виконує такі кроки.
Генерація ключа сеансу та попереднього підпису
1. Обрати (генерувати) випадкове ціле з інтервалу .
2.
Обчислити точку еліптичної кривої
та перетворити її на ціле
.
Обчислення за модулем порядку групи G
1.
Обчислити
.
2.
Обчислити
.
3.
Обчислити
4. Знищити .
Якщо або , то процес генерації підпису має бути повторено з новим випадковим значенням .
Форматування підписаного повідомлення
Пара є підписом для даних .
6.15.4.3. Перевіряння підпису
Вхідні дані процесу перевіряння підпису:
– доменні параметри EC;
– відкритий ключ перевірки об’єкта ;
– підпис для представлений двома цілими числами і ;
– геш
- функції
,
,
;
– не відновлюване повідомлення (за наявності).
Для перевірки підпису об’єкта для даних об’єкт повинен виконати таке.
Перевірити,
що
,
та
;
якщо хоча б одна з умов не виконується,
то відхилити підпис.
Відновлення попереднього підпису та вхідних даних повинне здійснюватись способом виконання обчислень у групі точок еліптичної кривої з виконанням таких кроків.
1.
Обчислити
.
2.
Обчислити точку еліптичної кривої
(Q = Y, P = G).
3.
Обчислити
.
Відновлення вхідних даних або повідомлення
Обчислити
.
Зіставлення підпису
Перевіряння
порівняння:
.
Якщо порівняння виконується, то вивести
,
інакше відхилити підпис.
6.15.5 Цифровий підпис Пінтсова - Ванстона в групі точок еліптичних кривих (Elliptic Curve Pintsov-Vanstone (ecpv) message recovery signature)
Схема підпису Пінтсова - Ванстона із частковим відновленням повідомлення є варіантом схеми Шнора [46, 341,12] та підпису Ніберга - Рюпеля. Це дає можливість формувати дуже малі підписи для повідомлень із збитковістю. Для 80 бітів розмір підпису містить 20–30 байтів, у залежності від кількості збитковості в повідомленні. (Для порівняння: підпис ECDSA із такими самими параметрами домену має мінімальний розмір не менше 40 байтів). У схемі використовується блоковий симетричний шифр. Можуть використовуватись різні стандарти БСШ, наприклад – AES, 3DES, а в цілому ISO/IEC 18033-3 тощо, а також інші, що задовольняють вимогам та допускаються до використання національним законодавством.
Необхідно також відзначити, що деякі схеми підпису з повним або частковим відновленням повідомлення мають обмеження на довжину. Наприклад, у схемі Nyberg-Rueppel це обмеження визначає такі недоліки:
• для дуже короткого повідомлення примусово визначена довжина підпису вимагає використовувати більше доповнення;
• для повідомлення, що є більшим, ніж означена довжина підпису, неможливо забезпечити повне покриття підписом тощо.
Схема Пінтсова - Ванстона може використовуватися без таких обмежень. При використанні схеми з еліптичними кривими може бути отриманий найкращий результат з точки зору меншого розміру підпису.
Цифровий підпис ECPV засновано на схемі підпису, яку визначено у [46]. Розглянемо її детально за етапами.
6.15.5.1 Доменні параметри та параметри користувача
Ключі для ECPV формуються таким чином:
– генерується або вибирається особистий (довгостроковий) ключ підпису об’єкта , причому – випадкове ціле число з інтервалу ;
– відкритий ключ перевірки цифрового підпису об’єкта обчислюється згідно 4.6.6 (спосіб I або спосіб II).
Взаємодіючі сторони також повинні узгоджено використовувати стандарти геш - функції , симетричного шифру та функції формування ключів KDF, що використовуються в схемі, причому:
;
;
.
Розмір симетричного ключа повинен відповідати параметру безпеки і має обиратися для досягнення цілей безпеки, наприклад, забезпечувати задовільний, добрий чи високий рівень стійкості [340, 342]. Симетричний шифр може бути потоковим, тобто використовувати потокове шифрування з операцією XOR (за модулем 2). А функція формування ключів може ґрунтуватись на використанні геш - функції.
6.15.5.2 Обчислення цифрового підпису
Вхідні дані до процесу вироблення вхідних даних повинні містити:
– доменні параметри EC;
– особистий ключ підпису ;
– повідомлення
,
що має бути підписане;
– розщеплюється на відновлювану частину (крайні октети згідно угоди (умови, домовленості), та з використанням тих октетів, що залишилися;
– довжини обох повідомлень і мають бути зафіксовані й узгоджені сторонами, що взаємодіють.
Результатом
обчислення підпису є пара
,
що є цифровим підписом
для повідомлення
.
Для підписання повідомлення , користувач виконує такі кроки:
Генерація ключа сеансу й обчислення попереднього підпису
1. Обирається (генерується) випадкове ціле з інтервалу .
2.
Обчислити точку еліптичної кривої
та перетворити її на ціле число.
Обчислення вхідних даних та ключа сеансу
1. Сформувати вхідні дані , використовуючи і додаткову надлишковість згідно угоди, а також частину доменних параметрів.
2.
Обчислити симетричний ключ
.
3.
Зашифрувати дані
.
4.
Обчислити перед підпис
.
Обчислення цифрового підпису
6.
Обчислити
.
2. Знищити .
3.
Як результат вивести підпис
і частину повідомлення
(що може бути нульовою).
Якщо , то процес генерації підпису має бути повторено з новим випадковим значенням .
Форматування підписаного повідомлення
Пара є цифровим підписом користувача для повідомлення .
6.15.5.3 Перевіряння цифрового підпису
Вхідні дані до процесу перевіряння підпису повинні містити:
– доменні параметри, що зазначені в п. 4.8.6.
– відкритий ключ перевірки об’єкта ;
– підпис для , представлений двома цілими числами, і ;
– не відновлюване повідомлення (за наявності);
Для перевірки підпису об’єктом для об’єкт виконує такі кроки.
Перевіряння розміру підпису
Перевірити умову , якщо вона не виконується, відхилити підпис.
Відновлення попереднього підпису та вхідних даних (обчислення в групі точок еліптичної кривої)
1.
Обчислити передпідпис
.
2.
Обчислити точку EC
(Q=Y, P= G).
Відновлення вхідних даних або повідомлення
6.
Якщо
є точкою нескінченності, відхилити
підпис. Інакше виконати наступні кроки.
2.
Обчислити симетричний ключ
.
3.
Розшифрувати дані
.
4.
Перевірити додану надлишковість
та відновити
.
Якщо додана надлишковість неправильна,
відхилити підпис.
5.
Сформувати вихідне повідомлення
.
Зіставлення підпису
Зіставлення надлишковості має здійснюватись за обчисленої надлишковості та відомої перевірнику. Якщо = d, то вважається що повідомлення цілісне й справжнє, інакше робиться відхилення прийнятого повідомлення (підпису).