En matemáticas , para números reales dadosy, el logaritmoes un númerode tal manera queEl logaritmo discreto es un concepto análogo en la teoría de grupos . En cualquier grupo, poderespuede definirse para todos los números enterosy el logaritmo discretoes un número enterode tal manera queEn el caso especial de la aritmética módulo un entero, el término más comúnmente utilizado es índice : uno puede escribircuando.
Los logaritmos discretos se pueden calcular rápidamente en algunos casos especiales, pero no se conoce ningún método eficiente para calcularlos en general. Varios sistemas criptográficos , incluidos Diffie-Hellman y ElGamal , basan su seguridad en la suposición de dificultad de que el problema del logaritmo discreto sobre grupos cuidadosamente elegidos no tiene una solución eficiente. [ 1 ] En general, no existe una solución de tiempo subexponencial para grupos de caja negra . [ 2 ]
Definición
DejarSea cualquier grupo. Denotemos su operación de grupo por la multiplicación y su elemento neutro por. Dejarser cualquier elemento dePara cualquier entero positivo, la expresióndenota el producto deconsigo mismoveces: [ 3 ]
De manera similar, dejemosdenotan el producto deconsigo mismoveces. Para, elEl poder es la identidad:.
Dejartambién ser un elemento deUn número enteroque resuelve la ecuaciónse denomina logaritmo discreto (o simplemente logaritmo , en este contexto) dea la baseUno escribe.
Ejemplos
Potencias de 10
Las potencias de 10 son
Para cualquier númeroEn esta lista se puede calcular. Por ejemplo,, yEstos son ejemplos del problema del logaritmo discreto.
Otros logaritmos en base 10 en los números reales no son casos del problema del logaritmo discreto, porque involucran exponentes no enteros. Por ejemplo, la ecuaciónsignifica que. Si bien los exponentes enteros se pueden definir en cualquier grupo usando productos e inversos, los exponentes reales arbitrarios, como este 1.724276…, requieren otros conceptos como la función exponencial .
En términos de teoría de grupos , las potencias de 10 forman un grupo cíclico.bajo la multiplicación, y 10 es un generador para este grupo. El logaritmo discretose define para cualquieren.
Potencias de un número real fijo
Un ejemplo similar se aplica a cualquier número real distinto de cero.Las potencias forman un subgrupo multiplicativo.de los números reales distintos de cero. Para cualquier elementode, uno puede calcular.
aritmética modular
Una de las configuraciones más simples para logaritmos discretos es el grupo Z p × . Este es el grupo de la multiplicación módulo el primo. Sus elementos son clases de congruencia no nulas móduloy el producto de grupo de dos elementos se puede obtener mediante la multiplicación entera ordinaria de los elementos seguida de la reducción módulo .
ElLa enésima potencia de uno de los números de este grupo se puede calcular hallando su 'elevar a la enésima potencia como un número entero y luego encontrar el resto después de la división porCuando los números involucrados son grandes, es más eficiente reducir el módulo.varias veces durante el cálculo. Independientemente del algoritmo específico utilizado, esta operación se denomina exponenciación modular . Por ejemplo, considere Z 17 × . Para calcularen este grupo, calculary luego dividirpor, obteniendo un resto de. De este modoen el grupo Z 17 × .
El logaritmo discreto es simplemente la operación inversa. Por ejemplo, consideremos la ecuación. Del ejemplo anterior, una solución es, pero no es la única solución. Dado que—como se deduce del pequeño teorema de Fermat— también se deduce que sies un número entero entoncesPor lo tanto, la ecuación tiene infinitas soluciones de la formaAdemás, porquees el entero positivo más pequeñosatisfactorioEstas son las únicas soluciones. De forma equivalente, el conjunto de todas las soluciones posibles puede expresarse mediante la restricción de que.
Poderes de la identidad
En el caso especial dondees el elemento identidaddel grupo, el logaritmo discretono está definido paraotro quey cada enteroes un logaritmo discreto para.
Curva elíptica
Sea C una curva elíptica en forma normal de Weierstrass en el plano proyectivo sobre un cuerpo F. Sea O el punto en el infinito en C. Para cualesquiera puntos P y Q de C , sea P # Q el único tercer punto de C donde la recta que pasa por P y Q interseca a C. (Si P = Q , entonces la recta en cuestión es la tangente a C en P. Si P = Q = O , entonces P # Q = O ). Definimos una operación de " adición " en C mediante Esta operación de adición convierte a C en un grupo conmutativo con elemento identidad O. Para cualquier punto P de C , sea denotemos la suma de k copias de P. En este contexto, el problema del logaritmo discreto es: Dados los puntos P y Q , encontrar k tal que. Cuando el campo subyacente F es un campo finito , este problema tiene aplicaciones criptográficas. [ 4 ]
Propiedades
Las potencias obedecen la identidad algebraica usual.. [ 3 ] En otras palabras, la función
definido pores un homomorfismo de grupo del grupo de los enterosbajo adición al subgrupodegenerado porPara todos.en,existe. Por el contrario ,no existe paraque no están en.
Sies infinito , entoncesTambién es único, y el logaritmo discreto equivale a un isomorfismo de grupo.
Por otro lado, sies finito de orden, entonceses 0 único solo hasta congruencia móduloy el logaritmo discreto equivale a un isomorfismo de grupo.
dóndedenota el grupo aditivo de enteros módulo.
La fórmula familiar de cambio de base para logaritmos ordinarios sigue siendo válida: Sies otro generador de, entonces
Algoritmos
El problema del logaritmo discreto se considera computacionalmente intratable. Para una computadora clásica (por ejemplo, no cuántica ), aún no se conoce ningún algoritmo eficiente (de tiempo polinomial ) para calcular logaritmos discretos en general.
Un algoritmo general para calcularen grupos finitoses para elevara poderes cada vez mayoreshasta que se deseeSe encuentra. Este algoritmo a veces se denomina multiplicación por ensayo . Requiere un tiempo de ejecución lineal en el tamaño del grupo.y por lo tanto exponencial en el número de dígitos en el tamaño del grupo. Por consiguiente, es un algoritmo de tiempo exponencial, práctico solo para grupos pequeños..
Existen algoritmos más sofisticados, generalmente inspirados en algoritmos similares para la factorización de enteros . Estos algoritmos son más rápidos que el algoritmo ingenuo; algunos son proporcionales a la raíz cuadrada del tamaño del grupo y, por lo tanto, exponenciales en función de la mitad del número de dígitos del grupo. Sin embargo, ninguno de ellos se ejecuta en tiempo polinomial (en función del número de dígitos del grupo).
- Paso de bebé, paso de gigante
- tamiz de campo funcional
- Algoritmo de cálculo de índices
- tamiz de campo numérico
- Algoritmo de Pohlig-Hellman
- Algoritmo rho de Pollard para logaritmos
- El algoritmo del canguro de Pollard (también conocido como algoritmo lambda de Pollard)
Existe un algoritmo cuántico eficiente debido a Peter Shor . [ 5 ]
También existen algoritmos clásicos eficientes en ciertos casos especiales. Por ejemplo, en el grupo de los enteros móduloAdemás, el poderse convierte en un productoy la igualdad significa congruencia móduloen los enteros. El algoritmo euclidiano extendido encuentrarápidamente.
Con Diffie-Hellman , un grupo cíclico módulo un primose utiliza, permitiendo un cálculo eficiente del logaritmo discreto con Pohlig-Hellman si el orden del grupo (siendo) es suficientemente suave , es decir, no tiene factores primos grandes .
Comparación con la factorización de enteros
Si bien el cálculo de logaritmos discretos y la factorización de enteros son problemas distintos, comparten algunas propiedades:
- ambos son casos especiales del problema del subgrupo oculto para grupos abelianos finitos ,
- Ambos problemas parecen ser difíciles (no se conocen algoritmos eficientes para computadoras no cuánticas ),
- Para ambos problemas se conocen algoritmos eficientes en computadoras cuánticas,
- Los algoritmos de un problema a menudo se adaptan al otro, y
- La dificultad de ambos problemas se ha utilizado para construir diversos sistemas criptográficos .
Criptografía
Existen grupos para los que calcular logaritmos discretos es aparentemente difícil. En algunos casos (por ejemplo, subgrupos de orden primo grande de grupos) no solo no se conoce ningún algoritmo eficiente para el peor caso, sino que se puede demostrar que la complejidad del caso promedio es casi tan difícil como la del peor caso utilizando la autorreducción aleatoria . [ 6 ]
Al mismo tiempo, el problema inverso de la exponenciación discreta no es difícil (puede calcularse eficientemente mediante la exponenciación por elevación al cuadrado , por ejemplo). Esta asimetría es análoga a la que existe entre la factorización de enteros y la multiplicación de enteros. Ambas asimetrías (y otras funciones posiblemente unidireccionales ) se han aprovechado en la construcción de sistemas criptográficos.
Opciones populares para el grupoEn criptografía de logaritmo discreto (DLC) son los grupos cíclicos(por ejemplo, el cifrado ElGamal , el intercambio de claves Diffie-Hellman y el algoritmo de firma digital ) y subgrupos cíclicos de curvas elípticas sobre campos finitos ( véase Criptografía de curvas elípticas ).
Si bien no existe un algoritmo conocido públicamente para resolver el problema del logaritmo discreto en general, los tres primeros pasos del algoritmo de criba de cuerpos numéricos solo dependen del grupo., no en los elementos específicos decuyo finitoes deseable. Al precalcular estos tres pasos para un grupo específico, solo es necesario realizar el último paso, que es mucho menos costoso computacionalmente que los tres primeros, para obtener un logaritmo específico en ese grupo. [ 7 ]
Resulta que gran parte del tráfico de internet utiliza uno de los pocos grupos que tienen un orden de 1024 bits o menos, por ejemplo, grupos cíclicos con el orden de los primos de Oakley especificados en RFC 2409. [ 8 ] El ataque Logjam utilizó esta vulnerabilidad para comprometer una variedad de servicios de internet que permitían el uso de grupos cuyo orden era un número primo de 512 bits, los llamados de grado de exportación . [ 7 ]
Los autores del ataque Logjam estiman que el preprocesamiento, mucho más complejo, necesario para resolver el problema del logaritmo discreto para un número primo de 1024 bits estaría dentro del presupuesto de una gran agencia de inteligencia nacional como la Agencia de Seguridad Nacional (NSA) de Estados Unidos. Los autores de Logjam especulan que el preprocesamiento contra números primos DH de 1024 bits, ampliamente reutilizados, está detrás de las afirmaciones en documentos filtrados de la NSA que indican que esta agencia es capaz de romper gran parte de la criptografía actual. [ 7 ]
Véase también
Referencias
- ↑ Menezes, Alfred J.; van Oorschot, Paul C.; Vanstone, Scott A. (1996). "Cifrado de clave pública" (PDF) . Manual de criptografía aplicada (1.ª ed.). CRC Press. pág. 294. doi : 10.1201/9780429466335 . ISBN 978-0-429-46633-5.
- ↑ Shoup...
- 1 2 Lam, Kwok-Yan; Shparlinski, Igor; Wang, Huaxiong; Xing, Chaoping, eds. (2001). Criptografía y teoría computacional de números . Basilea: Birkhäuser Basel. pp. 54–56 . doi : 10.1007/978-3-0348-8295-8 . eISSN 2297-0584 . ISBN 978-3-0348-9507-1ISSN 2297-0576
- ↑ Neil Koblitz (1994). Un curso de teoría de números y criptografía (segunda edición). Springer. págs. 180-185.
- ↑ Shor, Peter (1997). "Algoritmos de tiempo polinomial para factorización prima y logaritmos discretos en una computadora cuántica". SIAM Journal on Computing . 26 (5): 1484– 1509. arXiv : quant-ph/9508027 . doi : 10.1137/s0097539795293172 . MR 1471990. S2CID 2337707 .
- ↑ Blake, Ian F.; Garefalakis, Theo (1 de abril de 2004). "Sobre la complejidad del logaritmo discreto y los problemas de Diffie-Hellman" . Journal of Complexity . Festschrift para Harald Niederreiter, Número especial sobre codificación y criptografía. 20 (2): 148– 170. doi : 10.1016/j.jco.2004.01.002 . ISSN 0885-064X .
- 1 2 3 Adrian, David; Bhargavan, Karthikeyan; Durumeric, Zakir; Gaudry, Pierrick; Green, Matthew; Halderman, J. Alex; Heninger, Nadia ; Springall, Drew; Thomé, Emmanuel; Valenta, Luke; VanderSloot, Benjamin; Wustrow, Eric; Zanella-Béguelin, Santiago; Zimmermann, Paul (12 de octubre de 2015). "Imperfect Forward Secrecy: How Diffie-Hellman Fails in Practice" . Actas de la 22.ª Conferencia ACM SIGSAC sobre Seguridad Informática y de las Comunicaciones . ACM. págs. 5–17 . doi : 10.1145/2810103.2813707 . ISBN 978-1-4503-3832-5.
- ↑ Harkins, D.; Carrel, D. (noviembre de 1998). El Intercambio de Claves de Internet (IKE) (Informe). Editor de RFC. doi : 10.17487/rfc2409 .
- Rosen, Kenneth H. (2011). Teoría elemental de números y su aplicación (6.ª ed.). Pearson. pág. 368. ISBN 978-0321500311.
- Weisstein, Eric W. "Logaritmo discreto" . MathWorld . Wolfram Web . Consultado el 1 de enero de 2019 .
Lecturas adicionales
- Richard Crandall ; Carl Pomerance . Capítulo 5, Números primos: una perspectiva computacional , 2.ª ed., Springer.
- Stinson, Douglas Robert (2006). Criptografía: Teoría y práctica (3.ª ed.). Londres, Reino Unido: CRC Press . ISBN 978-1-58488-508-5.
- aritmética modular
- teoría de grupos
- Criptografía
- Logaritmos
- Campos finitos
- Suposiciones de dificultad computacional
- Problemas sin resolver en informática