fbpx
Wikipedia

Algoritmo rho de Pollard (logaritmos discretos)

El algoritmo rho de Pollard para el logaritmo discreto es un algoritmo publicado por el matemático John Pollard en 1978[1]​ que permite resolver el problema del logaritmo discreto en cualquier grupo.

La idea para este algoritmo es similar a la que se utiliza en otro para la factorización de enteros, publicado por Pollard en 1975 (algoritmo rho de Pollard).

Existen algoritmos de orden subexponencial para el problema del logaritmo discreto en (por ejemplo, el algoritmo de cálculo de índices) y el algoritmo de Pollard no lo es, pese a lo cual es útil en la práctica debido a ser simple y efectivo para grupos pequeños. Además tiene la ventaja de no utilizar nada de la estructura de un grupo particular.[2]

El algoritmo

Sea   un grupo cíclico. El algoritmo tiene como entrada dos elementos   y como salida   tal que  . Se supone conocido el orden del grupo, al que notaremos n.

Se realiza una partición de G en tres subconjuntos disjuntos,  , de forma que el neutro del grupo no pertenezca a  , con   aproximadamente del mismo tamaño. Se define la sucesión   en   inductivamente:

 

La sucesión está hecha de forma tal que para cada   se tiene  . El objetivo del algoritmo es encontrar   tales que  . En ese caso tendremos  , de donde   (mod n). Si   es coprimo con n, podemos de aquí deducir el valor de x.

Para encontrar   tales que   (que se denomina colisión) se utiliza el algoritmo detector de ciclos de Floyd (también conocido como el algoritmo de la liebre y la tortuga). Consiste en comparar xi con x2i.

Orden de ejecución

Este es un algoritmo que dependiendo de la "suerte" que tengamos puede demorar más o menos tiempo en ejecutarse.

Hay dos cosas que debemos contar a la hora de estudiar el tiempo de ejecución: el número de "evaluaciones" (cuántos xi calculamos) y el de "comparaciones" (cuántas veces vemos si xi=x2i). Siempre el número de evaluaciones es el triple que el de comparaciones. La memoria que utiliza el algoritmo es muy pequeña, ya que solo se deben guardar los valores de xi y x2i en cada paso.

Teske realizó investigaciones en las que prueba empíricamente que el número esperado de evaluaciones es aproximadamente   para el caso en que el grupo es  .[3]

Variantes del algoritmo

Richard Brent publicó un artículo en 1980 en el que realiza una variante en el método para hallar la "colisión",[4]​ que disminuye el número de evaluaciones que se realizan, aumentando el de comparaciones.[2]

Otra variante fue publicada por Edlyn Teske en 2000.[5]​ Este método reduce el número de iteraciones, con un aumento en el número de comparaciones así como en el uso de memoria.[3]

Referencias

  1. Pollard, John (1978). «Monte Carlo methods for index computation (mod p)». Mathematics of Computation 32 (143): 918-924. ISSN 0025-5718. doi:10.2307/2006496. Consultado el 31 de octubre de 2015. 
  2. S. Bai; R. Brent (2008). «On the Efficiency of Pollard’s Rho Method for Discrete Logarithms». Conferences in Research and Practice in Information Technology 77: 125-131. Consultado el 1 de noviembre de 2015. 
  3. Santamaría Fernández, Jennifer (2013). El logaritmo discreto y sus aplicaciones en criptografía (Grado). Universidad de Cantabria. Consultado el 1 de noviembre de 2015. 
  4. Brent, Richard (1980). «An improved Monte Carlo factorization algorithm». BIT 20: 176-184. Consultado el 1 de noviembre de 2015. 
  5. Teske, Edlyn (2001). «On random walks for Pollard's rho method». Mathematics of computation 70: 809-825. ISSN 1088-6842. Consultado el 1 de noviembre de 2015. 
  •   Datos: Q4053693

algoritmo, pollard, logaritmos, discretos, algoritmo, pollard, para, logaritmo, discreto, algoritmo, publicado, matemático, john, pollard, 1978, permite, resolver, problema, logaritmo, discreto, cualquier, grupo, idea, para, este, algoritmo, similar, utiliza, . El algoritmo rho de Pollard para el logaritmo discreto es un algoritmo publicado por el matematico John Pollard en 1978 1 que permite resolver el problema del logaritmo discreto en cualquier grupo La idea para este algoritmo es similar a la que se utiliza en otro para la factorizacion de enteros publicado por Pollard en 1975 algoritmo rho de Pollard Existen algoritmos de orden subexponencial para el problema del logaritmo discreto en Z p displaystyle mathbb Z p por ejemplo el algoritmo de calculo de indices y el algoritmo de Pollard no lo es pese a lo cual es util en la practica debido a ser simple y efectivo para grupos pequenos Ademas tiene la ventaja de no utilizar nada de la estructura de un grupo particular 2 Indice 1 El algoritmo 2 Orden de ejecucion 3 Variantes del algoritmo 4 ReferenciasEl algoritmo EditarSea G displaystyle G un grupo ciclico El algoritmo tiene como entrada dos elementos g h G displaystyle g h in G y como salida x N displaystyle x in mathbb N tal que g x h displaystyle g x h Se supone conocido el orden del grupo al que notaremos n Se realiza una particion de G en tres subconjuntos disjuntos G S 1 S 2 S 3 displaystyle G S 1 cup S 2 cup S 3 de forma que el neutro del grupo no pertenezca a S 2 displaystyle S 2 con S 1 S 2 S 3 displaystyle S 1 S 2 S 3 aproximadamente del mismo tamano Se define la sucesion x k a k b k displaystyle x k a k b k en G Z n Z n displaystyle G times mathbb Z n times mathbb Z n inductivamente x 0 a 0 b 0 e G 0 0 x k 1 a k 1 b k 1 h x k a k b k 1 si x k S 1 x k 2 2 a k 2 b k si x k S 2 g x k a k 1 b k si x k S 3 displaystyle x 0 a 0 b 0 e G 0 0 x k 1 a k 1 b k 1 left begin array ll hx k a k b k 1 amp mbox si x k in S 1 x k 2 2a k 2b k amp mbox si x k in S 2 gx k a k 1 b k amp mbox si x k in S 3 end array right La sucesion esta hecha de forma tal que para cada k N displaystyle k in mathbb N se tiene x k g a k h b k displaystyle x k g a k h b k El objetivo del algoritmo es encontrar l t displaystyle l neq t tales que x l x t displaystyle x l x t En ese caso tendremos g a l h b l g a t h b t displaystyle g a l h b l g a t h b t de donde a l a t x b t b l displaystyle a l a t x b t b l mod n Si b t b l displaystyle b t b l es coprimo con n podemos de aqui deducir el valor de x Para encontrar l t displaystyle l neq t tales que x l x t displaystyle x l x t que se denomina colision se utiliza el algoritmo detector de ciclos de Floyd tambien conocido como el algoritmo de la liebre y la tortuga Consiste en comparar xi con x2i Orden de ejecucion EditarEste es un algoritmo que dependiendo de la suerte que tengamos puede demorar mas o menos tiempo en ejecutarse Hay dos cosas que debemos contar a la hora de estudiar el tiempo de ejecucion el numero de evaluaciones cuantos xi calculamos y el de comparaciones cuantas veces vemos si xi x2i Siempre el numero de evaluaciones es el triple que el de comparaciones La memoria que utiliza el algoritmo es muy pequena ya que solo se deben guardar los valores de xi y x2i en cada paso Teske realizo investigaciones en las que prueba empiricamente que el numero esperado de evaluaciones es aproximadamente 1 37 n displaystyle 1 37 sqrt n para el caso en que el grupo es Z n displaystyle mathbb Z n 3 Variantes del algoritmo EditarRichard Brent publico un articulo en 1980 en el que realiza una variante en el metodo para hallar la colision 4 que disminuye el numero de evaluaciones que se realizan aumentando el de comparaciones 2 Otra variante fue publicada por Edlyn Teske en 2000 5 Este metodo reduce el numero de iteraciones con un aumento en el numero de comparaciones asi como en el uso de memoria 3 Referencias Editar Pollard John 1978 Monte Carlo methods for index computation mod p Mathematics of Computation 32 143 918 924 ISSN 0025 5718 doi 10 2307 2006496 Consultado el 31 de octubre de 2015 a b S Bai R Brent 2008 On the Efficiency of Pollard s Rho Method for Discrete Logarithms Conferences in Research and Practice in Information Technology 77 125 131 Consultado el 1 de noviembre de 2015 a b Santamaria Fernandez Jennifer 2013 El logaritmo discreto y sus aplicaciones en criptografia Grado Universidad de Cantabria Consultado el 1 de noviembre de 2015 Brent Richard 1980 An improved Monte Carlo factorization algorithm BIT 20 176 184 Consultado el 1 de noviembre de 2015 Teske Edlyn 2001 On random walks for Pollard s rho method Mathematics of computation 70 809 825 ISSN 1088 6842 Consultado el 1 de noviembre de 2015 Datos Q4053693 Obtenido de https es wikipedia org w index php title Algoritmo rho de Pollard logaritmos discretos amp oldid 118092177, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos