Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
36
Добавлен:
19.02.2016
Размер:
393.22 Кб
Скачать

ЛЕКЦІЯ 17 РАНДОМІЗОВАНІ СХЕМИ ЦИФРОВОГО ПІДПИСУ, РЕКОМЕНДОВАНІ ISO, ТА MQV ПРОТОКОЛ

Цифровий підпис класифікуєтся за класом алгоритмічної проблеми, на якій грунтується його стійкість, за типом алгоритму, що пов’язує повідомлення з цифровим підписом (детермінований, рандомізований), за способом поєднання ЦП з повідомленням (ЦП з додатком, або ЦП з відновленням повідомлення), а також за методом автентифікації відкритого ключа цифрового підпису (автентифікація, основана на сертифікатах, або на ідентифікаторах користувачів).

На нинішній час, на практиці використовуються ЦП, основані на проблемі факторизації, як ЦП RSA, або на загальній проблемі проблемі дискретного логарифмування в циклічній групі, наприклад, ЦП Ель Гамаля.

Для реалізації цих алгоритмів є необхідною наявність механізму автентифікації відкритих ключів на основі сертифікатів.

17.1 Загальна модель цифрового підпису, основаного на дискретному логарифмуванні

Рандомізований цифровий підпис, оснований на дискретному логарифмуванні в циклічній підгруппі мультиплікативної групи поля представляє собою пару блоків , де - перша частина, а - друга частина підпису. Для реалізації механізму цифрового підпису повідомлення вибираються: велике просте число , елемент великого простого порядку , випадковий секретний ключ підпису та ключ перевірки (відкритий ключ) підпису , .

При кожному застосуванні ЦП використовується рандомізатор – випадкове секретне число , що діє лише на даний сеанс підпису.

Підписане повідомлення має вигляд .

Перша частина підпису, блок , використовується для підтвердження істинності ЦП і називається witness (підтвердження, свідоцтво).

Перша частина підпису створюється у два етапи. Спочатку, з використанням рандомізатора і, можливо, ключа обчислюється т. зв. передпідпис , який трансформується у блок за допомогою функції формування підтвердження: . У випадку мультиплікативної підгрупи порядку поля для , функція формування першої частини підпису може бути дуже простою: .

Загальне рівняння цифрового підпису (порівняння для визначення другої частини підпису ) має вигляд , де формальним параметрам надаються значення, що складають перестановку з величин . Ця перестановка фіксується на весь час дії механізму цифрового підпису.

Пару , що що англійською має назву «аssignement» (призначення змінним значень) будемо називати діючими параметрами.

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

Для механізму ЦП, що оснований на ідентифікаторах, деякі параметри можуть суттєво залежати від т.зв. першої і другої частини повідомлення, тобто від розбиття повідомлення на дві частини: .

Цей етап називається підготовкою повідомлення. Для механізму ЦП, що оснований на сертифікатах, покладається , а частина відсутня.

Процес формування рандомізованого підпису передбачає вибір рандомізатора, обчислення передпідпису, підготовку повідомлення, обчислення першої частини підпису, призначення значень коефіціентам рівняння цифрового підпису, формування додатку, формування підписаного повідомлення.

Перевірочне співвідношення.

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

Розглянемо конкретні алгоритми цифрового підпису.

17.2 Алгоритм цифрового підпису KCDSA

KCDSA – корейський алгоритм цифрового підпису, оснований на сертифікатах.

Параметри механізму: , - прості, , .

Секретний ключ підпису – випадкове число .

Ключ перевірки (відкритий ключ) підпису , де тобто .

Кількість молодших розрядів відкритого ключа , які становлять підключ . Підключ для кожного користувача фіксований і може розглядатися як додатковий ідентифікатор.

Стійка проти колізій геш-функція .

Вибір рандомізатора .

Передпідпис: .

Підготовка повідомлення: .

Формування першої частини підпису: (одночасно довжина геш-коду визначає довжину ).

Призначення діючих параметрів: , , , , .

Таким чином, і , тобто рівняння для наступне: .

Формування другої частини підпису: .

Формування додатку до повідомлення: , де - довільний елемент, за необхідності.

Перевірка підпису проводиться лише при умові, що копії параметрів , та відкритого ключа є автентичними та складається з наступних етапів.

Виділення обох частин підпису , з додатку, перевірка нерівності та перевірка співпадіння довжини з встановленою довжиною геш-коду геш-функції .

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

Переобчислення значень діючих параметрів: , , , .

Переобчислення передпідпису іншим шляхом, оскільки : , де , .

Переобчислення першої частини підпису .

Перевірка підпису: підпис дійсний, якщо .

17.3 Алгоритм цифрового підпису EC-GDSA

Алгоритмі EC-GDSA (Elliptic Curve El Gamal Digital Signature Algorithm) використовує властивості циклічної підгрупи великого (простого) порядку групи точок еліптичної кривої , , , . Базову точку підгрупи позначимо через .

В алгоритмі EC-GDSA власник цифрового підпису:

- генерує випадкове число , НОД і обчислює довгостроковий секретний ключ ;

- обчислює відкритий ключ як точку кривої .

Формування ЦП власник підпису здійснює наступним чином:

- обчислює геш-код повідомлення як ціле число , ;

- генерує рандомізатор ;

- обчислює точку ;

- вибирає проекцію (першу координату) точки (при повторює процедуру, починаючи з вибору рандомізатора);

- обчислює параметр (при повторює процедуру, починаючи з вибору рандомізатора).

Підписане повідомлення має вид .

Оскільки і , то даній схемі ЦП відповідає порівняння для виду , тобто . Тому .

Оскільки , то , де , , звідки знаходимо без наявності рандомізатора.

Користувач здійснює перевіряння ЦП у наступний спосіб:

- обчислює геш-код отриманого повідомлення , ;

- обчислює , ;

- обчислює ;

- знаходить проекцію точки ;

- порівнює значення і прийняте значення ;

При рівності ЦП є вірним, інакше, він не приймається.

17.4. MQV - протокол розподілення ключів на еліптичній кривій

Даний інтерактивний протокол запропоновано A. Менезисом, M. Кю та С. Ванстоуном (A.Menezes, M. Qu, S. Vanstone ). Він часто позначається як ECEP – Elliptic Curve Establishment Protocol.

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

З секретними ключами пов’язані відкрити ключі абонентів: , .

Для формування спільного секретного ключа абоненти виконують наступний протокол.

Абонент :

- генерує випадкове число ;

- обчислює точку ;

- обчислює точку ;

- обчислює ціле число ;

- відправляє точку користувачеві .

Абонент :

- генерує випадкове число ;

- обчислює точку ;

- обчислює точку ;

- обчислює ціле число ;

- відправляє точку користувачеві .

Користувач :

- обчислює точку ;

обчислює точку .

Абонент :

обчислює точку ;

обчислює точку .

У результаті обчислень абоненти отримають одну і ту ж точку , скажімо, абонент А отримає:

Аналогічні обчислення користувача дають:

Координати секретної точки можуть в обумовлений абонентами спосіб перетворені у разовий ключ симетричного шифрування.

17.5. MQV - протокол розподілення ключів на еліптичній кривій

1

2

3

4

Соседние файлы в папке Материалы что дал Мухачев-1