- •Министерство цифрового развития, связи и массовых коммуникаций российской федерации
- •Московский технический университет связи и информатики
- •«Реализация на основе сигнального процессора криптосистемы по алгоритму 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 Требования к видам обеспечения
- •Тапы выполнения эскизного проекта
- •Порядок выполнения и приемки этапов эскизного проекта
- •Приложение б Текст основной программы с необходимыми комментариями
- •Приложение в Текст демонстрационной программы с форсированием прерываний
- •Приложение г Инструкция по работе с мпкс
Вычисление 16-битного хеш-образа сообщения
Первым этапом является сжатие 48-битного сообщения до фиксированного размера. Подпрограмма calc_simple_hash выполняет последовательное XOR-преобразование всех трёх частей сообщения:
h_0 = (msg_0 XOR 0xAAAA) XOR msg_1 XOR msg_2
h_0 = (0x1111 XOR 0xAAAA) XOR 0x2222 XOR 0x3333
h_0 = 0xBBBB XOR 0x2222 XOR 0x3333
h_0 = 0x9999 XOR 0x3333
h_0 = 0xAAAA
Результатом является 16-битный хеш-образ:
Рисунок 17 – 16-битный хеш-образ
Этот компактный дайджест и будет использоваться для формирования цифровой подписи.
Формирование цифровой подписи
На втором этапе процессор выполняет операцию возведения 16-битного хеша H в степень секретного ключа d по модулю n: S = Hd mod n.
Подпрограмма UMN_step реализует этот алгоритм методом «банка степеней». После выполнения вычислений результат (цифровая подпись S) сохраняется в переменной s_0 и выводится в порт IO(2).
В результате моделирования была получена подпись:
Рисунок 18 – Готовая цифровая подпись
Процедура аутентификации (верификация подписи)
Для проверки корректности работы системы реализована процедура аутентификации. Подпрограмма verify_signature выполняет обратное преобразование: возведение полученной подписи S в степень открытого ключа e по модулю n: H’=Se mod n.
Если система работает корректно, восстановленный хеш H' должен быть равен исходному хешу H.
Результаты верификации:
Рисунок 19 – Восстановленный хеш H'
Сравнение значений H и H' дало положительный результат, что подтверждается выводом в порт IO(2) значения 0xFFFF (признак успешной аутентификации).
Выводы
Анализ результатов моделирования показал, что:
Программное обеспечение корректно сжимает 48-битное сообщение до 16-битного хеша.
Алгоритм RSA успешно формирует 16-битную цифровую подпись на основе этого хеша.
Процедура аутентификации подтверждает подлинность подписи, восстанавливая исходный хеш.
Таким образом, разработанное ПО полностью соответствует поставленной задаче: реализация на сигнальном процессоре криптосистемы по алгоритму RSA для 48-разрядных данных с формированием цифровой подписи и аутентификацией на основе 16-битной хеш-функции. Цель курсового проекта достигнута.
Заключение
В ходе выполнения курсового проекта была успешно реализована микропроцессорная криптографическая система на основе сигнального процессора ADSP-2181, предназначенная для формирования цифровой подписи по алгоритму RSA в расширенных полях Галуа.
Согласно техническому заданию, система обрабатывает 48-битное исходное сообщение, которое с помощью хеш-функции сжимается до 16-битного хеш-образа. Именно этот 16-битный хеш используется в качестве основания при вычислении цифровой подписи S = Hd (mod n)
Алгоритм хеш-функции выбран в упрощённой форме (XOR-преобразование) и носит демонстрационный характер, однако полностью удовлетворяет требованию ТЗ: подпись формируется для 16-битного хеша.
Несмотря на архитектурные ограничения 16-разрядного сигнального процессора, удалось реализовать корректную работу всех компонентов системы: хеширование, формирование цифровой подписи и проверка аутентификации. Результаты моделирования подтвердили, что восстановленный в ходе верификации хеш-образ полностью совпадает с исходным, что доказывает корректность работы алгоритма RSA.
Таким образом, разработанное программное обеспечение полностью соответствует цели и требованиям технического задания курсового проекта — реализации на сигнальном процессоре криптосистемы по алгоритму RSA в расширенных полях Галуа для 48-разрядных данных с формированием цифровой подписи и аутентификацией на основе 16-битной хеш-функции.
