Добавил:
донатики - https://qiwi.com/n/1ZOMBIE1 Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КР / КР_БунинаАВ_18062023.docx
Скачиваний:
19
Добавлен:
01.10.2023
Размер:
704.47 Кб
Скачать

3.2 Тесты

Для проверки работоспособности программы были проведены следующие тесты:

  1. Тест на заполнение обязательных полей.

В случае, если обязательные поля не заполнены, программа выводит предупреждение, указывая на необходимость ввода значений переменных, согласно рисункам 10 и 11.

Рисунок 10 – Все поля пустые

Рисунок 11 – Одно поле не заполнено

  1. Проверка вводимых чисел.

Введенное значение в r не простое число, аналогично с q, программа выводит предупреждение, указывая на необходимость ввода значений переменных в соответствии с рисунками 12 и 13.

Рисунок 12 – r не простое число

Рисунок 13 – q не простое число

  1. Невозможно найти мультипликативно-обратный элемент.

Если модуль не является простым числом. В этом случае существуют числа, которые не имеют мультипликативно-обратного элемента относительно данного модуля, если выбранное число равно нулю. Ноль не имеет мультипликативно-обратного элемента в этих случаях будет выводится сообщение в соответствии с рисунком 14.

Рисунок 14 – Мультипликативно-обратный элемент равен нулю

Приведены примеры правильных расчетов на рисунках 15-17, где длина чисел r и q изменяется от 3 до 6 разрядов.

Рисунок 15 – Проверка трехразрядных чисел

Рисунок 16 – Проверка четырехразрядных чисел

Рисунок 17 – Проверка шестиразрядных чисел

Результаты тестов показывают, что все проверочные сравнения в рамках Схемы на основе сложности факторизации RSA-модуля удовлетворяют условию правильного решения. Это говорит о том, что мы успешно реализовали программу, основанную на выбранной схеме ЭЦП. Благодаря оптимизированному использованию библиотек для вычисления больших чисел по модулю, время выполнения функций практически не зависит от размера чисел. Это обеспечивает эффективность и стабильность работы программы [11].

3.3 Генерация числовых примеров

Сгенерируем три числовых примера и проведем расчеты вручную.

Пример 1.

  1. Выбираем случайные r и q, которые являются простыми числами.

, .

  1. Выбираем случайные числа U и H.

,

  1. Вычисляем значение n ( ).

.

  1. Вычисляем значение ( ).

  1. Вычисляем значение γ (γ= γ’ γ”).

  1. Вычисляем значение α ( ).

  1. Вычисляем значение Z ( ).

  1. По значениям H, U, Z, α вычисляем k и g.

  1. Вычисляем значение S ( ).

  1. Проверяем сравнение.

Левая часть:

.

Правая часть:

.

Пример 2.

  1. Выбираем случайные r и q, которые являются простыми числами.

,

  1. Выбираем случайные числа U и H.

,

  1. Вычисляем значение n ( ).

.

  1. Вычисляем значение ( ).

  1. Вычисляем значение γ (γ= γ’ γ”).

  1. Вычисляем значение α ( ).

  1. Вычисляем значение Z ( ).

  1. По значениям H, U, Z, α вычисляем k и g.

  1. Вычисляем значение S ( ).

  1. Проверяем сравнение.

Левая часть:

.

Правая часть:

.

Пример 3.

  1. Выбираем случайные r и q, которые являются простыми числами.

,

  1. Выбираем случайные числа U и H.

,

  1. Вычисляем значение n ( ).

.

  1. Вычисляем значение ( ).

  1. Вычисляем значение γ (γ= γ’ γ”).

  1. Вычисляем значение α ( ).

  1. Вычисляем значение Z ( ).

  1. По значениям H, U, Z, α вычисляем k и g.

  1. Вычисляем значение S ( ).

  1. Проверяем сравнение.

Левая часть:

.

Правая часть:

.