Crivello quadratico

Abbozzo
Questa voce sull'argomento teoria dei numeri è solo un abbozzo.
Contribuisci a migliorarla secondo le convenzioni di Wikipedia.

Il crivello quadratico è un algoritmo di fattorizzazione creato da Carl Pomerance. Questo algoritmo è particolarmente famoso perché nel 1994 ha fattorizzato il numero RSA-129, composto da 129 cifre in base dieci.

Algoritmo

L'algoritmo consta di 8 passi:

  1. Viene dato in input il numero naturale dispari n > 1 {\displaystyle n>1} .
  2. Si sceglie un naturale k > 0 {\displaystyle k>0} .
  3. Si esaminano tutti i primi p k {\displaystyle p\leq k} e si eliminano tutti i primi dispari tali che ( n p ) 1 {\displaystyle \left({\frac {n}{p}}\right)\neq 1} , dove con ( n p ) {\displaystyle \left({\frac {n}{p}}\right)} si intende il simbolo di Legendre, e si ottiene così la base di fattori B = { p 1 , p 2 , , p t } {\displaystyle B=\{p_{1},p_{2},\dots ,p_{t}\}} .
  4. Facendo assumere ad r {\displaystyle r} valori interi successivi a n {\displaystyle \lfloor {\sqrt {n}}\rfloor } , si trovano almeno t + 1 {\displaystyle t+1} valori y = r 2 n {\displaystyle y=r^{2}-n} che abbiano tutti i loro fattori primi in B {\displaystyle B} .
  5. Per ognuno dei valori y 1 , y 2 , , y t + 1 {\displaystyle y_{1},y_{2},\dots ,y_{t+1}} si calcola il vettore in ( Z / 2 Z ) t : v 2 ( y i ) = ( e 1 , e 2 , , e t ) {\displaystyle (\mathbb {Z} /2\mathbb {Z} )^{t}:v_{2}(y_{i})=(e_{1},e_{2},\dots ,e_{t})} dove e i {\displaystyle e_{i}} è la riduzione modulo 2 {\displaystyle 2} dell'esponente di p i {\displaystyle p_{i}} nella fattorizzazione di y i {\displaystyle y_{i}} .
  6. Con il metodo di eliminazione di Gauss si determinano alcuni dei vettori v 2 ( y i ) {\displaystyle v_{2}(y_{i})} che danno somma uguale al vettore nullo.
  7. Si pone x {\displaystyle x} uguale al prodotto degli r i {\displaystyle r_{i}} corrispondenti agli y i {\displaystyle y_{i}} trovati nel passo 6) e si pone y {\displaystyle y} uguale al prodotto delle potenze di p 1 , p 2 , , p t {\displaystyle p_{1},p_{2},\dots ,p_{t}} con esponenti uguali alla semisomma degli esponenti della fattorizzazione degli stessi y i {\displaystyle y_{i}} .
  8. Si calcola d = m c d ( x y , n ) {\displaystyle d=\mathrm {mcd} (x-y,n)} e se 1 < d < n {\displaystyle 1<d<n} allora d {\displaystyle d} è divisore non banale di n {\displaystyle n} , altrimenti si torna al passo 2) con una scelta di k {\displaystyle k} più grande.

Collegamenti esterni

  • (EN) Eric W. Weisstein, Crivello quadratico, su MathWorld, Wolfram Research. Modifica su Wikidata
  Portale Matematica: accedi alle voci di Wikipedia che trattano di matematica