Информационная безопасность – это непрерывный процесс обеспечения конфиденциальности, целостности и доступности данных. Основная цель информационной безопасности состоит в том, чтобы обеспечить такой уровень защищённости информационной системы, при котором стоимость атаки на систему будет многократно превышать стоимость возможной выгоды злоумышленника.
Цифровые подписи играют ключевую роль в обеспечении информационной безопасности, так как они используются для проверки целостности и подлинности информации. Отсутствие подтверждения подлинности данных создаёт возможность для мошеннических действий с чужой интеллектуальной собственностью.
Целью данной выпускной квалификационной работы является реализация и исследование алгоритма для создания и верификации электронно-цифровой подписи ECDSA, разработка оконного приложения для создания и верификации электронно-цифровой подписи электронных документов.
Для достижения поставленной цели были поставлены следующие задачи:
1) изучение и повторение необходимого математического аппарата для работы с эллиптическими кривыми,
2) рефакторинг реализации алгоритма подписания и верификации цифровой подписи ECDSA,
3) разработка оконного приложения для создания цифровой подписи электронных документов,
4) исследование алгоритма ECDSA на предмет оптимизации его скорости выполнения,
5) оптимизация скорости выполнения алгоритма ECDSA,
6) проведение функционального тестирования приложения.
ВВЕДЕНИЕ..................................................................................................... 3
1. Теоретическая часть.................................................................................... 4
1.1. Цифровая подпись.................................................................................... 4
1.2. Группы, кольца, поля............................................................................... 6
1.3. Конечные поля.......................................................................................... 8
1.4. Эллиптические кривые........................................................................... 10
1.5. Операции над точками эллиптической кривой...................................... 12
1.6. Скалярное умножение точки эллиптической кривой............................ 15
1.7. Циклическая подгруппа эллиптической кривой.................................... 16
1.8. Задача дискретного логарифмирования в группе точек эллиптической кривой 18
2. ECDSA....................................................................................................... 19
2.1. Создание и верификация цифровой подписи по алгоритму ECDSA... 20
2.2. Выбор эллиптической кривой................................................................ 21
2.3. Хеш-функции.......................................................................................... 23
3. Оптимизация скорости выполнения алгоритма....................................... 24
3.1. Якобиановые проективные координаты................................................ 24
3.2. Оптимизация скорости выполнения скалярного умножения................ 26
3.3. Программная реализация...................................................................... 27
4. Unit-тестирование...................................................................................... 30
5. Исследование скорости выполнения алгоритма ECDSA......................... 32
5.1. Исследование времени работы операций сложения и удвоения точек эллиптической кривой............................................................................................................ 32
5.2. Исследование скорости выполнения алгоритмов для скалярного умножения точки эллиптической кривой 34
5.3. Исследование скорости выполнения алгоритма ECDSA...................... 35
6. Функциональное тестирование приложения............................................ 38
ЗАКЛЮЧЕНИЕ............................................................................................. 44
СПИСОК ЛИТЕРАТУРЫ............................................................................. 50
ПРИЛОЖЕНИЕ................................................................................................... 51
1) Математические основы защиты информации: учебное пособие для студентов института вычислительной математики и информационных технологий / Ишмухаметов Ш.Т., Рубцова Р. Г.; – К.: КФУ, 2012. – 319 с.
2) Доступно о криптографии на эллиптических кривых [сайт]. – 2017.
– URL: https://habr.com/ru/post/335906/ (дата обращения 27.04.2023).
3) Digital Signature Standard (DSS). FIPS PUB 186-4 – [сайт]. –2023. – URL: https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4 (дата обращения 28.04.2023).
4) Explicit-Formulas Database – [сайт]. – 2020. – URL: http://www.hyperelliptic.org/EFD/g1p/auto-shortw.html (дата обращения 03.05.2023).
5) Методы увеличения скорости криптографических преобразований на эллиптических кривых – [сайт]. – 2018. – URL: https://cyberleninka.ru/article/n/metody-uvelicheniya-skorosti-kriptograficheskih- preobrazovaniy-na-ellipticheskih-krivyh/viewer (дата обращения 05.05.2023).
6) Методы увеличения скорости криптографических преобразований на эллиптических кривых – [сайт]. – 2018. – URL: https://djvu.online/file/Br2u9EajAqo3L?ysclid=lgyv9yd3tt15795885
7) Standard curve database: [сайт]. — URL: https://neuromancer.sk/std/nist/P-521 (дата обращения: 20.05.2023).