- •Минобрнауки России
- •Курсовая работа
- •Минобрнауки России
- •Введение
- •1 Теоретические сведения
- •Схемы эцп
- •1.2 Схемы на основе сложности факторизации rsa-модуля
- •2 Математическое описание и разработка блок-схем алгоритмов эцп
- •2.1 Теоретические сведения о модуле
- •2.2 Анализ эцп на основе сложности факторизации rsa-модуля
- •2.3 Разработка и реализация блок-схем алгоритмов программы
- •3 Программная реализация модели на основе сложности факторизации rsa-модуля
- •3.1 Описание интерфейса работы программы
- •3.2 Тесты
- •3.3 Генерация числовых примеров
- •Заключение
- •Список использованных источников
- •Приложение а
- •Приложение б
3.2 Тесты
Для проверки работоспособности программы были проведены следующие тесты:
Тест на заполнение обязательных полей.
В случае, если обязательные поля не заполнены, программа выводит предупреждение, указывая на необходимость ввода значений переменных, согласно рисункам 10 и 11.
Рисунок 10 – Все поля пустые
Рисунок 11 – Одно поле не заполнено
Проверка вводимых чисел.
Введенное значение в r не простое число, аналогично с q, программа выводит предупреждение, указывая на необходимость ввода значений переменных в соответствии с рисунками 12 и 13.
Рисунок 12 – r не простое число
Рисунок 13 – q не простое число
Невозможно найти мультипликативно-обратный элемент.
Если модуль не является простым числом. В этом случае существуют числа, которые не имеют мультипликативно-обратного элемента относительно данного модуля, если выбранное число равно нулю. Ноль не имеет мультипликативно-обратного элемента в этих случаях будет выводится сообщение в соответствии с рисунком 14.
Рисунок 14 – Мультипликативно-обратный элемент равен нулю
Приведены примеры правильных расчетов на рисунках 15-17, где длина чисел r и q изменяется от 3 до 6 разрядов.
Рисунок 15 – Проверка трехразрядных чисел
Рисунок 16 – Проверка четырехразрядных чисел
Рисунок 17 – Проверка шестиразрядных чисел
Результаты тестов показывают, что все проверочные сравнения в рамках Схемы на основе сложности факторизации RSA-модуля удовлетворяют условию правильного решения. Это говорит о том, что мы успешно реализовали программу, основанную на выбранной схеме ЭЦП. Благодаря оптимизированному использованию библиотек для вычисления больших чисел по модулю, время выполнения функций практически не зависит от размера чисел. Это обеспечивает эффективность и стабильность работы программы [11].
3.3 Генерация числовых примеров
Сгенерируем три числовых примера и проведем расчеты вручную.
Пример 1.
Выбираем случайные r и q, которые являются простыми числами.
, .
Выбираем случайные числа U и H.
,
Вычисляем значение n ( ).
.
Вычисляем значение ( ).
Вычисляем значение γ (γ= γ’ γ”).
Вычисляем значение α ( ).
Вычисляем значение Z ( ).
По значениям H, U, Z, α вычисляем k и g.
Вычисляем значение S ( ).
Проверяем сравнение.
Левая часть:
.
Правая часть:
.
Пример 2.
Выбираем случайные r и q, которые являются простыми числами.
,
Выбираем случайные числа U и H.
,
Вычисляем значение n ( ).
.
Вычисляем значение ( ).
Вычисляем значение γ (γ= γ’ γ”).
Вычисляем значение α ( ).
Вычисляем значение Z ( ).
По значениям H, U, Z, α вычисляем k и g.
Вычисляем значение S ( ).
Проверяем сравнение.
Левая часть:
.
Правая часть:
.
Пример 3.
Выбираем случайные r и q, которые являются простыми числами.
,
Выбираем случайные числа U и H.
,
Вычисляем значение n ( ).
.
Вычисляем значение ( ).
Вычисляем значение γ (γ= γ’ γ”).
Вычисляем значение α ( ).
Вычисляем значение Z ( ).
По значениям H, U, Z, α вычисляем k и g.
Вычисляем значение S ( ).
Проверяем сравнение.
Левая часть:
.
Правая часть:
.