Pseudoprimo

Da testwiki.
Vai alla navigazione Vai alla ricerca

Template:F In matematica, un numero pseudoprimo è un numero che, pur non essendo primo, soddisfa alcune proprietà forti che devono essere necessariamente soddisfatte dai primi, ovvero rispetto a una serie di test si comporta analogamente ad un numero primo. La definizione di numero pseudoprimo dipende quindi dal contesto, e da cosa si intende per "comportarsi come un numero primo".

I numeri pseudoprimi appaiono spesso come output di algoritmi che ricercano numeri primi, usando alcune proprietà forti che questi devono soddisfare.

Pseudoprimo di Fermat

Definizione

Alcuni teoremi, come il piccolo teorema di Fermat

aNa(modN)

sono validi per ogni N primo, e per ogni a. In questo contesto, un numero N è detto pseudoprimo di Fermat rispetto ad a se vale la relazione enunciata dal piccolo teorema di Fermat. Un numero che è pseudoprimo rispetto ad ogni a coprimo con N è un numero di Carmichael (affinché la relazione si verifichi, è necessario che a sia coprimo con N).

Il più piccolo numero pseudoprimo con base a=2 è il 341=1131. Quando un numero è pseudoprimo sotto tutte le basi, cioè qualunque sia il valore di a, prende il nome di numero di Carmichael.

Proprietà

Sia s>1 un intero dispari non primo, allora valgono le seguenti proprietà:

  1. Se s è pseudoprimo nelle basi a1 ed a2, tali che MCD(a1,s)=1 e MCD(a2,s)=1, allora s è pseudoprimo nelle basi a1a2 e a1a21, dove a21 è l'inverso di a2 modulo s.
  2. Se esiste un intero a, con 1<a<s e MCD(a,s)=1, tale che s non è uno pseudoprimo in base a, allora s non è uno pseudoprimo in base b per almeno metà dei b tali che 1<b<s e MCD(b,s)=1.

Dimostriamo le proprietà precedenti:

  1. Se valgono MCD(a1,s)=1 e MCD(a2,s)=1, allora MCD(a1a2,s)=1 e MCD(a1a21,s)=1, poiché a1, a2, a1a2, a1a21 appartengono tutti al gruppo di s*, ossia al gruppo degli elementi invertibili di s. Dobbiamo vedere quali risultati danno (a1a2)s1 e (a1a21)s1. Partiamo dal primo. Sapendo che sia a1 sta in s* sia a2 sta in s* e che il loro ordine è un divisore di s1, possiamo concludere che la composizione dei due abbia anch'essa come ordine un divisore di s1, e, quindi, elevata ad s1 dia l'unità del gruppo s* (ossia è congruo a 1 modulo s). Per la seconda, anche a21 sta in s* ed ha come ordine un divisore di s1, infatti 1=(a21)s1a2s1(a21)s11=(a21)s1. Quindi, s è pseudoprimo sia in base a1a2, sia in base a1a21.
  2. Consideriamo come a un elemento di s*. Sia A il sottoinsieme di s* costituito dalle classi il cui resto b modulo s è tale che n è pseudoprimo in base b. Per (1), vale che, se b sta in A, allora ab non sta in A (altrimenti a=abb1 apparterrebbe ad A). Si ha, dunque, un'applicazione iniettiva φ:bAs*A. Dunque, l'ordine di P non supera l'ordine di s*A.

Esempi e curiosità

Il più piccolo pseudoprimo (di Fermat) in base 2 è 341. Sappiamo che 341=1131, quindi 341 non è primo, ma esso soddisfa il piccolo teorema di Fermat, ossia

23401(mod341).

Un numero pseudoprimo in base 3 e non in base 2 è 91, e sappiamo che 91=713.

I numeri pseudoprimi in base 2 si dicono numeri di Poulet o numeri di Sarrus o Fermatiani.

Data una base h, vi sono infiniti pseudoprimi in quella base, ma sappiamo anche che sono molto “rarefatti” negli interi (sono infiniti, ma se si considera un qualsiasi intervallo di un milione di interi consecutivi, ne troviamo al massimo qualche centinaia).

Pseudoprimo di Eulero

Template:Vedi anche Gli pseudoprimi di Eulero hanno molte somiglianze con quelli di Fermat.

Sia b un intero, e sia n un intero dispari positivo, non primo, e tale che MCD(n,b)=1. Il numero n è uno pseudoprimo di Eulero in base b se

b(n1)/2±1(modn).

Utilizzo

Una delle applicazioni più importanti dei numeri pseudoprimi si trova negli algoritmi di “crittografia a chiave pubblica”, uno dei tipi di crittografia più utilizzati nel nostro tempo. Un algoritmo di crittografia a chiave pubblica molto famoso che utilizza grandi numeri primi è RSA. In questi algoritmi è fondamentale generare dei numeri primi molto grandi: poiché test di primalità deterministici come quello di Agrawal-Kayal-Saxena sono lenti (per non parlare del test di Wilson), ci si accontenta di uno Template:Chiarire

Se α è la probabilità che un numero composito passi un test (ad esempio, α=1/2 per i compositi non di Carmichael per il test di Fermat; α=1/4 per il test di Miller-Rabin), allora la probabilità che un numero composito passi n volte il test è αn. Questo non vuol dire che un numero che passi n test sia composito con probabilità αn: per il teorema di Bayes, considerando che la probabilità che un numero x sia primo è 1/lnx e supponendo αn molto più grande di lnx, abbiamo che: la probabilità che un numero che passi n test sia composito è lnx/αn

Voci correlate

Collegamenti esterni

Template:Portale