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