I cacciatori di numeri primi

Grossa ricompensa per cacciatori di numeri primi
Come tutti i lettori sapranno, sono chiamati “primi” i numeri divisibili solo per sé stessi
(sono primi, ad esempio, 3,5,7). Ogni numero non primo è scomponibile in modo univoco in
un prodotto di numeri primi (15, a esempio, è scomponibile in 3 per 5). Scomporre in fattori
primi un numero qualsiasi è un importante esercizio matematico; se vi sentite particolarmente
portati a questa attività, potreste vincere 10.000 dollari (i dettagli sono disponibili sul sito
http://www.rsasecurity.com /rsalabs/challenges/factoring/numbers.html) scomponendo in
fattori primi questo numero:
188198812920607963838697239461650439807163563379417382700763356422988859715
234665485319060606504743045317388011303396716199692321205734031879550656996
221305168759307650257059
Troppo semplice? Potreste allora puntare al primo premio (200.000 dollari) scomponendo,
anziché questo numero di 174 cifre decimali, un ben più corposo numero di 617 cifre. Il
lavoro è difficile, ma c’è una traccia per gli aspiranti scopritori: i fattori primi di questo
numero sono solamente due, il che significa che si devono trovare due numeri (primi) che
moltiplicati tra loro producono questo risultato. Quali siano questi due numeri non lo sa
nessuno, neppure gli esperti dei laboratori RSA che propongono il concorso. Il numero è stato
prodotto con un programma di generazione casuale che è stato fatto girare su un PC il cui
disco fisso è stato distrutto.
Questo premio non è un capriccio di un eccentrico miliardario, ma ha una ragione precisa.
E’ sponsorizzato da una delle più importanti aziende che si occupano di crittografia, la RSA,
fondata dagli inventori del più diffuso algoritmo di protezione dei dati.
Quando si invia tramite Internet un messaggio riservato, lo si traduce in modo che non
possa essere compreso da chi lo intercettasse. L’algoritmo RSA utilizza a questo scopo uno
speciale numero (la chiave pubblica) associato al destinatario del messaggio e che può essere
comunicato liberamente a chiunque voglia spedirgli messaggi riservati. Ad ogni chiave
pubblica corrisponde una chiave privata, che solo il destinatario conosce e che gli permette di
ricostruire il messaggio originale.
La chiave pubblica e la chiave privata sono elaborate utilizzando dei numeri primi; se si
riesce a scomporre in fattori primi la chiave pubblica, è facile trovare la chiave privata e
decodificare tutti i messaggi riservati.
Lo scopo del concorso è proprio questo: garantire che la scomposizione di chiavi pubbliche
simili al numero citato non è fattibile. In questo modo si può essere certi che i messaggi
riservati che le utilizzano non possono essere decodificati da estranei.
Per scomporre un numero in fattori primi ci sono algoritmi banali (basta provare con tutti i
numeri primi più piccoli del numero di partenza) e algoritmi molto sofisticati, ma anche con
questi ultimi è necessario molto tempo ed una potenza di calcolo impressionante per numeri
come quelli del concorso. Si è stimato che per scomporre un numero di 232 cifre decimali
(pari a 768 cifre binarie, premio da 50.000 dollari) sarebbe necessario che 215.000 computer
lavorassero per un anno intero.
Un vecchio premio per la scomposizione di un numero con 155 cifre decimali è stato vinto
nel 1999 da un team di ricercatori che ha utilizzato circa 300 computer per diversi mesi.
Questo risultato ha dimostrato che i numeri con 155 cifre decimali (pari a 512 cifre binarie),
usati fino a qualche anno fa come chiavi pubbliche, non possono più essere ritenuti “sicuri”,
perché la loro scomposizione è alla portata dei computer attuali. Adesso si utilizzano chiavi
pubbliche con 768 o 1024 cifre binarie (pari a 232 o 309 cifre decimali). Un giorno, però, con
l’aumentare della potenza di calcolo dei computer, anche i premi per la scomposizione di
numeri di queste dimensioni saranno assegnati, e si dovranno utilizzare chiavi pubbliche
ancora più grandi.