Articulo de referencia

Logaritmo discreto

En matemáticas , para números reales dados a {\displaystyle a} y b {\displaystyle b} , el logaritmo registro b ⁡ ( a ) {\displaystyle \log _{b}(a)} es un número incógnita {\disp...

En matemáticas , para números reales dadosa{\displaystyle a}yb{\displaystyle b}, el logaritmoregistrob(a){\displaystyle \log _{b}(a)}es un númeroincógnita{\displaystyle x}de tal manera quebincógnita=a{\displaystyle b^{x}=a}El logaritmo discreto es un concepto análogo en la teoría de grupos . En cualquier grupoGRAMO{\displaystyle G}, poderesbk{\displaystyle b^{k}}puede definirse para todos los números enterosk{\displaystyle k}y el logaritmo discretoregistrob(a){\displaystyle \log _{b}(a)}es un número enterok{\displaystyle k}de tal manera quebk=a{\displaystyle b^{k}=a}En el caso especial de la aritmética módulo un enterometro{\displaystyle m}, el término más comúnmente utilizado es índice : uno puede escribirk=inortedba(modmetro){\displaystyle k=\mathrm {ind} _{b}a\!\!\!\!{\pmod {m}}}cuandobka(modmetro){\displaystyle b^{k}\equiv a\!\!\!\!{\pmod {m}}}.

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

DejarGRAMO{\displaystyle G}Sea cualquier grupo. Denotemos su operación de grupo por la multiplicación y su elemento neutro por1{\displaystyle 1}. Dejarb{\displaystyle b}ser cualquier elemento deGRAMO{\displaystyle G}Para cualquier entero positivok{\displaystyle k}, la expresiónbk{\displaystyle b^{k}}denota el producto deb{\displaystyle b}consigo mismok{\displaystyle k}veces: [ 3 ]

bk=bbbkfactores.{\displaystyle b^{k}=\underbrace {b\cdot b\cdot \ldots \cdot b} _{k\;{\text{factores}}}.}

De manera similar, dejemosbk{\displaystyle b^{-k}}denotan el producto deb1{\displaystyle b^{-1}}consigo mismok{\displaystyle k}veces. Parak=0{\displaystyle k=0}, elk{\displaystyle k}El poder es la identidad:b0=1{\displaystyle b^{0}=1}.

Dejara{\displaystyle a}también ser un elemento deGRAMO{\displaystyle G}Un número enterok{\displaystyle k}que resuelve la ecuaciónbk=a{\displaystyle b^{k}=a}se denomina logaritmo discreto (o simplemente logaritmo , en este contexto) dea{\displaystyle a}a la baseb{\displaystyle b}Uno escribek=registroba{\displaystyle k=\log _{b}a}.

Ejemplos

Potencias de 10

Las potencias de 10 son

,0,001,0,01,0.1,1,10,100,1000,.{\displaystyle \ldots ,0.001,0.01,0.1,1,10,100,1000,\ldots .}

Para cualquier númeroa{\displaystyle a}En esta lista se puede calcularregistro10a{\displaystyle \log _{10}a}. Por ejemplo,registro1010000=4{\displaystyle\log_{10}{10000}=4}, yregistro100,001=3{\displaystyle\log_{10}{0.001}=-3}Estos 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ónregistro1053=1.724276{\displaystyle \log _{10}{53}=1.724276\ldots }significa que101.724276=53{\displaystyle 10^{1.724276\ldots }=53}. 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.GRAMO{\displaystyle G}bajo la multiplicación, y 10 es un generador para este grupo. El logaritmo discretoregistro10a{\displaystyle \log _{10}a}se define para cualquiera{\displaystyle a}enGRAMO{\displaystyle G}.

Potencias de un número real fijo

Un ejemplo similar se aplica a cualquier número real distinto de cero.b{\displaystyle b}Las potencias forman un subgrupo multiplicativo.GRAMO={,b2,b1,1,b1,b2,}{\displaystyle G=\{\ldots ,b^{-2},b^{-1},1,b^{1},b^{2},\ldots \}}de los números reales distintos de cero. Para cualquier elementoa{\displaystyle a}deGRAMO{\displaystyle G}, uno puede calcularregistroba{\displaystyle \log _{b}a}.

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 primopag{\displaystyle p}. Sus elementos son clases de congruencia no nulas módulopag{\displaystyle p}y 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 pag{\displaystyle p}.

Elk{\displaystyle k}La enésima potencia de uno de los números de este grupo se puede calcular hallando su 'k{\displaystyle k}elevar a la enésima potencia como un número entero y luego encontrar el resto después de la división porpag{\displaystyle p}Cuando los números involucrados son grandes, es más eficiente reducir el módulo.pag{\displaystyle p}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 calcular34{\displaystyle 3^{4}}en este grupo, calcular34=81{\displaystyle 3^{4}=81}y luego dividir81{\displaystyle 81}por17{\displaystyle 17}, obteniendo un resto de13{\displaystyle 13}. De este modo34=13{\displaystyle 3^{4}=13}en el grupo Z 17 × .

El logaritmo discreto es simplemente la operación inversa. Por ejemplo, consideremos la ecuación3k13(mod17){\displaystyle 3^{k}\equiv 13{\pmod {17}}}. Del ejemplo anterior, una solución esk=4{\displaystyle k=4}, pero no es la única solución. Dado que3161(mod17){\displaystyle 3^{16}\equiv 1{\pmod {17}}}—como se deduce del pequeño teorema de Fermat— también se deduce que sinorte{\displaystyle n}es un número entero entonces34+16norte34(316)norte341norte3413(mod17){\displaystyle 3^{4+16n}\equiv 3^{4}\cdot (3^{16})^{n}\equiv 3^{4}\cdot 1^{n}\equiv 3^{4}\equiv 13{\pmod {17}}}Por lo tanto, la ecuación tiene infinitas soluciones de la forma4+16norte{\displaystyle 4+16n}Además, porque16{\displaystyle 16}es el entero positivo más pequeñometro{\displaystyle m}satisfactorio3metro1(mod17){\displaystyle 3^{m}\equiv 1{\pmod {17}}}Estas son las únicas soluciones. De forma equivalente, el conjunto de todas las soluciones posibles puede expresarse mediante la restricción de quek4(mod16){\displaystyle k\equiv 4{\pmod {16}}}.

Poderes de la identidad

En el caso especial dondeb{\displaystyle b}es el elemento identidad1{\displaystyle 1}del grupoGRAMO{\displaystyle G}, el logaritmo discretoregistroba{\displaystyle \log _{b}a}no está definido paraa{\displaystyle a}otro que1{\displaystyle 1}y cada enterok{\displaystyle k}es un logaritmo discreto paraa=1{\displaystyle a=1}.

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 PAG+Q=(PAG#Q)#O.{\displaystyle P+Q=(P\;\#\;Q)\;\#\;O.} Esta operación de adición convierte a C en un grupo conmutativo con elemento identidad O. Para cualquier punto P de C , sea kPAG=PAG+PAG++PAG{\displaystyle kP=P+P+\cdots +P} 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 queQ=kPAG{\displaystyle Q=kP}. Cuando el campo subyacente F es un campo finito , este problema tiene aplicaciones criptográficas. [ 4 ]

Propiedades

Las potencias obedecen la identidad algebraica usual.bk+l=bkbl{\displaystyle b^{k+l}=b^{k}\cdot b^{l}}. [ 3 ] En otras palabras, la función

F:ZGRAMO{\displaystyle f\colon \mathbf {Z} \to G}

definido porF(k)=bk{\displaystyle f(k)=b^{k}}es un homomorfismo de grupo del grupo de los enterosZ{\displaystyle \mathbf {Z} }bajo adición al subgrupoH{\displaystyle H}deGRAMO{\displaystyle G}generado porb{\displaystyle b}Para todos.a{\displaystyle a}enH{\displaystyle H},registroba{\displaystyle \log _{b}a}existe. Por el contrario ,registroba{\displaystyle \log _{b}a}no existe paraa{\displaystyle a}que no están enH{\displaystyle H}.

SiH{\displaystyle H}es infinito , entoncesregistroba{\displaystyle \log _{b}a}También es único, y el logaritmo discreto equivale a un isomorfismo de grupo.

registrob:HZ.{\displaystyle \log _{b}\colon H\to \mathbf {Z} .}

Por otro lado, siH{\displaystyle H}es finito de ordennorte{\displaystyle n}, entoncesregistroba{\displaystyle \log _{b}a}es 0 único solo hasta congruencia módulonorte{\displaystyle n}y el logaritmo discreto equivale a un isomorfismo de grupo.

registrob:HZnorte,{\displaystyle \log _{b}\colon H\to \mathbf {Z} _{n},}

dóndeZnorte{\displaystyle \mathbf {Z} _ {n}}denota el grupo aditivo de enteros módulonorte{\displaystyle n}.

La fórmula familiar de cambio de base para logaritmos ordinarios sigue siendo válida: Sido{\displaystyle c}es otro generador deH{\displaystyle H}, entonces

registrodoa=registrodobregistroba.{\displaystyle \log _{c}a=\log _{c}b\cdot \log _{b}a.}

Algoritmos

Problema sin resolver en informática
¿Es posible calcular el logaritmo discreto en tiempo polinomial en una computadora clásica?

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 calcularregistroba{\displaystyle \log _{b}a}en grupos finitosGRAMO{\displaystyle G}es para elevarb{\displaystyle b}a poderes cada vez mayoresk{\displaystyle k}hasta que se deseea{\displaystyle a}Se encuentra. Este algoritmo a veces se denomina multiplicación por ensayo . Requiere un tiempo de ejecución lineal en el tamaño del grupo.GRAMO{\displaystyle G}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.GRAMO{\displaystyle G}.

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).

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ódulopag{\displaystyle p}Además, el poderbk{\displaystyle b^{k}}se convierte en un productobk{\displaystyle b\cdot k}y la igualdad significa congruencia módulopag{\displaystyle p}en los enteros. El algoritmo euclidiano extendido encuentrak{\displaystyle k}rápidamente.

Con Diffie-Hellman , un grupo cíclico módulo un primopag{\displaystyle p}se utiliza, permitiendo un cálculo eficiente del logaritmo discreto con Pohlig-Hellman si el orden del grupo (siendopag1{\displaystyle p-1}) 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:

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 gruposZpag×{\displaystyle \mathbf {Z} _{p}^{\times }}) 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 grupoGRAMO{\displaystyle G}En criptografía de logaritmo discreto (DLC) son los grupos cíclicosZpag×{\displaystyle \mathbf {Z} _{p}^{\times }}(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.GRAMO{\displaystyle G}, no en los elementos específicos deGRAMO{\displaystyle G}cuyo finitoregistro{\displaystyle \log }es 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

  1. 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.
  2. Shoup...
  3. 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 
  4. Neil Koblitz (1994). Un curso de teoría de números y criptografía (segunda edición). Springer. págs. 180-185.  
  5. 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 .  
  6. 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 . 
  7. 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.
  8. 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.