Статья:

РЕАЛИЗАЦИЯ ПРОТОКОЛА ДИФФИ ХЕЛЛМАНА В СИСТЕМЕ КОМПЬЮТЕРНОЙ АЛГЕБРЫ MAPLE ДЛЯ ЛАБОРАТОРНОГО ПРАКТИКУМА ПО КРИПТОГРАФИИ

Конференция: CCCXLVIII Студенческая международная научно-практическая конференция «Молодежный научный форум»

Секция: Физико-математические науки

Выходные данные
Гарипов Д.Р. РЕАЛИЗАЦИЯ ПРОТОКОЛА ДИФФИ ХЕЛЛМАНА В СИСТЕМЕ КОМПЬЮТЕРНОЙ АЛГЕБРЫ MAPLE ДЛЯ ЛАБОРАТОРНОГО ПРАКТИКУМА ПО КРИПТОГРАФИИ // Молодежный научный форум: электр. сб. ст. по мат. CCCXLVIII междунар. студ. науч.-практ. конф. № 22(348). URL: https://nauchforum.ru/archive/MNF_interdisciplinarity/22(348).pdf (дата обращения: 07.07.2026)
Лауреаты определены. Конференция завершена
Эта статья набрала 0 голосов
Мне нравится
Дипломы
лауреатов
Сертификаты
участников
Дипломы
лауреатов
Сертификаты
участников
на печатьскачать .pdfподелиться

РЕАЛИЗАЦИЯ ПРОТОКОЛА ДИФФИ ХЕЛЛМАНА В СИСТЕМЕ КОМПЬЮТЕРНОЙ АЛГЕБРЫ MAPLE ДЛЯ ЛАБОРАТОРНОГО ПРАКТИКУМА ПО КРИПТОГРАФИИ

Гарипов Данил Ринатович
студент, Уфимский университет науки и технологий, РФ, г. Нефтекамск
Вильданов Алмаз Нафкатович
научный руководитель, канд. физ.-мат. наук, доц., Уфимский университет науки и технологий, РФ, г. Нефтекамск

 

Протокол Диффи‑Хеллмана, предложенный в 1976 году Уитфилдом Диффи и Мартином Хеллманом [1], стал историческим прорывом в криптографии, впервые позволив двум сторонам согласовать общий секретный ключ без его предварительной передачи по защищённому каналу. Этот протокол лежит в основе многих современных стандартов безопасной связи, включая TLS, IPsec, SSH и IKE [3, 7], и остаётся востребованным в технологиях blockchain и мессенджеров с end‑to‑end шифрованием. Изучение протокола является обязательным компонентом подготовки специалистов по информационной безопасности, однако его математическая основа – дискретное логарифмирование в конечных полях – часто воспринимается студентами как абстрактная теория, оторванная от практических вычислений [2, 5]. Система компьютерной алгебры Maple позволяет преодолеть это затруднение благодаря встроенным функциям модульной арифметики (mod, Power), работе с большими целыми числами и наглядной визуализации результатов [6]. Актуальность темы определяется необходимостью создания учебных реализаций, которые демонстрируют математическую суть протокола без погружения в низкоуровневое программирование, а также развивают у студентов навыки использования систем символьных вычислений для решения криптографических задач.

 

Рисунок 1. Реализация протокола Диффи-Хеллмана

 

Приведённый выше скрипт на языке Maple (рисунок 1) моделирует базовый этап протокола Диффи‑Хеллмана – вычисление и обмен открытыми ключами. Сначала задаются общие параметры, которые должны быть известны обеим сторонам: простое число n = 79, выступающее модулем, и генератор q = 17. В классическом протоколе q должен быть первообразным корнем по модулю n, что гарантирует максимальный размер множества возможных ключей [1, 7]. Затем каждая сторона выбирает собственное секретное число, не подлежащее передаче: первая сторона (Алиса) – alpha = 68, вторая сторона (Боб) – beta = 66. Далее код вычисляет открытые ключи: Алиса отправляет Бобу значение C = Power(q, alpha) mod n, Боб отправляет Алисе значение H = Power(q, beta) mod n. Функция Power в Maple реализует быстрое возведение в степень, а оператор mod приводит результат к вычету по модулю n. Эти две строчки имитируют передачу открытых ключей по незащищённому каналу. Помимо основного обмена, код содержит вспомогательные вычисления C1 = Power(62, alpha) mod n и H1 = Power(64, beta) mod n. Они демонстрируют, что при использовании других оснований (62 и 64) получаются иные открытые значения, но эти значения не могут быть использованы для согласования общего ключа, так как протокол фиксирует единое основание q. Для полноты протокола не хватает явного вычисления общего секретного ключа, которое должно выполняться как K_A = Power(H, alpha) mod n на стороне Алисы и K_B = Power(C, beta) mod n на стороне Боба. При данных параметрах оба вычисления дают число 22, что и является согласованным ключом [2, 5]. Таким образом, код выполняет все математические операции открытой фазы протокола: генерацию секретов, вычисление открытых ключей и (при небольшом дополнении) получение общего секрета.

Разработанный Maple‑скрипт корректно реализует вычислительную часть протокола Диффи‑Хеллмана для выбранных числовых параметров [6]. Код обладает минимальной сложностью, поскольку использует встроенные функции Maple для модульного возведения в степень, что исключает необходимость программирования алгоритма быстрого возведения в степень вручную. Прозрачность операций делает скрипт удобным для лабораторного практикума: студенты могут изменять значения n, q, alpha и beta, наблюдать за изменениями открытых ключей и проверять, что итоговый общий секрет совпадает у обеих сторон при условии корректного выбора генератора [5]. Однако код не включает проверку того, является ли q первообразным корнем по модулю n, и не обрабатывает возможные ошибки (например, когда n не простое). В учебных целях эти упрощения оправданы, но преподаватель должен акцентировать внимание на том, что в реальных системах выбор параметров требует строгого обоснования [3, 7]. Тем не менее, представленная реализация полностью пригодна для демонстрации принципа обмена ключами и может служить основой для дальнейших экспериментов, включая шифрование полученным ключом (например, шифром Цезаря) и моделирование атаки «человек посередине» [4, 7].

 

Список литературы:
1. Диффи, У. Новые направления в криптографии / У. Диффи, М. Хеллман // American Mathematical Monthly. — 1976. — Vol. 36, № 6. — P. 306–312.
2. Бабаш, А. В. Криптография / А. В. Бабаш, Г. П. Шанкин. — Москва: СОЛОН-Пресс, 2007. — 512 с.
3. Шнайер, Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си / Б. Шнайер. — 2-е изд. — Москва: Триумф, 2002. — 816 с.
4. Молдовян, А. А. Криптография: от примитивов до синтеза алгоритмов / А. А. Молдовян, Н. А. Молдовян. — Санкт-Петербург: БХВ-Петербург, 2004. — 448 с.
5. Рябко, Б. Я. Криптографические методы защиты информации / Б. Я. Рябко, А. Н. Фионов. — Москва: Горячая линия-Телеком, 2012. — 230 с.
6. Аладьев, В. З. Система компьютерной алгебры Maple: искусство программирования / В. З. Аладьев, М. Л. Шишаков. — Москва: Лаборатория Базовых Знаний, 2006. — 480 с.
7. Нечаев, В. И. Элементы криптографии. Основы теории защиты информации / В. И. Нечаев. — Москва: Высшая школа, 1999. — 109 с.