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.