- •Министерство цифрового развития, связи и массовых коммуникаций российской федерации
- •Московский технический университет связи и информатики
- •«Реализация на основе сигнального процессора криптосистемы по алгоритму 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 Требования к видам обеспечения
- •Тапы выполнения эскизного проекта
- •Порядок выполнения и приемки этапов эскизного проекта
- •Приложение б Текст основной программы с необходимыми комментариями
- •Приложение в Текст демонстрационной программы с форсированием прерываний
- •Приложение г Инструкция по работе с мпкс
Глава 1 Формирование технического задания на составную часть эскизного проекта
Техническое задание на составную часть эскизного проекта приведено в Приложении А. В соответствии с темой и индивидуальным заданием сформировано технического задание на составную часть эскизного проекта микропроцессорной криптографической системы цифровой подписи и аутентификации по алгоритму RSA в расширенных полях Галуа с кодовым наименованием МПКС-RSA-ЦПА-n-2025-10(ЦПА)
Расшифровка данного шифра:
• МПКС – Микропроцессорная криптографическая система
• RSA – алгоритм RSA
• ЦПА – шифр на основе цифровой подписи и аутентификации
• n – шифр разрабатывается в расширенных полях Галуа
• 2025 – год разработки шифра
• 10 – номер бригады
• (ЦПА) – цифровая подпись и аутентификация
Согласно техническому заданию, система должна формировать цифровую подпись для 16-битного хеш-образа, полученного из 48-битного исходного сообщения. Таким образом, хеш-функция является неотъемлемой частью криптосистемы и предшествует этапу возведения в степень по модулю.
Цель разработки - создание модели цифровой подписи и аутентификации для процессора ADSP-2181. Результатом должна стать разработка алгоритмов и методов, позволяющих преобразовывать данные в зашифрованный вид при помощи закрытого ключа и затем обратно в исходный вид при помощи открытого ключа.
Разрабатываемая система будет использовать цифровую подпись для аутентификации сообщения Х на приеме. Курсовой проект разделен на два этапа - разработку системы цифровой подписи и ее аутентификацию.
Глава 2 Краткие теоретические основы
2.1 Математический аппарат
Реализация криптосистем на сигнальном процессоре тесно связана с вычислениями в полях Галуа, особенно в расширенных полях, формируемых на основе простых полей. Работа в таких полях позволяет эффективно управлять данными без выхода за пределы разрядной сетки процессора, поскольку при выполнении арифметических операций элементы возвращаются в поле с использованием остаточного деления, то есть по модулю.
Расширенные поля Галуа, обозначаемые как GF(pn), где p - простое число, а n - натуральное число, представляют собой множество элементов, описываемых полиномами. Операции в таких полях требуют применения определенного математического аппарата:
Сложение: осуществляется поэлементно, с учетом правил арифметики в GF(p) и возможного вычитания по модулю р.
Вычитание: аналогично сложению, вычитание выполняется поэлементно, применяя модульную арифметику.
Умножение: умножение полиномов выполняется с последующим сокращением по заданному неприводимому полиному, который используется для определения структуры поля. Сокращение осуществляется через деление с остатком, что возвращает результат в рамках поля.
Деление: Деление также производится на полиномах с использованием алгоритма Евклида для нахождения наибольшего общего делителя и деления с остатком.
2.2 Особенности реализации rsa в расширенных полях Галуа
В классическом виде алгоритм RSA реализуется в кольце вычетов по модулю
𝑛 = 𝑝 ⋅𝑞, где 𝑝 и 𝑞 — большие простые числа. Однако при адаптации RSA к архитектуре сигнальных процессоров, таких как ADSP-2181, возникает необходимость использовать расширенные поля Галуа GF(2ⁿ), поскольку они позволяют эффективно выполнять длинную арифметику на 16-разрядной платформе без переполнений.
В поле GF(2ⁿ) операции сложения и вычитания эквивалентны побитовой операции XOR, а умножение и деление выполняются с редукцией по неприводимому полиному степени n. Это позволяет представлять 48-битные числа как трёхсловные структуры из 16-битных регистров и реализовывать модульное возведение в степень через последовательность базовых операций, совместимых с архитектурой процессора.
Кроме того, использование расширенных полей Галуа обеспечивает детерминированное время выполнения операций, что повышает устойчивость к атакам по времени. Несмотря на то, что безопасность классического RSA основана на трудности факторизации целых чисел, в контексте учебного проекта применение GF(2ⁿ) служит демонстрацией адаптации криптографических примитивов к ограничениям аппаратной платформы [4, 7].
