РЕАЛІЗАЦІЯ ТА ДОСЛІДЖЕННЯ АЛГОРИТМУ DSA ДЛЯ СТВОРЕННЯ ТА ПЕРЕВІРКИ ЕЛЕКТРОННОГО ЦИФРОВОГО ПІДПИСУ

Євгеній Володимирович Лєпа

Анотація


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

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

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

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

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

Було проведено 10000 симуляцій для  дослідження швидкості створення та перевірки цифровому підпису.

Час на створення підпису при використанні хеш функції SHA-1 при довжині ключа 512 біт – 409 мс, при довжині 1024 біт – 480 мс. А при використанні хеш функції SHA-2  та довжини ключа у 2048 біт – 351 мс. Така динаміка часу, що при збільшенні довжини ключа та з тим надійності підпис створюється швидше, пов’язана перш за все з використанням більш сучасного алгоритму хешування.

За результатами досліду спостерігається лінійна залежність, яка показує що зі збільшенням довжини ключа збільшується час який необхідний на виконання операцій з підпису документа та  її перевірки.  Так, при довжині ключа у 512 біт для того аби поставити підпис під документом необхідно 4 мс, для перевірки – 8 мс. При розмірі ключа 1024 біт для підпису необхідно 8 мс, для перевірки підпису – 18 мс. Якщо розмір ключа 2048 біт, час який знадобиться на підпис документа 13 мс, для перевірки цього підпису – 33 мс.

Ключові слова: DSA, підпис, хеш- функція, ключ, java.


Повний текст:

155-161 PDF

Посилання


Відомості про алгоритми ЕЦП. URL: http://cryptowiki.net/index.php?title=Алгоритмы_ЭЦП (дата звернення: 23.12.2019).

Электронно-цифровая подпись : алгоритм DSA. URL: http://www.volpi.ru/umkd/zki/examples/ds/ecp_dsa.html (дата звернення: 23.12.2019).

Мова програмування Java : Введення в Java. URL: https://metanit.com/java/tutorial/1.1.php (дата звернення: 23.12.2019).

Ігочкіна Є.В., Аналіз алгоритмів цифрового підпису. URL: http://www.security.ase.md/publ/ru/pubru86/ (дата звернення: 23.12.2019).

Керівництво по мові програмування Java. URL: https://metanit.com/java/tutorial/ (дата звернення: 23.12.2019).

Ткач Ю.М., Електронний цифровий підпис. URL: http://uchil.net/?cm=167737 (дата звернення: 23.12.2019).

https://doi.org/10.35546/kntu2078-4481.2020.1.1.18


Посилання

  • Поки немає зовнішніх посилань.