El algoritmo de Adleman es el primer algoritmo de logaritmo discreto subexponencial en el anillo de residuos módulo a número primo . El algoritmo fue propuesto por Leonard Max Adleman (nacido Leonard Adleman - Aidlman ) en 1979 . Leonard Max Adleman ( nacido el 31 de diciembre de 1945 ) es un informático estadounidense y profesor de informática y biología molecular en la Universidad del Sur de California . Es conocido como el co-inventor del sistema de encriptación RSA (Rivest-Shamir-Adleman, 1977 ) y la computación de ADN . RSA se usa ampliamente en aplicaciones de seguridad informática , incluido el protocolo HTTPS .
El sistema reducido de residuos módulo m es el conjunto de todos los números del sistema completo de residuos módulo m que son primos relativos a m . El sistema reducido de residuos módulo m consta de φ( m ) números, donde φ( ) es la función de Euler . Cualquier número de φ(m) que sea módulo m incomparable por pares y coprimos con este módulo representa un sistema reducido de residuos. Como sistema reducido de residuos módulo m , se suelen tomar números del 1 al , coprimos a m . Si x también pasa por el sistema reducido de residuos módulo m, entonces ax también toma valores que forman el sistema reducido de residuos módulo este [1] .
El sistema reducido de residuos con multiplicación módulo m forma un grupo denominado grupo multiplicativo o grupo de elementos invertibles del anillo de residuos módulo m , que se denota por o .
La factorización de un polinomio es una representación de un polinomio dado como producto de polinomios de menor grado.
El teorema fundamental del álgebra establece que todo polinomio sobre el campo de los números complejos se puede representar como un producto de polinomios lineales, y de forma única hasta un factor constante y el orden de los factores.
Lo contrario de factorizar polinomios es extenderlos , multiplicando los factores de polinomios para producir un polinomio "extendido" escrito como una suma de términos.
Sean polinomios dados tales que
es un polinomio normalizado irreducible de grado es el generador del grupo multiplicativo de grado menor queEs necesario encontrar (si existe) un número natural que satisfaga la comparación
Nivel 1. Pongamos
Etapa 2. Encuentre el conjunto de polinomios normalizados irreducibles de grado máximo y numérelos por números de a donde
Etapa 3. Elijamos números al azar y tales que
y calcular un polinomio tal que
Etapa 4. Si el polinomio resultante es el producto de todos los polinomios irreducibles del conjunto , es decir
donde es el coeficiente principal (para factorizar polinomios unitarios sobre un campo finito , puede usar, por ejemplo, el algoritmo de Berlekamp ), luego establecemos De lo contrario, elegimos otro aleatorio y repetimos los pasos 3 y 4. Después de eso, establezca y repita los pasos 3 y 4. Repetir hasta esos siempre y cuando De esta forma consigamos los conjuntos , y para
Etapa 5 Calculamos tal que mcd y
Etapa 6 Calculemos un número tal que
Etapa 7. Si gcd , vaya al paso 3 y seleccione nuevos conjuntos , y de lo contrario, calcule números y un polinomio tal que
Etapa 8. Calcular el número deseado
Que se dé la comparación
((una)) |
Es necesario encontrar un número natural x que satisfaga la comparación (1).
Nivel 1. Forme una base factorial que consista en todos los números primos q :
Etapa 2. Usando la enumeración, encuentre números naturales tales que
es decir, se descompone según la base factorial. De ahí se sigue que
((2)) |
Etapa 3. Después de teclear muchas relaciones (2), resolver el sistema de ecuaciones lineales resultante con respecto a logaritmos discretos desconocidos de los elementos de la base factorial ( ).
Etapa 4. Usando alguna enumeración, encuentre un valor de r para el cual
donde son números primos de valor "promedio", es decir , donde también hay un límite subexponencial,
Etapa 5 Usando cálculos similares a los pasos 2 y 3, encuentre los logaritmos discretos de .
Etapa 6 Determine el logaritmo discreto deseado:
El algoritmo de Adleman tiene una estimación heurística de la complejidad de las operaciones aritméticas, donde es alguna constante. En la práctica, no es lo suficientemente eficiente.
El problema del logaritmo discreto es uno de los principales problemas en los que se basa la criptografía de clave pública .
El logaritmo discreto (DLOG) es el problema de invertir una función en algún grupo multiplicativo finito .
La mayoría de las veces, el problema del logaritmo discreto se considera en el grupo multiplicativo de un anillo de residuos o un campo finito , así como en el grupo de puntos de una curva elíptica sobre un campo finito. Generalmente se desconocen algoritmos eficientes para resolver el problema del logaritmo discreto.
Para g y a dados, la solución x de la ecuación se llama logaritmo discreto del elemento a en base g . En el caso de que G sea el grupo multiplicativo del anillo de residuos módulo m , la solución también se denomina índice del número a con respecto a la base g . Se garantiza que existe un índice de a en base g si g es una raíz primitiva módulo m .
Sistema criptográfico de clave pública (o cifrado asimétrico , cifrado asimétrico ): un sistema de cifrado y/o firma electrónica (ES) en el que la clave pública se transmite a través de un canal abierto (es decir, no seguro, observable) y se utiliza para verificar el ES y para el cifrado de mensajes. Para generar un ES y descifrar el mensaje, se utiliza una clave privada [2] . Los sistemas criptográficos de clave pública ahora se usan ampliamente en varios protocolos de red , en particular los protocolos TLS y su predecesor SSL ( HTTPS subyacente ), SSH . También se utiliza en PGP , S/MIME.Los esquemas criptográficos clásicos basados en él son el esquema de generación de claves compartidas Diffie-Hellman , el esquema de firma electrónica ElGamal, el sistema criptográfico Massey-Omura para la transmisión de mensajes. Su fuerza criptográfica se basa en la supuesta alta complejidad computacional de invertir la función exponencial .
El protocolo Diffie-Hellman ( eng. Diffie-Hellman , DH ) es un protocolo criptográfico que permite que dos o más partes obtengan una clave secreta compartida utilizando un canal de comunicación que no está protegido contra la escucha. La clave resultante se utiliza para cifrar más intercambios utilizando algoritmos de cifrado simétricos .
El esquema de distribución de claves públicas propuesto por Diffie y Hellman hizo una verdadera revolución en el mundo del cifrado, ya que eliminó el principal problema de la criptografía clásica: el problema de la distribución de claves.
En su forma pura, el algoritmo Diffie-Hellman es vulnerable a la modificación de datos en el canal de comunicación, incluido el ataque " Man in the middle ", por lo que los esquemas que lo utilizan utilizan métodos adicionales de autenticación unidireccional o bidireccional.
El esquema de Elgamal es un criptosistema de clave pública basado en la dificultad de calcular logaritmos discretos en un campo finito . El criptosistema incluye un algoritmo de cifrado y un algoritmo de firma digital. El esquema ElGamal subyace a los antiguos estándares de firma digital en los Estados Unidos ( DSA ) y Rusia ( GOST R 34.10-94 ).
El esquema fue propuesto por Taher El-Gamal en 1985 . [3] El-Gamal desarrolló una variante del algoritmo Diffie-Hellman . Mejoró el sistema Diffie-Hellman y obtuvo dos algoritmos que se utilizaron para el cifrado y la autenticación. A diferencia de RSA, el algoritmo ElGamal no estaba patentado y, por lo tanto, se convirtió en una alternativa más económica ya que no se requerían tarifas de licencia. Se cree que el algoritmo está cubierto por la patente Diffie-Hellman.