Pseudoprimo
Un numero pseudoprimo è un numero che si comporta come un numero primo, senza essere tale. 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.
Indice |
Pseudoprimo di Fermat [modifica]
Definizione [modifica]
Alcuni teoremi, come il piccolo teorema di Fermat
sono validi per ogni
primo, e per ogni
. In questo contesto, un numero
è detto pseudoprimo di Fermat rispetto ad
se vale la relazione enunciata dal piccolo teorema di Fermat. Un numero che è pseudoprimo rispetto ad ogni
coprimo con
è un numero di Carmichael (affinché la relazione si verifichi, è necessario che
sia coprimo con
).
Il più piccolo numero pseudoprimo con base
è il 341 (11×31). Quando un numero è pseudoprimo sotto tutte le basi, cioè qualunque sia il valore di a, prende il nome di numero di Carmichael.
Proprietà [modifica]
Sia s>1 un intero dispari non primo, allora valgono le seguenti proprietà:
- Se s è pseudoprimo nelle basi
ed
, tali che MCD(
, s)=1 e MCD(
, s)=1, allora s è pseudoprimo nelle basi
*
e
*
, dove
è l’inverso di
modulo s. - 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:
- Se valgono MCD(
, s)=1 e MCD(
, s)=1, allora MCD(
*
, s)=1 e MCD(
*
, s)=1, poiché
,
,
*
,
*
appartengono tutti al gruppo di (
), ossia al gruppo degli elementi invertibili di
. Dobbiamo vedere quali risultati danno
e
. Partiamo dal primo. Sapendo che sia
sta in (
) sia
sta in (
) e che il loro ordine è un divisore di (s-1), possiamo concludere che la composizione dei due abbia anch’essa come ordine un divisore di (s-1), e, quindi, elevata ad (s-1) dia l’unità del gruppo (
) (ossia ≡ 1 (mod s)). Per la seconda, anche
sta in (
) ed ha come ordine un divisore di (s-1) (
*
≡
*1 =
).
Quindi, s è pseudoprimo sia in base
*
, sia in base
*
. - Consideriamo come a un elemento di (
). Sia A il sottoinsieme di (
) 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=(ab)*
apparterrebbe ad A). Si ha, dunque, un’applicazione iniettiva φ: b in A → (
)\A. Dunque, l’ordine di P non supera l’ordine di (
)\A.
Esempi e curiosità [modifica]
Il più piccolo pseudoprimo (di Fermat) in base 2 è 341. Sappiamo che 341=11*31, quindi 341 non è primo, ma esso soddisfa il Piccolo teorema di Fermat, ossia
≡ 1 (mod 341). Un numero pseudoprimo in base 3 e non in base 2 è 91, e sappiamo che 91=7*13.
I numeri pseudoprimi in base 2 si dicono numeri di Poulet o numeri di Sarro 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 [modifica]
| Per approfondire, vedi pseudoprimo di Eulero. |
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 M.C.D.(n, b)=1. Il numero n è uno pseudoprimo di Eulero in base b se
Utilizzo [modifica]
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 pseudoprimo, cioè di un numero che con grande probabilità è primo.
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 è
. Questo non vuol dire che un numero che passi n test sia composito con probabilità
: per il Teorema di Bayes, considerando che la probabilità che un numero x sia primo è
e supponendo
molto più grande di
, abbiamo che:
- La probabilità che un numero che passi n test sia composito è

Voci correlate [modifica]
- Numero di Carmichael
- Piccolo teorema di Fermat
- Numero primo
- Pseudoprimo di Eulero
- Pseudoprimo di Fibonacci
- Pseudoprimo forte
- Test di Wilson
- Test di Lucas-Lehmer
- Test di Miller-Rabin

ed
, tali che MCD(
, dove
), ossia al gruppo degli elementi invertibili di
. Dobbiamo vedere quali risultati danno
e
. Partiamo dal primo. Sapendo che sia
*
≡
*1 =
apparterrebbe ad A). Si ha, dunque, un’applicazione iniettiva φ: b in A → (
