- •Міністерство освіти і науки, молоді та спорту україни Запорізький національний технічний університет Методичні вказівки
- •Лабораторна робота № 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 Приклад основної програми
Додаток а Сліпий підпис
Розвиток інфраструктури відкритих ключів в Україні, створення регіональних центрів сертифікації ключів [5-9] дозволяє клієнтам отримати та надавати послуги електронного цифрового підпису. Крім класичної схеми [10-15] однократного цифрового підпису існують інші схеми, зокрема сліпий цифровий підпис [16-18].
Сліпий підпис лежить в основі криптосистем, у яких вирішується проблема забезпечення анонімності – системах таємного електронного голосування й системах електронних грошей.
Сліпим називається підпис, який сформовано під замаскованим повідомленням. В процесі підписання підписувач не має можливості ознайомиться зі змістом відкритого (незамаскованого) повідомлення.
Схеми сліпого підпису призначені для розв’язання задачі забезпечення анонімності (невідстежуваності) користувачів у системах електронної готівки й системах таємного електронного голосування.
Відомі протоколи сліпого підпису реалізуються на основі алгоритмів електронного цифрового підпису, що використають три обчислювальне складні задачі: факторизація натурального числа, знаходження дискретного логарифма по простому модулі, знаходження дискретного логарифма на еліптичній кривій.
В розглянутому протоколі використається в якості математичної структури група точок еліптичної кривої над скінченним полем. Протокол побудовано на базі відомого протоколу цифрового підпису ЕльГамаля. Стійкість протоколу заснована на складності задачі знаходження дискретного логарифма на еліптичній кривій.
Для хешування електронного документу може бути запропоновано використання стандарту [19] та інших.
Протокол сліпого підпису на базі алгоритму ЕльГамаля
Цей протокол [17] є модифікацією алгоритму ЕльГамаля для еліптичних кривих. Стійкість протоколу засновано на складності задачі знаходження дискретного логарифма на еліптичній кривій.
Користувач B підписує в підписувача A деяке повідомлення , , так щоб A у момент формування підписи не міг ознайомитися із умістом повідомлення .
Загальні параметри:
основне поле – скінченне поле ;
еліптична крива над основним полем
,
де разом із приєднаною нескінченно віддаленою точкою ;
базова точка еліптичної кривої простого порядку , така що і ;
– функція хешування.
Генерація ключів
Підписувач А має асиметричну пару ключів:
особистий : та
відкритий .
Формування сліпого підпису
Підписувач А обирає одноразовий випадковий секретний ключ , , обчислює координати точки та . Молодші розряди хеш-образу формують десяткове число . Далі підписувач А перевіряє умову та надає точку користувачу В. Якщо , підписувач А обирає інше значення .
Користувач В перевіряє приналежність точки еліптичній кривій, обирає випадкове число , , обчислює координати точки та . Молодші розряди хеш-образу формують десяткове число . Далі користувач В перевіряє умову (якщо , користувач В обирає інше значення ), обчислює коефіцієнт , осліпляє повідомлення : та надає підписувачу А. Якщо співпадає з користувач В має обрати інше значення .
Підписувач А перевіряє умову , обчислює підпис та надає його користувачу В.
Користувач В перевіряє сформований підписувачем А підпис . Якщо , сліпий цифровий підпис документу признається справжнім. Далі користувач В обчислює підпис для документа : .
Сліпим підписом є пара .
Перевірка сліпого підпису
Перевірка підпису під електронним документом здійснюється за допомогою відкритого ключа підписувача А.
Якщо , де – молодші розряди хеш-образу , сліпий цифровий підпис документу признається справжнім.
Покажемо коректність пропонованого алгоритму формування і перевірки сліпого підпису:
Приклад.
Оберемо загальні параметри:
основне поле – скінченне поле ;
еліптична крива над основним полем
.
Дана еліптична крива містить 13 точок, тобто будь-яка її точка має порядок , .
Базова точка еліптичної кривої .
Нехай користувач В бажає підписати у підписувача А повідомлення .
Генерація ключів
Нехай підписувач А має особистий ключ та відповідний йому відкритий ключ .
Формування сліпого підпису
Підписувач А обирає одноразовий випадковий секретний ключ , обчислює координати точки та
Звідси . Оскільки , підписувач А має обрати інше значення : . Далі підписувач А обчислює координати новій точки та
Звідси (молодші розряди хеш-образу становлять 101).
Підписувач А надає точку користувачу В.
Користувач В перевіряє приналежність точки еліптичній кривій, обирає випадкове число , обчислює координати точки та
Звідси .
Далі користувач В обчислює коефіцієнт , осліпляє повідомлення : та надає підписувачу А.
Підписувач А обчислює підпис та надає його користувачу В.
Користувач В перевіряє сформований підписувачем А підпис : обчислює і . Оскільки , сліпий цифровий підпис документу признається справжнім. Далі користувач В обчислює підпис для документа : .
Сліпим підписом є пара .
Перевірка сліпого підпису
Перевірка підпису під електронним документом здійснюється за допомогою відкритого ключа підписувача А.
Обчислюється хеш-образ точки та відповідне число . Далі обчислюються ,
.
Оскільки , сліпий цифровий підпис документу признається справжнім.