Abstract

The paper considers and implements the DSA algorithm for creating and verifying a digital electronic signature, investigates the speed of actions to create a key pair, signature and its verification. To implement the algorithm, the java programming language was used, which has a large number of different libraries for working with cryptography. The program consists of two modules. One module creates a digital electronic signature, and the second module provides its verification. The program has two working options. The first option involves creating a key pair (public and private key) for the user and signing the document using the private key. The program also implements a mechanism for verifying the authenticity of a signature (whether there was a changed document after signing). The second option provides for the user to have a key pair, in this case the program uses the user's private key (as opposed to generating keys in the first option). 10,000 simulations were conducted to examine the speed of creating and verifying a digital signature. The time to create a signature when using the SHA-1 hash function with a key length of 512 bits is 409 ms, with a length of 1024 bits - 480 ms. When using the SHA-2 hash function and a key length of 2048 bits - 351 ms. By increasing the key length and with the same reliability, the signature is created faster. This is primarily due to the use of a more modern hashing algorithm. According to the results of the experiment, a linear relationship is observed, which shows that with an increase in the length of the key, the time required for performing operations to sign the document and verify it increases. So, with a key length of 512 bits, it takes 4 ms to sign a document, and 8 ms for verification. With a key size of 1024 bits, 8 ms is required for signature, 18 ms for signature verification. If the key size is 2048 bits, the time it takes to sign the document is 13 ms, to verify this signature - 33 ms. Keywords: DSA, signature, hash function, key, java.

Highlights

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

  • The program implements a mechanism for verifying the authenticity of a signature

  • By increasing the key length and with the same reliability, the signature is created faster. This is primarily due to the use of a more modern hashing algorithm

Read more

Summary

ЕЛЕКТРОННОГО ЦИФРОВОГО ПІДПИСУ

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

Херсонский национальный технический университет
Kherson National Technical University
Формулювання мети дослідження
Викладення основного матеріалу дослідження
Час необхідний на перевірку підпису
Перевірка підпису
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call