СОЗДАНИЕ ЭЛЕКТРОННОЙ ПОДПИСИ И ХЭШИРОВАНИЕ ТЕКСТА С ПОМОЩЬЮ АЛГОРИТМА RSA В СРЕДЕ MAPLE
Уфимский университет науки и технологий», Нефтекамский филиал
студент 3 курса экономико-математического факультета
Аннотация
В статье рассматривается процесс моделирования электронной подписи с использованием криптографического алгоритма RSA в программной среде Maple. Выполняется преобразование текстовой информации в числовой формат, вычисление хэш-значения сообщения, создание электронной подписи и проверка её подлинности. Рассматриваются особенности применения криптографических методов для защиты информации и обеспечения целостности электронных документов. Актуальность темы обусловлена широким распространением электронного документооборота и необходимостью обеспечения безопасности цифровых данных. Новизна работы заключается в практической реализации алгоритма RSA с использованием функций преобразования текстовых данных и механизмов хэширования в среде Maple.
Ключевые слова: Maple, RSA, закрытый ключ, защита информации, информационная безопасность, криптографические алгоритмы, криптография, открытый ключ, хеширование, электронная подпись
Рубрика: 05.00.00 ТЕХНИЧЕСКИЕ НАУКИ
Библиографическая ссылка на статью:
Яппаров Д.Р. Создание электронной подписи и хэширование текста с помощью алгоритма RSA в среде Maple // Современные научные исследования и инновации. 2026. № 7 [Электронный ресурс]. URL: https://web.snauka.ru/issues/2026/07/104957 (дата обращения: 11.07.2026).
Научный руководитель: Вильданов Алмаз Нафкатович
кандидат физико-математических наук, доцент
Уфимский университет науки и технологий, Нефтекамский филиал
В настоящее время информационные технологии активно используются практически во всех сферах деятельности человека. Электронные документы применяются в банковской сфере, государственных информационных системах, образовании, медицине и бизнесе. Вместе с развитием цифровых технологий возрастает необходимость обеспечения защиты информации от подделки, изменения и несанкционированного доступа. Именно поэтому вопросы криптографической защиты данных являются особенно актуальными [1].
Одним из наиболее распространённых способов защиты электронных документов является электронная подпись. Электронная подпись позволяет определить автора документа и подтвердить, что информация не была изменена после подписания. Данная технология обеспечивает целостность и подлинность данных, что особенно важно при передаче конфиденциальной информации через сеть Интернет [5].
Современные системы электронной подписи основаны на использовании асимметричных криптографических алгоритмов. Одним из наиболее известных и надежных алгоритмов является RSA. Алгоритм RSA был разработан в 1977 году Рональдом Ривестом, Ади Шамиром и Леонардом Адлеманом. Основой безопасности данного алгоритма является сложность разложения больших чисел на простые множители [1].
Алгоритм RSA широко применяется в системах электронного документооборота, банковских приложениях, цифровых сертификатах и средствах защиты информации. Благодаря высокой криптографической стойкости RSA до сих пор остается одним из наиболее популярных алгоритмов электронной подписи [3].
В ходе выполнения лабораторной работы выполнялось моделирование создания электронной подписи в среде Maple. Основной задачей являлось вычисление хэш-значения текстового сообщения, формирование электронной подписи и проверка её подлинности. В качестве исходного текста использовался фрагмент литературного произведения.
Перед выполнением криптографических операций текст необходимо преобразовать в числовой формат. Это связано с тем, что математические алгоритмы работают исключительно с числами. Для преобразования текста используется функция str_to_num:
str_to_num := proc(s::string)
local i, num, code;
num := “”;
for i to length(s) do
code := sprintf(“%03d”, StringTools[Ord](s[i]) + 104);
num := cat(num, code);
end do;
return parse(num);
end proc;
Данная функция выполняет последовательное преобразование каждого символа строки в число. Для этого используется функция Ord, которая возвращает ASCII-код символа. Далее к полученному значению прибавляется число 104, после чего результат записывается в строку в трёхзначном формате. Использование трёх позиций для каждого символа позволяет избежать ошибок при обратном преобразовании текста [2].
Примеры работы функции:
str_to_num(“abcd”);
201202203204
str_to_num(“xyz”);
224225226
str_to_num(“maple”);
213201216212205
Для обратного преобразования чисел в текст используется функция num_to_str:
num_to_str := proc(n::integer)
local s, i, result, char_code;
s := sprintf(“%d”, n);
result := “”;
for i by 3 to length(s) do
char_code := parse(s[i .. i + 2]);
result := cat(result, StringTools[Char](char_code – 104));
end do;
return result;
end proc;
Данная функция выполняет восстановление текста из числового представления. Функция Char преобразует числовой код обратно в символ. Таким образом обеспечивается возможность получения исходного текста после выполнения криптографических операций.
Примеры работы функции:
num_to_str(201202203204);
“abcd”
num_to_str(224225226);
“xyz”
num_to_str(213201216212205);
“maple”
После преобразования текста в числовой формат выполняется вычисление хэш-значения сообщения. Хэширование представляет собой процесс получения уникального значения фиксированной длины, соответствующего содержимому текста. Даже минимальное изменение исходного сообщения приводит к полному изменению хэш-значения. Благодаря этому можно быстро определить факт изменения документа.
В алгоритме RSA хэш-значение используется для формирования электронной подписи. Вместо подписи всего текста подписывается его хэш, что значительно ускоряет выполнение криптографических операций и уменьшает объем вычислений.
Процесс создания электронной подписи RSA включает несколько этапов:
- Выбор двух больших простых чисел.
- Вычисление произведения простых чисел.
- Нахождение функции Эйлера.
- Формирование открытого и закрытого ключей.
- Вычисление хэш-значения сообщения.
- Создание электронной подписи с помощью закрытого ключа.
- Проверка подлинности подписи с использованием открытого ключа.
При создании ключей используются специальные математические функции, такие как nextprime, igcd, igcdex и power. Функция nextprime позволяет находить простые числа, необходимые для генерации ключей RSA. Функция igcd используется для проверки взаимной простоты чисел. Функция igcdex применяется для вычисления коэффициентов расширенного алгоритма Евклида, а функция power выполняет возведение числа в степень [2].
Особую роль в алгоритме играет функция Эйлера. Она определяет количество чисел, взаимно простых с заданным числом. На основе функции Эйлера формируются открытый и закрытый ключи RSA. Без использования данной функции реализация алгоритма была бы невозможна [3].
Новизна работы заключается в практической реализации алгоритма электронной подписи RSA в программной среде Maple с использованием хэширования текста и преобразования символьных данных в числовой формат. Практическое моделирование позволяет более подробно изучить работу криптографических алгоритмов и понять основные принципы современной защиты информации.
Разработанный программный код демонстрирует базовые механизмы работы электронной подписи. Использование RSA обеспечивает подтверждение авторства документа и защиту информации от изменения. Если злоумышленник попытается изменить хотя бы один символ текста, проверка электронной подписи завершится ошибкой.
Технология электронной подписи широко применяется в различных областях:
- электронный документооборот;
- банковские операции;
- государственные информационные системы;
- цифровые сертификаты;
- защита программного обеспечения;
- системы информационной безопасности предприятий.
С точки зрения информационной безопасности использование электронной подписи значительно снижает риск подделки документов и утечки информации. Электронная подпись позволяет гарантировать целостность данных и подтвердить подлинность отправителя. Особенно важна данная технология для организаций, работающих с конфиденциальной информацией и персональными данными [5].
Кроме того, применение криптографических алгоритмов способствует развитию современных цифровых сервисов. Без использования электронной подписи невозможно представить работу портала государственных услуг, электронных торговых площадок и банковских приложений. Таким образом, криптография играет важную роль в обеспечении безопасности современного информационного общества.
В результате выполнения лабораторной работы был изучен алгоритм RSA и реализован процесс создания электронной подписи с использованием хэширования текста в среде Maple. Выполненная работа позволила изучить методы преобразования текстовых данных, принципы вычисления хэш-значений и особенности проверки подлинности электронных документов.
Таким образом, использование алгоритма RSA позволяет эффективно защищать цифровую информацию и обеспечивать высокий уровень информационной безопасности. Практическое изучение криптографических методов способствует более глубокому пониманию современных технологий защиты данных и принципов работы систем электронной подписи.
Библиографический список
- RSA cryptosystem [Электронный ресурс] / Wikipedia. – Электрон. текстовые дан. – Режим доступа: https://en.wikipedia.org/wiki/RSA_(cryptosystem), свободный. – Загл. с экрана.
- Maple Documentation [Электронный ресурс] / Maplesoft. – Электрон. текстовые дан. – Режим доступа: https://www.maplesoft.com/documentation/, свободный. – Загл. с экрана.
- Шнайер Б. Прикладная криптография. Протоколы, алгоритмы и исходные тексты на языке Си: учебное пособие. – М.: Триумф, 2012. – 816 с. – ISBN 978-5-89392-055-5.
- Панасенко С.П. Криптографические методы защиты информации: учебное пособие. – СПб.: БХВ-Петербург, 2009. – 448 с. – ISBN 978-5-9775-0318-1.
- Об электронной подписи [Электронный ресурс] / КонсультантПлюс. – Электрон. текстовые дан. – Режим доступа: http://www.consultant.ru/document/cons_doc_LAW_112701/, свободный. – Загл. с экрана.
Все статьи автора «Яппаров Дильнар Рафисович»
© Если вы обнаружили нарушение авторских или смежных прав, пожалуйста, незамедлительно сообщите нам об этом по электронной почте.