Articulo de referencia

Algoritmo de factorización de grupos algebraicos

Los algoritmos de factorización de grupos algebraicos son algoritmos para factorizar un entero N trabajando en un grupo algebraico definido módulo N cuya estructura de grupo es ...

Los algoritmos de factorización de grupos algebraicos son algoritmos para factorizar un entero N trabajando en un grupo algebraico definido módulo N cuya estructura de grupo es la suma directa de los "grupos reducidos" obtenidos al realizar las ecuaciones que definen la aritmética del grupo módulo los factores primos desconocidos p 1 , p 2 , ... Según el teorema chino del resto , la aritmética módulo N corresponde a la aritmética en todos los grupos reducidos simultáneamente.

El objetivo es encontrar un elemento que no sea la identidad del grupo módulo N , sino la identidad módulo uno de los factores; por lo tanto, se requiere un método para reconocer dichas identidades unilaterales . En general, se encuentran realizando operaciones que reorganizan los elementos y dejan las identidades en los grupos reducidos sin cambios. Una vez que el algoritmo encuentra una identidad unilateral, todos los términos futuros también serán identidades unilaterales, por lo que basta con realizar comprobaciones periódicas.

Algoritmo

El cálculo se realiza seleccionando un elemento arbitrario x del grupo módulo N y calculando un múltiplo Ax grande y suave del mismo; si el orden de al menos uno, pero no de todos, los grupos reducidos es divisor de A, se obtiene una factorización. No es necesario que sea una factorización prima, ya que el elemento puede ser la identidad en más de uno de los grupos reducidos.

Generalmente, A se toma como el producto de todas las potencias de números primos menores que un límite B 1 , y Ax se calcula mediante la multiplicación sucesiva de x por estos primos; después de cada multiplicación, o cada pocas multiplicaciones, se comprueba si existe una identidad unilateral. (Una versión ingenua menos eficiente usaría el producto de todos los enteros menores que el límite B 1 ). [ 1 ]

El procedimiento de dos pasos

A menudo es posible multiplicar un elemento de grupo por varios enteros pequeños más rápidamente que por su producto, generalmente mediante métodos basados ​​en diferencias: se calculan las diferencias entre primos consecutivos y se suman consecutivamente por . Esto significa que un procedimiento de dos pasos se vuelve sensato, primero calculando Ax multiplicando x por todos los primos por debajo de un límite B 1 , y luego examinando p Ax para todos los primos entre B 1 y un límite mayor B 2 . Esto relajaría el requisito de suavidad para el orden del grupo de ser B 1 -potencia suave a ser el producto de un primo entre B 1 y B 2 y un número B 1 -potencia suave.dir{\displaystyle d_{i}r}

El método basado en diferencias es el método básico de "etapa 2". Existen modificaciones como el emparejamiento de primos de Montgomery (1978) y la extensión de Brent-Suyama. [ 2 ]

Un método de "etapa 2" más eficiente utiliza la multiplicación de polinomios implementada mediante la transformada rápida de Fourier . Este método fue demostrado originalmente para el ECM de Lenstra por Montgomery en 1992, [ 3 ] pero desde entonces se ha adaptado para p -1 y p +1. [ 2 ]

Métodos correspondientes a grupos algebraicos particulares

Métodos prácticos

Si el grupo algebraico es el grupo multiplicativo módulo N , las identidades unilaterales se reconocen calculando los máximos divisores comunes con N , y el resultado es el método p 1   .

Si el grupo algebraico es el grupo multiplicativo de una extensión cuadrática de N , el resultado es el método p  +  1 ; el cálculo implica pares de números módulo N. No es posible saber si es realmente una extensión cuadrática de sin conocer la factorización de N. Esto requiere saber si t es un residuo cuadrático módulo N , y no se conocen métodos para hacer esto sin conocer la factorización. Sin embargo, siempre que N no tenga un número muy grande de factores, en cuyo caso se debería usar primero otro método, elegir un t aleatorio (o mejor dicho, elegir A con t =4 ) dará accidentalmente con bastante rapidez un no residuo cuadrático. Si t es un residuo cuadrático, el método p + 1 degenera en una forma más lenta del método p 1.Z/norteZ[t]{\displaystyle \mathbb {Z} /N\mathbb {Z} [{\sqrt {t}}]}Z/norteZ{\displaystyle \mathbb {Z} /N\mathbb {Z} }    

Si el grupo algebraico es una curva elíptica , las identidades unilaterales se pueden reconocer por la falta de inversión en el procedimiento de adición de puntos de la curva elíptica, y el resultado es el método de la curva elíptica ; el teorema de Hasse establece que el número de puntos en una curva elíptica módulo p siempre está dentro de p .2pag{\displaystyle 2{\sqrt {p}}}

Los tres grupos algebraicos anteriores son utilizados por el paquete GMP-ECM, [ 4 ] que incluye implementaciones eficientes del procedimiento de dos etapas y una implementación del algoritmo de exponenciación de grupo PRAC que es bastante más eficiente que el enfoque de exponenciación binaria estándar .

Otros grupos

En ocasiones se propone el uso de otros grupos algebraicos —extensiones de orden superior de N o grupos correspondientes a curvas algebraicas de género superior—, pero casi siempre resulta impracticable. Por ejemplo, se puede utilizar la variedad jacobiana de una curva hiperelíptica , que posee una ley de grupo eficiente. Estos métodos terminan imponiendo restricciones de suavidad a números del orden de p d para algún d  >  1, que tienen muchas menos probabilidades de ser suaves que los números del orden de p .

Consideraciones prácticas

Complejidad

La primera etapa ingenua utiliza operaciones de bits, mientras que la primera etapa que solo utiliza potencias de números primos toma , donde N es el número a factorizar y denota el costo de multiplicar dos enteros de x bits (prácticamente utilizando métodos basados ​​en FFT). [ 1 ]O(B1registro(B1)METRO(registro(norte))){\displaystyle O(B_{1}\log(B_{1})M(\log(N)))}O(B1METRO(registro(norte))){\displaystyle O(B_{1}M(\log(N)))}METRO(incógnita){\displaystyle M(x)}METRO(registro(norte))=O(norteregistro(norte)registroregistro(norte)){\displaystyle M(\log(N))=O(N\log(N)\log \log(N))}

La segunda etapa estándar (basada en diferencias) utiliza operaciones de bits. [ 1 ] La segunda etapa basada en polinomios utiliza operaciones de bits (el término puede descartarse asumiendo , lo cual suele ser el caso). Variar el tamaño de la convolución ofrece una compensación entre memoria y espacio: por cada duplicación del uso de memoria, se puede duplicar la cantidad de avance en para la misma cantidad de cálculo. [ 2 ]O((B2B1)METRO(registro(norte))){\displaystyle O((B_{2}-B_{1})M(\log(N)))}O(B2B1registro(B2B1)METRO(registro(norte))){\displaystyle O({\sqrt {B_{2}-B_{1}}}\log(B_{2}-B_{1})M(\log(N)))}B1{\displaystyle B_{1}}B2>>B1{\displaystyle B_{2}>>B_{1}}B2{\displaystyle B_{2}}

Probabilidad de éxito

Véase Kruppa (2010), secciones 5.3 y 5.4. [ 5 ]

Véase también

Referencias

  1. 1 2 3 Galbraith, Steven (2012). "Prueba de primalidad y factorización de enteros mediante grupos algebraicos". Matemáticas de la criptografía de clave pública ( PDF) . Cambridge University Press. págs. 261–268 . Recuperado el 16 de agosto de 2025 . 
  2. 1 2 3 Montgomery, Peter L.; Kruppa, Alexander (2008). "Algoritmos de factorización mejorados de la etapa 2 a P ± 1" (PDF) . Algorithmic Number Theory . 5011 : 180–195 . doi : 10.1007/978-3-540-79456-1_12 .
  3. Zimmermann, Paul; Dodson, Bruce (2006). "20 años de ECM" (PDF) . Algorithmic Number Theory . 4076 : 525–542 . doi : 10.1007/11792086_37 .HAL
  4. "ZIMMERMANN Paul/ecm (GMP-ECM)" . gitlab.inria.fr .
  5. Kruppa, Alexander (2010). Aceleración de la multiplicación y factorización de enteros (PDF) (tesis doctoral). Universidad Henri Poincaré. El trabajo describe algoritmos que Kruppa aportó a GMP-ECM y otros programas de factorización. Algunos capítulos se han publicado en otras fuentes.
Obtenido de " https://en.wikipedia.org/w/index.php?title=Algebraic-group_factorisation_algorithm&oldid=1336598718 "