stringtranslate.com

Paso de bebé, paso de gigante

En la teoría de grupos , una rama de las matemáticas, el algoritmo baby-step giant-step es un algoritmo de encuentro en el medio para calcular el logaritmo discreto o el orden de un elemento en un grupo abeliano finito de Daniel Shanks . [1] El problema del logaritmo discreto es de importancia fundamental para el área de la criptografía de clave pública .

Muchos de los sistemas criptográficos más utilizados se basan en el supuesto de que el registro discreto es extremadamente difícil de calcular; cuanto más difícil sea, más seguridad proporciona a la transferencia de datos. Una forma de aumentar la dificultad del problema del registro discreto es basar el criptosistema en un grupo más grande.

Teoría

El algoritmo se basa en un equilibrio espacio-tiempo . Es una modificación bastante simple de la multiplicación por tanteo, el método ingenuo para hallar logaritmos discretos.

Dado un grupo cíclico de orden , un generador del grupo y un elemento del grupo , el problema es encontrar un entero tal que

El algoritmo de paso a paso se basa en reescribir :

Por lo tanto, tenemos:

El algoritmo realiza un cálculo previo para varios valores de . Luego, fija un valor y prueba valores de en el lado derecho de la congruencia anterior, a la manera de una multiplicación de prueba. Prueba si la congruencia se cumple para cualquier valor de , utilizando los valores precalculados de .

El algoritmo

Entrada : Un grupo cíclico G de orden n , que tiene un generador α y un elemento β .

Salida : Un valor x que satisface .

  1. m ← Techo( n )
  2. Para todo j donde 0 ≤ j < m :
    1. Calcular α j y almacenar el par ( j , α j ) en una tabla. (Ver § En la práctica)
  3. Calcular α m .
  4. γβ . (establecer γ = β )
  5. Para todo i donde 0 ≤ i < m :
    1. Verifique si γ es el segundo componente ( α j ) de cualquier par en la tabla.
    2. Si es así, devuelve im + j .
    3. Si no, γγα m .

En la práctica

La mejor manera de acelerar el algoritmo de pasos pequeños y pasos grandes es usar un esquema de búsqueda de tablas eficiente. Lo mejor en este caso es una tabla hash . El hash se realiza en el segundo componente y, para realizar la comprobación en el paso 1 del bucle principal, se aplica el hash a γ y se comprueba la dirección de memoria resultante. Dado que las tablas hash pueden recuperar y agregar elementos en el tiempo (tiempo constante), esto no ralentiza el algoritmo de pasos pequeños y pasos grandes en general.

La complejidad espacial del algoritmo es , mientras que la complejidad temporal del algoritmo es . Este tiempo de ejecución es mejor que el tiempo de ejecución del cálculo ingenuo de fuerza bruta.

El algoritmo de paso a paso, paso a paso, podría ser utilizado por un espía para obtener la clave privada generada en el intercambio de claves Diffie Hellman , cuando el módulo es un número primo que no es demasiado grande. Si el módulo no es primo, el algoritmo Pohlig–Hellman tiene una complejidad algorítmica menor y potencialmente resuelve el mismo problema. [2]

Notas

Lectura adicional

Referencias

  1. ^ Daniel Shanks (1971), "Número de clase, una teoría de factorización y géneros", en Proc. Symp. Pure Math. , vol. 20, Providence, RI: American Mathematical Society, págs. 415–440
  2. ^ Maurer, Ueli M.; Wolf, Stefan (2000), "El protocolo Diffie-Hellman", Diseños, códigos y criptografía , 19 (2–3): 147–171, doi :10.1023/A:1008302122286, MR  1759615
  3. ^ VI Nechaev, Complejidad de un algoritmo determinado para el logaritmo discreto, Notas matemáticas, vol. 55, núm. 2 1994 (165-172)
  4. ^ Panagiotis Chatzigiannis, Konstantinos Chalkias y Valeria Nikolaenko (30 de junio de 2021). Descifrado homomórfico en cadenas de bloques mediante tablas de búsqueda de registros discretos comprimidos. Taller CBT 2021 (ESORICS) . Consultado el 7 de septiembre de 2021 .
  5. ^ Steven D. Galbraith, Ping Wang y Fangguo Zhang (10 de febrero de 2016). Cálculo de logaritmos discretos de curvas elípticas con un algoritmo mejorado de pasos pequeños y pasos gigantes. Avances en matemáticas de las comunicaciones . Consultado el 7 de septiembre de 2021 .

Enlaces externos