Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
52 ПК ПЗ 5.2 2013.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
409.53 Кб
Скачать

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, то вважається, що повідомлення цілісне й справжнє, інакше робиться відхилення прийнятого повідомлення (підпису).

Необхідно відзначити, що в процесі обчислення та перевіряння підпису необхідно застосовувати відповідні функції перетворення та маски. Тоді обчислення перед підпису необхідно виконати із забезпеченням таких перетворень.

Обчислення цифрового підпису із застосуванням таких функцій і перетворень:

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]