Solucionador de logaritmo discreto en línea
Calcula el exponente x tal que g^x ≡ h (mod p) con búsqueda exhaustiva. Introduce g, h y p (2-1.000.000) y obtén el resultado al instante. El procesamiento s…
Empezar a usar
Qué hace esta herramienta
Esta herramienta resuelve el logaritmo discreto en un grupo multiplicativo módulo p. Dados g, h y p, busca el menor exponente no negativo x tal que g^x ≡ h (mod p). Por ejemplo, con los valores por defecto g=2, h=8 y p=13, el resultado es x=3 porque 2^3 = 8 y 8 mod 13 = 8.
Parámetros y procesamiento
Los tres valores deben ser enteros. El módulo p está limitado a un rango de 2 a 1.000.000 para evitar un trabajo excesivo en el hilo principal. La búsqueda comienza con el valor 1 para el exponente 0 y actualiza el valor mediante valor = (valor * g) mod p en cada paso. h se normaliza módulo p, por lo que valores negativos o mayores que p se comparan por su residuo. Si no se encuentra ninguna coincidencia tras p comprobaciones, la herramienta informa de que no hay solución.
Limitaciones importantes
El módulo no tiene por qué ser primo y la herramienta no demuestra que g genere un grupo multiplicativo. Con valores no coprimos, la secuencia puede entrar en un ciclo más corto, pero la búsqueda exhaustiva acotada sigue devolviendo el primer exponente que coincida si existe. Este es un algoritmo educativo O(p), no un servicio criptográfico. No utiliza baby-step giant-step ni Pollard rho. Los módulos criptográficos reales son deliberadamente inviables aquí.
Preguntas frecuentes
¿Qué ocurre si h es mayor que p o negativo?
La herramienta normaliza h módulo p, así que se compara el residuo. Por ejemplo, si p=13 y h=21, se usa 21 mod 13 = 8, por lo que el resultado sería el mismo que para h=8.
¿Puedo usar un módulo que no sea primo?
Sí, el módulo no tiene que ser primo. Sin embargo, si g y p no son coprimos, la secuencia puede no ser cíclica completa, pero la búsqueda exhaustiva sigue siendo correcta: encuentra el primer exponente que cumple la congruencia si existe.
¿Por qué el límite de p es 1.000.000?
El algoritmo realiza hasta p comprobaciones, por lo que el límite evita que la página se bloquee. Para módulos mayores, el tiempo de cálculo sería excesivo en un navegador.
Lista de verificación
- Introduce valores enteros para g, h y p.
- Comprueba que p está entre 2 y 1.000.000.
- Interpreta el resultado como el exponente más pequeño que satisface la congruencia.
- Si no hay solución, revisa si h es alcanzable con la base dada.
- Para trabajo importante, verifica la congruencia de forma independiente.
El procesamiento se realiza localmente en tu navegador.