Научный руководитель: Вильданов Алмаз Нафкатович
к.ф.-м.н., Уфимский университет науки и технологий, Нефтекамский филиал
Современное развитие информационных технологий сопровождается ростом объёма передаваемых данных и необходимостью обеспечения их защиты. Одной из ключевых задач является подтверждение подлинности информации и её целостности. Для решения данной задачи широко применяется электронная подпись, которая позволяет удостовериться в том, что сообщение не было изменено и действительно отправлено заявленным автором.
Одним из наиболее распространённых алгоритмов электронной подписи является RSA. Его надёжность основана на сложности факторизации больших чисел, что делает невозможным подбор закрытого ключа за разумное время при использовании достаточно больших параметров. Алгоритм применяется в различных системах защиты информации, включая электронный документооборот, банковские операции и системы аутентификации.
В рамках работы была реализована модель создания электронной подписи с использованием алгоритма RSA в среде Maple. На первом этапе выполняется преобразование текстового сообщения в числовой формат, так как все криптографические операции выполняются над числами. Для этого используются специальные функции, основанные на кодировании символов с помощью таблицы ASCII. Каждому символу ставится в соответствие числовой код, после чего формируется единое числовое представление строки.

Рисунок 1. Функция перевода строки в число

Рисунок 2. Функция обратного преобразования
В качестве исходного сообщения используется строка «VAN». После преобразования получено числовое значение:
M = 220114
Далее выполняется генерация ключей алгоритма RSA. Для этого выбираются два простых числа p и q. В данной работе они автоматически определяются с помощью функции поиска следующего простого числа:
p = 1009
q = 1013
На их основе вычисляется модуль:
n = p · q = 1022117
и значение функции Эйлера:
φ(n) = (p − 1)(q − 1) = 1020096

Рисунок 3. Скриншот из Maple
Следующим этапом является выбор открытого ключа e, который должен быть взаимно простым с φ(n). В работе используется значение:
e = 1019
Проверка показала, что gcd(e, φ(n)) = 1, что удовлетворяет условиям алгоритма. Далее с помощью расширенного алгоритма Евклида вычисляется закрытый ключ d:
d = 397427
После генерации ключей выполняется создание электронной подписи. Для этого исходное числовое сообщение возводится в степень d по модулю n:
C = M^d mod n = 877653
Полученное значение является электронной подписью сообщения.
Для проверки подлинности подписи выполняется обратная операция: возведение подписи в степень e по модулю n:
MI = C^e mod n = 220114
Результат совпадает с исходным значением M, что подтверждает корректность подписи. В программной реализации также предусмотрена автоматическая проверка, которая выводит сообщение об успешном выполнении.

Рисунок 4. Скриншот из Maple
Таким образом, подписанное сообщение можно представить в следующем виде: исходный текст «VAN», его числовое представление 220114, подпись 877653 и открытый ключ (e = 1019, n = 1022117). Любой пользователь, обладающий открытым ключом, может проверить подлинность подписи.
В ходе выполнения работы был подробно изучен алгоритм RSA и реализованы все его основные этапы: преобразование данных, генерация ключей, создание и проверка электронной подписи. Практическая реализация показала, что алгоритм корректно функционирует и может быть использован для защиты информации. Несмотря на использование относительно небольших чисел в учебных целях, принцип работы полностью соответствует реальным криптографическим системам.
Полученные знания позволяют лучше понять основы современной криптографии и могут быть применены при разработке защищённых информационных систем, а также при дальнейшем изучении методов шифрования и электронной подписи.
Библиографический список
-
Шнайер Б. Прикладная криптография. — М.: Вильямс, 2002.
-
Васильев В.И. Криптографические методы защиты информации. — М.: Финансы и статистика, 2010.
-
Stallings W. Cryptography and Network Security. — Pearson, 2017.
-
Документация Maple [Электронный ресурс].
-
RSA Algorithm Overview [Электронный ресурс].
-
Menezes A., van Oorschot P., Vanstone S. Handbook of Applied Cryptography.
