Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab_Crypto_VI.doc
Скачиваний:
1
Добавлен:
14.08.2019
Размер:
1.81 Mб
Скачать

Додаток а Сліпий підпис

Розвиток інфраструктури відкритих ключів в Україні, створення регіональних центрів сертифікації ключів [5-9] дозволяє клієнтам отримати та надавати послуги електронного цифрового підпису. Крім класичної схеми [10-15] однократного цифрового підпису існують інші схеми, зокрема сліпий цифровий підпис [16-18].

Сліпий підпис лежить в основі криптосистем, у яких вирішується проблема забезпечення анонімності – системах таємного електронного голосування й системах електронних грошей.

Сліпим називається підпис, який сформовано під замаскованим повідомленням. В процесі підписання підписувач не має можливості ознайомиться зі змістом відкритого (незамаскованого) повідомлення.

Схеми сліпого підпису призначені для розв’язання задачі забезпечення анонімності (невідстежуваності) користувачів у системах електронної готівки й системах таємного електронного голосування.

Відомі протоколи сліпого підпису реалізуються на основі алгоритмів електронного цифрового підпису, що використають три обчислювальне складні задачі: факторизація натурального числа, знаходження дискретного логарифма по простому модулі, знаходження дискретного логарифма на еліптичній кривій.

В розглянутому протоколі використається в якості математичної структури група точок еліптичної кривої над скінченним полем. Протокол побудовано на базі відомого протоколу цифрового підпису ЕльГамаля. Стійкість протоколу заснована на складності задачі знаходження дискретного логарифма на еліптичній кривій.

Для хешування електронного документу може бути запропоновано використання стандарту [19] та інших.

Протокол сліпого підпису на базі алгоритму ЕльГамаля

Цей протокол [17] є модифікацією алгоритму ЕльГамаля для еліптичних кривих. Стійкість протоколу засновано на складності задачі знаходження дискретного логарифма на еліптичній кривій.

Користувач B підписує в підписувача A деяке повідомлення , , так щоб A у момент формування підписи не міг ознайомитися із умістом повідомлення .

Загальні параметри:

основне поле – скінченне поле ;

еліптична крива над основним полем

,

де разом із приєднаною нескінченно віддаленою точкою ;

базова точка еліптичної кривої простого порядку , така що і ;

– функція хешування.

Генерація ключів

Підписувач А має асиметричну пару ключів:

особистий : та

відкритий .

Формування сліпого підпису

Підписувач А обирає одноразовий випадковий секретний ключ , , обчислює координати точки та . Молодші розряди хеш-образу формують десяткове число . Далі підписувач А перевіряє умову та надає точку користувачу В. Якщо , підписувач А обирає інше значення .

Користувач В перевіряє приналежність точки еліптичній кривій, обирає випадкове число , , обчислює координати точки та . Молодші розряди хеш-образу формують десяткове число . Далі користувач В перевіряє умову (якщо , користувач В обирає інше значення ), обчислює коефіцієнт , осліпляє повідомлення : та надає підписувачу А. Якщо співпадає з користувач В має обрати інше значення .

Підписувач А перевіряє умову , обчислює підпис та надає його користувачу В.

Користувач В перевіряє сформований підписувачем А підпис . Якщо , сліпий цифровий підпис документу признається справжнім. Далі користувач В обчислює підпис для документа : .

Сліпим підписом є пара .

Перевірка сліпого підпису

Перевірка підпису під електронним документом здійснюється за допомогою відкритого ключа підписувача А.

Якщо , де – молодші розряди хеш-образу , сліпий цифровий підпис документу признається справжнім.

Покажемо коректність пропонованого алгоритму формування і перевірки сліпого підпису:

Приклад.

Оберемо загальні параметри:

основне поле – скінченне поле ;

еліптична крива над основним полем

.

Дана еліптична крива містить 13 точок, тобто будь-яка її точка має порядок , .

Базова точка еліптичної кривої .

Нехай користувач В бажає підписати у підписувача А повідомлення .

Генерація ключів

Нехай підписувач А має особистий ключ та відповідний йому відкритий ключ .

Формування сліпого підпису

Підписувач А обирає одноразовий випадковий секретний ключ , обчислює координати точки та

Звідси . Оскільки , підписувач А має обрати інше значення : . Далі підписувач А обчислює координати новій точки та

Звідси (молодші розряди хеш-образу становлять 101).

Підписувач А надає точку користувачу В.

Користувач В перевіряє приналежність точки еліптичній кривій, обирає випадкове число , обчислює координати точки та

Звідси .

Далі користувач В обчислює коефіцієнт , осліпляє повідомлення : та надає підписувачу А.

Підписувач А обчислює підпис та надає його користувачу В.

Користувач В перевіряє сформований підписувачем А підпис : обчислює і . Оскільки , сліпий цифровий підпис документу признається справжнім. Далі користувач В обчислює підпис для документа : .

Сліпим підписом є пара .

Перевірка сліпого підпису

Перевірка підпису під електронним документом здійснюється за допомогою відкритого ключа підписувача А.

Обчислюється хеш-образ точки та відповідне число . Далі обчислюються ,

.

Оскільки , сліпий цифровий підпис документу признається справжнім.

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