Come sapere se un numero è primo

Solo quello che ti interessa | Ricerca e utilizzo - Come sapere se un numero è primo
Copyright admin [email protected]
http://www.belloma.it/ricerca-e-utilizzo-come-sapere-se-un-numero-e-primo/
Ricerca e utilizzo - Come sapere se un numero è
primo
- L’unico modo per sapere con assoluta certezza se un numero è primo è
dividerlo per tutti i numeri che lo precedono. Se non è divisibile per nessuno di
essi è primo. In realtà basta che proviamo a dividerlo fino alla sua radice
quadrata.
- Questo metodo è conosciuto come divisione per tentativi.
- Il problema di questo metodo è utilizzabile per numeri molto grandi. Dal punto
di vista computazionale, l’algoritmo relativo non è utilizzabile nemmeno dai più
potenti calcolatori in quanto richiede tempi di esecuzione non comparabili alla
vita umana, ma dell’universo.
- Consideriamo un numero di 50 cifre; la sua radice quadrata avrà circa 25 cifre.
Per calcolare la sua primalità, con un computer in grado di realizzare 1 milione
di divisioni al secondo, avremo bisogno di 300 milioni di anni.
- Bisogna però puntualizzare che, se si tratta di un numero composto ed un dei
suoi fattori non è eccessivamente grande, il metodo può funzionare. Infatti
bisogna tenere conto che dati un numero qualunque n, la probabilità che 2 ne
sia il fattore è del 50%, quella che 3 ne sia il fattore è del 33%, e così via. Altri metodi - Gli algoritmi che si usano per determinare se un numero è primo sono di due
tipi: polinomiale deterministico e polinomiale probabilistico. Il primo
garantisce in assoluto se il numero è o non è primo, ma i tempi di elaborazione
sono molto alti. Il secondo è più rapido, ma presenta una certa aleatorietà nel
risultato.
- Il metodo più usato è il metodo Miller-Rabin, una versione del test di
primalità di Fermat basato sulla congettura di Reimann. E’ del tipo
polinomiale probabilistico, però la probabilità che contenga un errore si
trova tra 1/1050 e 1/1080, per cui in pratica può essere usato con sicurezza.
- Il 6 agosto 2002, tre ricercatori dell’Istituto Tecnologico di Kanpur (India),
M. Agrawal, N. Kayal e N.Saxena, pubblicarono un metodo polinomiale
deterministico basato su una generalizzazione del piccolo teorema di
Fermat. - Nonostante questo risultato, il metodo più usato continua ad essere quello
polinomiale probabilistico, dato il suo minor tempo di elaborazione. I
browser di oggi lo includono in algoritmi di criptazione che sono in grado di
page 1 / 2
Solo quello che ti interessa | Ricerca e utilizzo - Come sapere se un numero è primo
Copyright admin [email protected]
http://www.belloma.it/ricerca-e-utilizzo-come-sapere-se-un-numero-e-primo/
trovare numeri primi grandi fino a 2.048 bit.
- I tre sistemi più usati nella sicurezza crittografica sono RSA, DSA e ECDSA.
- Nessun esperto mette in dubbio la sicurezza garantita da questi tre sistemi. La
differenza tra i tre risiede nella misura delle chiavi che si usano. La sicurezza
che offrono le chiavi di 2.048 bit nei primi due sistemi è equivalente a quella di
una chiave a 224 bit del terzo, con il quale il tempo di calcolo si riduce
notevolmente.
- Mentre per i primi due si conoscono algoritmi sottoesponenziali, nel terzo
quello che si utilizza meglio è di tipo esponenziale.
page 2 / 2