Calculadora de logaritmos discretos

El problema de los logaritmos discretos consiste en hallar el exponente en la expresión BaseExponente = Potencia (mod Módulo).

Esta aplicación funciona para modulos primos y compuestos. La única restricción es que la base y el módulo, y la potencia y el módulo deben ser primos entre sí.

En esta versión de la calculadora de logaritmos discretos está implementado el algoritmo Pohlig-Hellman, así que el tiempo de ejecución es proporcional a la raíz cuadrada del mayor factor primo del módulo menos 1. El applet responde en un período de tiempo razonable si este factor es menor que 1017.

Se pueden ingresar expresiones que usen los siguientes operadores y paréntesis:

Puedes usar el prefijo 0x para números hexadecimales, por ejemplo 0x38 es igual a 56.

El símbolo de exponenciación no está presente en algunos dispositivos móviles, así que es posible digitar dos asteriscos ** para el operador de exponenciación.

Ejemplo: Hallar el número n tal que 7n ≡ 23 (mod 43241).

Digita 7 en la caja de entrada de Base, 23 en la caja de Potencia y 43241 en la caja Mod. Luego aprieta el botón denominado "Logaritmo discreto".

El resultado es 3360 + 3930 k, donde k puede ser cualquier número entero. Como verificación puedes hallar 73360 ≡ 23 (mod 43241) y 73930 ≡ 1 (mod 43241)

Código fuente

Puedes bajar el código fuente del programa actual y del viejo applet de cálculo de logaritmos discretos desde GitHub. El código fuente está escrito en lenguaje C, por lo que es necesario Emscripten para generar Javascript.

Escrito por Dario Alpern. Actualizado el 31 de julio de 2016.

Si encuentra algún error o tiene algún comentario, por favor llene el formulario.