- •Министерство цифрового развития, связи и массовых коммуникаций российской федерации
- •Московский технический университет связи и информатики
- •«Реализация на основе сигнального процессора криптосистемы по алгоритму rsa в расширенных полях Галуа для 48-разрядных данных. Цифровая подпись и аутентификация с хеш-функцией»
- •Введение
- •Глава 1 Формирование технического задания на составную часть эскизного проекта
- •Глава 2 Краткие теоретические основы
- •2.1 Математический аппарат
- •2.2 Особенности реализации rsa в расширенных полях Галуа
- •2.3 Цифровая подпись и аутентификация по алгоритму rsa
- •2.3.1 Генерация ключей для алгоритма rsa
- •2.3.2 Процесс подписи и проверки в алгоритме rsa
- •2.3.3 Преимущества схемы цифровой подписи rsa
- •2.3.4 Аутентификация в алгоритме rsa
- •Глава 3 Разработка и описание функциональной схемы микропроцессорного устройства
- •Глава 4 Разработка программного обеспечения микропроцессорного устройства
- •4.1 Генерация ключей
- •4.2 Разработка блок-схемы основной программы
- •4.3 Разработка блок-схем подпрограмм основной программы
- •Глава 5 Анализ результатов работы программного обеспечения микропроцессорного устройства
- •5.1 Исходные данные и параметры системы
- •Вычисление 16-битного хеш-образа сообщения
- •Формирование цифровой подписи
- •Процедура аутентификации (верификация подписи)
- •Заключение
- •Список использованных источников
- •Приложение а тз на составную часть эскизного проекта
- •2 Цель разработки, наименование и обозначение изделия
- •2.1 Цель разработки
- •3 Технические требования к изделию
- •4 Технико-экономические требования
- •5 Требования к видам обеспечения
- •Тапы выполнения эскизного проекта
- •Порядок выполнения и приемки этапов эскизного проекта
- •Приложение б Текст основной программы с необходимыми комментариями
- •Приложение в Текст демонстрационной программы с форсированием прерываний
- •Приложение г Инструкция по работе с мпкс
Глава 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-битного исходного сообщения.
Таким образом, система демонстрирует полный цикл работы:
Формирование подписи на стороне отправителя: S = Hd mod n.
Аутентификация на стороне получателя: 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 – Модуль, секретный ключ и открытый ключ
