СОЗДАНИЕ ЭЛЕКТРОННОЙ ПОДПИСИ И ХЭШИРОВАНИЕ ТЕКСТА С ПОМОЩЬЮ АЛГОРИТМА RSA В СРЕДЕ MAPLE

Яппаров Дильнар Рафисович
Уфимский университет науки и технологий», Нефтекамский филиал
студент 3 курса экономико-математического факультета

Аннотация
В статье рассматривается процесс моделирования электронной подписи с использованием криптографического алгоритма RSA в программной среде Maple. Выполняется преобразование текстовой информации в числовой формат, вычисление хэш-значения сообщения, создание электронной подписи и проверка её подлинности. Рассматриваются особенности применения криптографических методов для защиты информации и обеспечения целостности электронных документов. Актуальность темы обусловлена широким распространением электронного документооборота и необходимостью обеспечения безопасности цифровых данных. Новизна работы заключается в практической реализации алгоритма RSA с использованием функций преобразования текстовых данных и механизмов хэширования в среде Maple.

Ключевые слова: , , , , , , , , ,


Рубрика: 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 позволяет эффективно защищать цифровую информацию и обеспечивать высокий уровень информационной безопасности. Практическое изучение криптографических методов способствует более глубокому пониманию современных технологий защиты данных и принципов работы систем электронной подписи.


Библиографический список
  1. RSA cryptosystem [Электронный ресурс] / Wikipedia. – Электрон. текстовые дан. – Режим доступа: https://en.wikipedia.org/wiki/RSA_(cryptosystem), свободный. – Загл. с экрана.
  2. Maple Documentation [Электронный ресурс] / Maplesoft. – Электрон. текстовые дан. – Режим доступа: https://www.maplesoft.com/documentation/, свободный. – Загл. с экрана.
  3. Шнайер Б. Прикладная криптография. Протоколы, алгоритмы и исходные тексты на языке Си: учебное пособие. – М.: Триумф, 2012. – 816 с. – ISBN 978-5-89392-055-5.
  4. Панасенко С.П. Криптографические методы защиты информации: учебное пособие. – СПб.: БХВ-Петербург, 2009. – 448 с. – ISBN 978-5-9775-0318-1.
  5. Об электронной подписи [Электронный ресурс] / КонсультантПлюс. – Электрон. текстовые дан. – Режим доступа: http://www.consultant.ru/document/cons_doc_LAW_112701/, свободный. – Загл. с экрана.


Все статьи автора «Яппаров Дильнар Рафисович»


© Если вы обнаружили нарушение авторских или смежных прав, пожалуйста, незамедлительно сообщите нам об этом по электронной почте.