Онлайн-решатель дискретного логарифма
Найдите наименьший x для g^x mod p = h. Полный перебор, пример 2^3 mod 13 = 8. Модуль до 1 000 000. Обработка выполняется локально в вашем браузере.
Начать работу
Что делает этот инструмент
Решатель дискретного логарифма выполняет исчерпывающий поиск: он последовательно проверяет x = 0, 1, 2, ... до p-1, вычисляя g^x по модулю p, и сравнивает результат с h (приведённым по модулю p). Это образовательный алгоритм сложности O(p), не предназначенный для криптографических атак.
Пример работы
При значениях g=2, h=8, p=13 инструмент найдёт x=3, потому что 2^3 = 8, и 8 mod 13 = 8. Проверка: 2^0=1, 2^1=2, 2^2=4, 2^3=8 — совпадение на x=3.
Ограничения
- Модуль p ограничен диапазоном от 2 до 1 000 000.
- Инструмент не проверяет, является ли p простым, и не гарантирует, что g порождает группу.
- Если g и p не взаимно просты, последовательность может зациклиться, но полный перебор всё равно найдёт первое совпадение, если оно существует.
- Расчёт выполняется локально в вашем браузере, без отправки данных на сервер.
Часто задаваемые вопросы
Что если h больше p или отрицательное?
h приводится по модулю p, поэтому сравнивается остаток от деления h на p. Например, h=21 и p=13 даст остаток 8, и поиск будет искать x, для которого g^x mod 13 = 8.
Почему результат может быть «нет решения»?
Если ни одно значение x от 0 до p-1 не даёт сравнимый с h остаток, инструмент сообщает об отсутствии решения. Это возможно, когда h не принадлежит множеству степеней g по модулю p.
Можно ли использовать этот инструмент для взлома реальных криптографических ключей?
Нет. Ограничение модуля до 1 000 000 делает его пригодным только для учебных примеров. Реальные криптографические модули огромны, и полный перебор здесь невозможен.
Обработка выполняется локально в вашем браузере.