- •Міністерство освіти і науки, молоді та спорту україни Запорізький національний технічний університет Методичні вказівки
- •Лабораторна робота № 1 протокол сліпого підпису
- •1.1 Завдания на лабораторну роботу
- •1.3 Контрольні питання
- •Лабораторна робота № 2 протокол колективного підпису
- •2.1 Завдания на лабораторну роботу
- •2.3 Контрольні питання
- •Лабораторна робота № 3 протокол композиційного підпису
- •3.1 Завдания на лабораторну роботу
- •3.3 Контрольні питання
- •Лабораторна робота № 4 дослідження анонімності в протоколі сліпого підпису
- •4.1 Завдания на лабораторну роботу
- •5.3 Контрольні питання
- •Лабораторна робота № 6 протокол цифрового підпису на гіпереліптичних кривих
- •6.1 Завдания на лабораторну роботу
- •6.3 Контрольні питання
- •Література
- •Додаток а Сліпий підпис
- •Протокол сліпого підпису на базі алгоритму ЕльГамаля
- •Додаток б Колективний підпис
- •Протокол колективного цифрового підпису електронного документу на еліптичної кривої над простим полем
- •Додаток в Композиційний підпис
- •Протокол композиційного цифрового підпису різних документів на еліптичної кривої над простим полем
- •Додаток г Приклад перевірки на анонімність схеми сліпого підпису
- •Додаток д Елементи теорії дивізорів гіпереліптичних кривих
- •Додаток е Протокол цифрового підпису на гіпереліптичних кривих
- •Протокол цифрового підпису на гіпереліптичної кривої над простим полем
- •Додаток ж Процедури групової операції на гіпереліптичних кривих ж.1 Процедура додавання двох різних дивізорів
- •Ж.2 Процедура подвоєння дивізора
- •Ж.3 Процедура множення дивізора на ціле число
- •Ж.4 Приклад основної програми
Додаток б Колективний підпис
При формуванні електронних документів у ряді випадків виникає необхідність підписування документів декількома учасниками. Підпис, сформований колективом рівноправних учасників підписання під спільним документом, називається колективним.
Схеми колективного підпису призначені для розв’язання задачі одночасного підписання контрактів і скорочення розміру підписів до документів, що підписуються двома й більше суб'єктами. Особливо актуальним є питання про скорочення розміру підпису у випадках, коли електронний цифровий підпис вноситься в шрих-код або іншу машиночитаєму мітку, що наноситься на матеріальний об'єкт, наприклад паперовий документ.
В протоколі колективного підпису здійснюється обмін відкритими параметрами по мережах зв’язку, причому кожен учасник створює свою частину підпису, після чого формується колективний підпис. Для перевірки колективного підпису формується колективний відкритий ключ, який залежить від відкритих ключів учасників підписання електронного документа.
На сьогодні з'явилися нові схеми колективного цифрового підпису в різних постановах [20-23]. В розглянутому протоколі використається в якості математичної структури група точок еліптичної кривої над скінченним полем. Протокол побудовано на базі російського стандарту цифрового підпису ГОСТ Р34.10-2001 [24]. Стійкість протоколу заснована на складності задачі знаходження дискретного логарифма на еліптичній кривій. Для хешування електронного документу може бути запропоновано використання стандарту [19] та інших.
Важливою особливістю протоколу є те, що при компрометації секретних ключів частини учасників складність задачі формування підробленого підпису й обчислення секретних ключів останніх учасників не знижується.
Протокол колективного цифрового підпису електронного документу на еліптичної кривої над простим полем
Цей
протокол [22]
заснований на російському стандарті
цифрового підпису ГОСТ Р34.10-2001. Введення
допоміжного числа
дозволяє скоротити першу частину
цифрового підпису.
Загальні параметри:
основне поле – скінченне поле ;
еліптична крива над основним полем
,
де разом із приєднаною нескінченно віддаленою точкою ;
базова
точка еліптичної кривої
простого порядку
,
така що
і
;
– функція хешування;
– допоміжне просте багаторозрядне двійкове число.
Генерація ключів
Кожний
-ий
(
)
користувач має асиметричну пару ключів:
особистий
:
та
відкритий
.
Формування колективного підпису
Нехай
колектив користувачiв,
,
має підписати електронний документ
з хеш-образом
.
Молодші
розряди
хеш-образу
формують десяткове число
,
яке використається при обчисленні
цифрового підпису.
Кожний
підписувач обирає одноразовий випадковий
секретний ключ
,
обчислює координати точки
та надає їх для колективного використання.
Далі
обчислюється сума всіх точок
,
:
,
після чого формується число
.
При
обираються нові випадкові секретні
ключі
.
Потім кожний користувач за допомогою свого особистого ключа та значення обчислює свою долю підпису
,
після чого генерується підпис :
.
Число
не може бути рівним 0. При
процедура підпису повторюється.
Колективним
підписом є пара чисел
.
Перевірка колективного підпису
Перевірка підпису під електронним документом здійснюється за допомогою додаткової точки еліптичної кривої
,
яка
залежить від відкритих ключів
учасників підписання.
Обчислюється
точка
еліптичної кривої
після чого обчислюються хеш-образ документу , відповідне десяткове число та формується число
.
Якщо
,
колективний цифровий підпис електронного
документу
признається справжнім.
Покажемо коректність пропонованого алгоритму формування і перевірки колективного підпису:
Оскільки
,
то і
.
Приклад.
Оберемо загальні параметри:
основне
поле – скінченне поле
;
еліптична
крива над основним полем
.
Базова
точка еліптичної кривої
має порядок
.
Допоміжне просте багаторозрядне двійкове число .
Генерація ключів
Нехай
число користувачів
.
Відповідні
особисті ключі є
,
.
Тоді
відкрити ключі
,
.
Формування колективного підпису
Нехай
хеш-образ електронного документу
дорівнює
.
Кожний
підписувач обирає одноразовий випадковий
секретний ключ
:
,
,
та
обчислює координати точки
:
,
.
Далі
обчислюється
– сума всіх точок
:
,
після чого формується число
:
,
.
Потім кожний користувач за допомогою свого особистого ключа та значення обчислює свою долю підпису:
,
,
,
,
після
чого генерується підпис
:
.
Колективним
підписом є пара чисел
.
Перевірка колективного підпису
Перевірка
підпису
під електронним документом
здійснюється за допомогою додаткової
точки еліптичної кривої
,
яка залежить від відкритих ключів
учасників підписання:
.
Обчислюється точка еліптичної кривої:
,
,
.
Далі
обчислюються хеш-образ документу
,
відповідне десяткове число
та формується число
,
.
Оскільки , колективний цифровий підпис електронного документу признається справжнім.
