МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІКТА
кафедра БІТ
Звіт
до лабораторної роботи №4
з курсу «Прикладна криптологія»
на тему: «Підпис документу з використанням алгоритмів на еліптичних кривих»
Мета роботи: Вивчити алгоритми ЕЦП на еліптичних кривих. Виконати генерацію ключових даних з використанням алгоритму на еліптичних кривих, підпис документу з використанням алгоритмів на еліптичних кривих, вивчити основи побудови алгоритмів на еліптичних кривих.
Теоретичні відомості:
Під цифровим підписом (електронним цифровим підписом) розуміється деякий еквівалент звичайного цифрового підпису (штампу, печатки, водяного знаку), наявність якого дозволяє з заданою ймовірністю установити цілісність (Рц), справжність (Рс), підтвердити авторство документа (Рд).
Закон про електронний цифровий підпис:
Електронний підпис – це дані в електронній формі, які додаються до інших електронних даних або логічно з ними пов’язані і призначені для ідентифікації підписувача цих даних.
Електронний цифровий підпис (ЕЦП) – вид електронного підпису, отриманого за результатами криптоперетворень набору електронних даних, який додається до цих даних або логічно з ними пов’язаний та дає змогу підтвердити цілісність та ідентифікувати підписувача (встановити авторство).
Вимоги до ЕЦП:
відкритість формування підпису;
простота підпису;
узнаваємість підпису;
невідмовність від підпису;
секретність підпису, тобто він повинен формуватись на особистому (таємному) ключі;
можливість перевірки підписаного документу, наприклад, з використанням відкритого ключа підписувача;
не вище ніж поліноміальна складність перевірки ЕЦП;
чутливість до змін в документі та в ЕЦП;
задача визначення повинна бути експоненційно складно обчислена:
ЕЦП, що створюється в просторі та часі повинен відрізнятись один від одного;
практично неможливість „приклеювання” підпису одного документа до іншого;
відсутність колізій (дуже мала ймовірність того, що у різних документів буде один і той же ЕЦП).
Для ЕК складність розв’язання задачі дискретного еліптичного рівняння, визначається числом операцій додавання в групі точок ЕК:
де – порядок базової точки ЕК.
Важливою характеристикою різних ЕЦП є складність вироблення і перевірки ЕЦП. Найбільшою складністю володіють алгоритми EC-KCDSA і Шнора. Це пов'язано з можливістю виносу процедури гешування в алгоритмах ECDSA, EC-GDSA і ECSS і неможливістю в EC-KCDSA і Шнора.
Для прискорення алгоритмів можна зробити деяку модифікацію. Так в алгоритмі Шнора можна замінити на , у EC – KCDSA замінити на , що дозволить понизити залежність продуктивності ЕЦП від геш-функції.
Другим фактором, що впливає на продуктивність, – є знаходження при виробленні і перевірці підпису зворотного елемента. В алгоритмі EC-GDSA вдалося уникнути цієї складної операції, підпису за рахунок особливого способу обчислення відкритого ключа . Застосування такого способу в EC-KCDSA дозволяє зменшити складність вироблення і перевірки ЕЦП.
Найменш складним і отже найбільш швидким може бути алгоритм ЕЦП Шнора, якщо обчислення геш-значення винести за межі алгоритму ЕЦП. Якщо це не зробити, то мінімальна обчислювальна складність забезпечується в алгоритмі ECSS.
Завдання:
Вивчити криптографію еліптичних кривих. Знайти порядки точок еліптичної кривої.
Згенерувати ключові данні для підпису, з використанням алгоритмів на ЕК (еліптичних кривих).
Виконати ознайомлення з алгоритмом підпису(на прикладі RSA). Підписати документ використовуючи алгоритм на ЕК. Перевірити підпис. Виконати спробу змінити підпис, параметри підпису, документ та перевірити справжність.
№ варіанту
Геш функція
Алгоритм підпису
14 (6)
SHA-1
ECSP-DSA
Хід роботи:
/
Розмір файлу
Алгоритм підпису
Геш функція
Час підпису, с
Ваш файл
RIPEMD-160
ECSP-DSA
0.002
SHA-1
ECSP-DSA
0.002
RIPEMD-160
ECSP-NR
0.002
SHA-1
ECSP-NR
0.002
219 КБ
RIPEMD-160
ECSP-DSA
0.002
SHA-1
ECSP-DSA
0.002
RIPEMD-160
ECSP-NR
0.002
SHA-1
ECSP-NR
0.002
4,43 МБ
RIPEMD-160
ECSP-DSA
0.033
SHA-1
ECSP-DSA
0.026
RIPEMD-160
ECSP-NR
0.035
SHA-1
ECSP-NR
0.027
8,65 МБ
RIPEMD-160
ECSP-DSA
0.062
SHA-1
ECSP-DSA
0.049
RIPEMD-160
ECSP-NR
0.062
SHA-1
ECSP-NR
0.049
Вилучення підпису:
Перевірка підпису:
/ /
/ / /
Розмір файлу
Геш функція
Алгоритм підпису
Час перевірки, с
Власний файл
RIPEMD-160
ECSP-DSA
0.002
SHA-1
ECSP-DSA
0.002
RIPEMD-160
ECSP-NR
0.002
SHA-1
ECSP-NR
0.002
219 КБ
RIPEMD-160
ECSP-DSA
0.002
SHA-1
ECSP-DSA
0.002
RIPEMD-160
ECSP-NR
0.002
SHA-1
ECSP-NR
0.002
4,43 МБ
RIPEMD-160
ECSP-DSA
0.035
SHA-1
ECSP-DSA
0.027
RIPEMD-160
ECSP-NR
0.037
SHA-1
ECSP-NR
0.029
8,65 МБ
RIPEMD-160
ECSP-DSA
0.064
SHA-1
ECSP-DSA
0.051
RIPEMD-160
ECSP-NR
0.065
SHA-1
ECSP-NR
0.050
Контрольні запитання:
Чому найбільшою складністю володіють алгоритми EC-KCDSA і Шнора?
Важливою характеристикою різних ЕЦП є складність вироблення і перевірки ЕЦП. Найбільшою складністю володіють алгоритми EC-KCDSA і Шнора. Це пов'язано з можливістю виносу процедури гешування в алгоритмах ECDSA, EC-GDSA і ECSS і неможливістю в EC-KCDSA і Шнора.
Найменш складним і отже найбільш швидким може бути алгоритм ЕЦП Шнора, якщо обчислення геш-значення винести за межі алгоритму ЕЦП. Якщо це не зробити, то мінімальна обчислювальна складність забезпечується в алгоритмі ECSS
Назвіть основні загрози на підпис?
Екзистенціальна підробка, селективна підробка, повне розкриття
Назвіть вимоги до геш-функції?
не вище ніж поліноміальна складність обчислення, що дозволяє ефективно обчислити значення h;
односпрямованість, при якій забезпечується однобічність перетворень. Сутність цієї властивості полягає в неможливості обчислення повідомлення m по відомому h (наприклад, має не нижче ніж експонентну складність);
захищеність від колізій, при якій практично неможливо знайти m1 і m2 такі, що , тому що побудування m1 і m2 несуть не нижче ніж експоненційну складність.
На чому основана загроза «Екзистенціальна підробка.»?
Цей вид погрози виникає при використанні геш-функції. У зв'язку з тим, що геш-функція робить відображення на , де безліч , можливі колізії, при яких для , знаходять таке, що , . Для захисту від екзистенціальної підробки на геш-функцію накладається вимога відсутності поліноміального алгоритму створення колізій
Яким чином геш-функція впливає на час підпису, чому?
Для прискорення алгоритмів можна зробити деяку модифікацію. Так в алгоритмі Шнора можна замінити на , у EC – KCDSA замінити на , що дозволить понизити залежність продуктивності ЕЦП від геш-функції.
Впливає чи ні розмір файлу при виборі алгоритму на час підпису документу, чому? Відповідь обґрунтуйте.
Який характер залежності між розміром файлу та часом підпису?
Так впливає, але не суттєво, майже не помітні зміни в часі. Характер залежності прямий, при зростанні розміру файлу зростає час підпису.
Висновок: Вивчив алгоритми ЕЦП на еліптичних кривих. Підписав документи з використанням алгоритмів на еліптичних кривих.