Anshel Anshel Goldfeld

El protocolo de Anshel-Anshel-Goldfeld, también conocido como AAG[1]​ propuesto por Iris Anshel, Michael Anshel y Dorian Goldfeld, es un protocolo de establecimiento de claves, en el cual la llave va compartida entre dos partes, por medio de un canal público. A diferencia de otros protocolos basados en grupos, este protocolo no emplea ninguna propiedad de los grupos abelianos, ya que su dificultad radica en resolver ecuaciones sobre estructuras algebraicas para estos grupos particulares, al aplicarlo se consigue ampliar el número de permutaciones posibles para conjugar la clave y el costo computacional del cálculo de la llave se reduce.[2]

Este protocolo requiere que cada parte realice un cálculo algebraico (varias multiplicaciones seguidas de la reescritura de un monoide), luego los resultados de los cálculos, las llaves se intercambian entre las partes a través de un canal público y cada parte obtiene una clave secreta compartida, después de realizar un segundo cálculo; el segundo cálculo implica un algoritmo para resolver el problema de la palabra en el monoide.


Versión general del protocolo

editar

El protocolo consiste en una tupla de la forma   donde   y   son monoides fácilmente computables, y:

 ,

  para  .

Donde   y   funciones computables que satisfacen las siguientes propiedades:

  1. Para todo elemento  , se tiene que:  
  2. Para todo elemento  ,   se tiene que:  
  3. Supongamos que:   y   son públicamente conocidos por algún elemento secreto  . Entonces, en general, es inviable determinar el elemento secreto  .

A los usuarios   y   se le asignan submonoides tales que  ,  . Supongamos que   es generado por los elementos:

 

y   es generado por los elementos:

  donde  .

El protocolo inicia cuando el usuario   elige un elemento   en   y transmitiendo elementos de la forma:

 .

Y el usuario   elige un elemento   en   transmitiendo elementos de la forma:

 .

  puede calcular   eligiendo   ya que   por la propiedad (i). De modo que   . De la misma manera   puede calcular   eligiendo  .

Luego la llave   estaría dada por:

  Dado por la propiedad iii).


Ejemplo detallado

editar

Supongamos los monoides   grupos, denotados como   , y los usuarios   y   son subgrupos asignados públicamente como   y   donde:

 

Se elige la función   como:

 

y las funciones   ,   como:

 

Los usuarios   y   eligen los elementos secretos   y   respectivamente, el usuario   comienza el protocolo calculando, reescribiendo y transmitiendo la colección. de elementos

 

De manera similar, el usuario   calcula, reescribe y transmite

 

Un adversario que observa estas transmisiones no puede determinar   ó   a menos que pueda resolver un conjunto de ecuaciones de conjugación simultáneas sobre el grupo base.

Recordando que el conjugado del producto de dos elementos es el producto de Los conjugados de esos elementos (es decir, la propiedad i) de   ), los usuarios   y   están ahora en posición de computar respectivamente los elementos:

 

Para obtener una clave común, el usuario A calcula

 

y el usuario por B calcula

 

Seguridad

editar

La dureza computacional de AAG depende de la estructura de los subgrupos elegidos por lo tanto la elección adecuada de estos subgrupos produce un esquema de intercambio de claves que es resistente a todos los ataques actualmente conocidos en AAG.[3]

Ataques

editar

Ataques basados en la longitud para ciertos grupos

editar

Es un ataque probabilístico en criptosistemas de clave pública basado que interviene directamente en el problema de la palabra ya que esta tiene un tiempo polinomial solución, mientras que el problema de la conjugación no tiene solución polinomial conocida.

El método se basa en tener una forma canónica de longitud mínima para palabras en un grupo dado finamente presentado , el ataque consiste en tener un representante canónico de cada cadena en relación con la cual se puede calcular una función de longitud. De ahí el término longitud del ataque. Se sabe que tales representantes canónicos existen para el grupo de trenzas. Un ejemplo clave es el grupo de trenzas propuesto por Anshel, Anshel y Goldfel. Se indicará un posible ataque probabilístico en tal sistema, utilizando la función de longitud en el conjunto de conjugados que definen la clave pública.

Se tiene en cuenta que, ya que cada palabra tiene un canónico representativo, la función de longitud está bien definida y para el grupo de trenzas se puede calcular en tiempo polinomial en la longitud de la palabra según los resultados.[4]​ La conclusión es que el ataque de longitud obliga a tomar generadores de longitud canónica no demasiados largos. Dorian Goldfeld informó que la evidencia experimental sugiere que si cada uno de los generadores S1, ... , Sn es de < 10 en los generadores de Artin, entonces esto puede frustrar el ataque. Este ataque fue probado bajo ciertas condiciones que confirmaron su veracidad con claves débiles[5]

Finalmente, es importante tener en cuenta que este ataque no resuelve el problema general de conjugación para el grupo de trenzas. De hecho, en este caso los factores son conocidos y limitados. En el problema general de la conjugación, el número de posibles factores es infinito. En consecuencia, el problema de la conjugación parece ser mucho más difícil y no es susceptible a esta técnica. El intercambio de claves del tipo propuesto en por Anshel,Anshel y Goldfeld[6]​ requiere que se conozcan los factores y la comunicación, y proporcionar al atacante mucha más información de la que se conoce en el problema general de la conjugación.

Subgrupo de ataque

editar

Se transforma el par de tuplas conjugadas   a otro par de tuplas conjugadas   tal que para todo :

 


tenemos que :


 


Y considerando que los elementos son más cortos:

 


Para el experimento se generaron 100 pares aleatorios de tuplas   donde  


Para cada par se utilizó una secuencia de transformaciones para obtener pares de tuplas como las anteriores   de modo que   obtiene los siguientes resultados[7]


  • En el 99 % de los casos se compone de palabras cortas y positivas
  • En el 100 % el conjunto que se encuentra en la cima es pequeño  
  • En el 100 % el centralizador puntual   coincide con el centro de  

Los resultados obtenidos en el experimento dieron como resultado pares equivalentes de tuplas que:


  •  


  •  


  •  


  •  


  •  


  •  

Referencias

editar
  1. Fernández Martínez, Isabel (2014). Introducción a la teoría combinatoria de grupos. p. 85. Consultado el 5 de junio de 2019. 
  2. Hughes, James; R. Tannenbaum, Allen (2003). «Length-Based Attacks for Certain Group Based Encryption Rewriting Systems». IACR Cryptology ePrint Archive. 
  3. D.Myasnikov, Alex; Ushakov, Alexander (2009). «Cryptanalysis of the Anshel-Anshel-Goldfeld-Lemieux Key Agreement Protocol». Groups Complexity Cryptology. 1 issn=1869-6104. 
  4. Birman, Joan; Ko, Ki Hyoung; Lee, Sang Jin Hyoung (1998). «A new approach to the word and conjugacy problems in the braid groups.». Advances in Math ePrint Archive. 
  5. D.Myasnikov, Alex; Ushakov, Alexander. «Length Based Attack and Braid Groups». Public Key Cryptography – PKC 2007. PKC 2007. 
  6. Anshel, Iris; Anshel, Michael; Goldfeld, Dorian (1999). «AN ALGEBRAIC METHOD FOR PUBLIC-KEY CRYPTOGRAPHY». Mathematical Research Letters, LNCS 1880. ISBN 978-3-540-44598-2. Archivado desde el original el 14 de junio de 2010. Consultado el 17 de julio de 2019. 
  7. Shpilrain, Vladimir; Myasnikov, Alexei; Ushakov, Alexander. «Random subgroups of braid groups: cryptanalysis of a braid group based cryptographic protocoll». Public Key Cryptography – PKC 2006. PKC 2006. 

Bibliografía

editar