Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КУРСОВАЯ Зуйковой ЦСПиМЗ.docx
Скачиваний:
0
Добавлен:
04.02.2026
Размер:
3.41 Mб
Скачать

Глава 4 Разработка программного обеспечения микропроцессорного устройства

4.1 Генерация ключей

В рамках данного курсового проекта полный цикл генерации ключевой пары программно не реализуется, однако корректные параметры криптосистемы RSA были подобраны вручную для обеспечения работоспособности алгоритма цифровой подписи и аутентификации.

Исходя из требований алгоритма RSA, были выбраны два простых числа:

p = 103, q = 131

На их основе вычислены:

Модуль: n = p * q = 103 * 131 = 13493 (0x34B5)

Функция Эйлера: φ(n) = (p - 1) * (q - 1) = 102 * 130 = 13260

В качестве открытой экспоненты e было выбрано малое нечетное число, взаимно простое с φ(n): e = 3

Секретная экспонента d была вычислена как мультипликативно обратная к e по модулю φ(n): d = e⁻¹ mod φ(n) = 8843 (0x228B)

Эти значения статически заданы в программе и обеспечивают выполнение основного условия RSA:

(Hd mod n)e mod n = H

где H — 16-битный хеш-образ, полученный из 48-битного исходного сообщения.

Таким образом, система демонстрирует полный цикл работы:

  1. Формирование подписи на стороне отправителя: S = Hd mod n.

  2. Аутентификация на стороне получателя: H' = Se mod n и сравнение H' = H.

Хотя генерация ключей не является динамической функцией программы, ручной подбор математически корректных параметров является важной частью проекта, обеспечивающей валидацию корректности реализации алгоритмов возведения в степень и модульной арифметики на сигнальном процессоре.

4.2 Разработка блок-схемы основной программы

Рисунок 7 – Блок-схема основной программы

Рисунок 8 – Блок-схема демонстрационной программы с форсированием прерываний

4.3 Разработка блок-схем подпрограмм основной программы

Рисунок 9 – Блок-схема подпрограммы вычисления хеш-функции

Рисунок 10 – Блок-схема подпрограммы формирования цифровой подписи

Рисунок 11 – Блок-схема подпрограммы заполнения банка степеней

Рисунок 12 – Блок-схема подпрограммы модульного умножения

Рисунок 13 – Блок-схема подпрограммы проверки подписи (verify_signature)

Рисунок 14 – Блок-схема подпрограммы проверки подписи (UMN_step_verify)

Глава 5 Анализ результатов работы программного обеспечения микропроцессорного устройства

В данной главе приводятся результаты моделирования работы разработанного программного обеспечения в среде VisualDSP++. Основной задачей тестирования являлась проверка корректности формирования электронной цифровой подписи (ЭЦП) для 16-битного хеш-образа исходного 48-битного сообщения, а также успешного прохождения процедуры аутентификации, что является необходимым условием для обеспечения целостности и подлинности данных в системе передачи.

5.1 Исходные данные и параметры системы

Для проверки алгоритма в память процессора было загружено тестовое 48-битное сообщение, разбитое на три 16-битных слова:

Рисунок 15 – Исходное сообщение, разбитое на три 16-битных слова

Исходное сообщение в шестнадцатеричном виде:

M = 0x333322221111.

Параметры криптосистемы, зашитые в программу:

Рисунок 16 – Модуль, секретный ключ и открытый ключ