RSA-260 fattorizzato dopo 35 anni: cosa cambia per la sicurezza RSA

RSA-260, storico numero dell'RSA Factoring Challenge, è stato fattorizzato. Il risultato porta il limite pubblico della fattorizzazione classica a 862 bit, ma non significa che RSA-2048 sia oggi compromesso. Spieghiamo anche il legame tra fattorizzazione e chiave privata.

RSA (acronimo degli inventori del 1977 Ronald Rivest, Adi Shamir e Leonard Adleman) è uno degli algoritmi che hanno reso possibile la crittografia a chiave pubblica su larga scala. Da decenni è usato per proteggere lo scambio di informazioni, autenticare sistemi, firmare software e documenti digitali, costruire certificati e infrastrutture PKI (Public Key Infrastructure). Il suo vantaggio fondamentale è semplice da descrivere: permette di pubblicare una chiave senza rendere pubblica anche quella privata corrispondente.

La sicurezza del meccanismo dipende, tra le altre cose, da un problema matematico molto difficile: dato il prodotto di due grandi numeri primi, riuscire a risalire ai due fattori originari.

È proprio qui che arriva la notizia. Uno dei grandi numeri usati per decenni come banco di prova della sicurezza di RSA, RSA-260, è stato finalmente fattorizzato. Il 3 settembre 2026 Eric Lu ha pubblicato uno dei due grandi numeri primi che, moltiplicati tra loro, formano RSA-260. Conoscendo uno dei fattori, basta dividere RSA-260 per quel numero per ottenere immediatamente anche l’altro. In questo modo il problema di fattorizzazione, rimasto aperto per decenni, può considerarsi risolto.

Cosa significa fattorizzare RSA-260

RSA-260 non è il nome di una particolare versione dell’algoritmo RSA: è un singolo, enorme numero intero creato nell’ambito dell’iniziativa RSA Factoring Challenge. Quel numero fu ottenuto moltiplicando tra loro due grandi numeri primi e pubblicando soltanto il risultato finale.

Per capire il meccanismo basta partire da un esempio elementare. Se prendiamo i numeri primi 7 e 11 e li moltiplichiamo otteniamo 77. Se però qualcuno ci consegnasse soltanto il numero 77, senza dirci come è stato costruito, il problema sarebbe fare il percorso inverso e scoprire che:

77 = 7 × 11

Questa operazione è la fattorizzazione. Con numeri così piccoli è banale. Nel caso di RSA-260, invece, il numero da scomporre contiene 260 cifre decimali ed è stato costruito moltiplicando due numeri primi enormi, ciascuno di circa 130 cifre.

Per decenni RSA-260 era noto soltanto come un enorme prodotto di due numeri primi sconosciuti. Ora almeno uno dei due fattori è stato trovato e, di conseguenza, l’intera scomposizione è diventata nota.

Perché la fattorizzazione di RSA-260 fa notizia

La notizia è importante perché RSA-260 era stato costruito appositamente per mettere alla prova i migliori metodi di fattorizzazione disponibili.

È, in sostanza, lo stesso tipo di problema matematico sul quale poggia una parte fondamentale della sicurezza di RSA. In una chiave RSA reale, infatti, il modulo pubblico è anch’esso ottenuto moltiplicando due grandi numeri primi.

Chi conosce la chiave pubblica può conoscere quel prodotto, ma non i fattori che lo hanno generato. Se fosse possibile recuperarli facilmente, si potrebbero ricostruire i parametri matematici dai quali dipende la chiave privata, facendo venire meno la separazione sulla quale RSA basa la propria sicurezza.

RSA-260 rappresentava quindi una sorta di banco di prova: il numero era noto a tutti e chiunque poteva tentare di fattorizzarlo, ma per decenni nessuno aveva pubblicato una soluzione. La sua fattorizzazione dimostra che un semiprimo generale di 260 cifre decimali, pari a 862 bit, è ormai entrato nel territorio di ciò che può essere affrontato con le tecniche di calcolo classiche disponibili oggi.

Non significa che RSA sia violato: le chiavi RSA abitualmente utilizzate oggi sono molto più grandi. Un modulo RSA-2048 misura 2048 bit, circa 617 cifre decimali. Inoltre il costo della fattorizzazione non aumenta in proporzione diretta al numero di bit.

Il lavoro di Eric Lu ha il merito di aver spostato in avanti il limite sperimentale della fattorizzazione, fornendo un nuovo riferimento concreto per valutare quanto siano progrediti algoritmi, software e capacità di calcolo. E permette di tornare su una domanda che avevamo già affrontato su IlSoftware.it parlando di quanto sia davvero sicuro RSA: quanto deve essere grande una chiave perché fattorizzarla sia concretamente impraticabile?

Infografica fattorizzazione numeri RSA e chiave privata

La fattorizzazione si verifica facilmente, ottenerla no

C’è un altro aspetto interessante nella vicenda RSA-260. Verificare che la soluzione sia corretta è semplicissimo: se qualcuno afferma che RSA-260 = p × q, basta moltiplicare p e q e controllare che il risultato coincida esattamente con il numero originale. La difficoltà è trovare quei valori.

È un esempio molto efficace di uno dei temi ricorrenti dell’informatica teorica: alcuni problemi possono richiedere quantità enormi di calcolo per trovare una soluzione, mentre la soluzione stessa può essere verificata con uno sforzo minimo.

Nel caso di RSA-260, Eric Lu ha pubblicato un fattore primo. Una volta noto quel valore, il secondo fattore si ottiene con una semplice divisione.

Il fattore pubblicato è il sguente:

4397328654844826923795068102505872571721883526553349659561256924505973939597593482272505698004801207988043088656411102133523080581

Dividendo RSA-260 per quel valore si ottiene il secondo fattore:

5028695206842569864686141618253083416610081090075366674776775706538324961364412200138116378509733307971876652984898985905923678379

Quello che resta particolarmente interessante da conoscere nei dettagli è come sia stato ottenuto il primo fattore: infrastruttura hardware, software, durata del calcolo, costo complessivo, numero di core, memoria utilizzata e ottimizzazioni applicate. Senza questi dati è possibile verificare matematicamente il risultato, ma è più difficile confrontare con precisione l’efficienza del lavoro rispetto ai precedenti record.

Dalla fattorizzazione alla chiave privata: perché RSA può essere compromesso

Il collegamento tra la fattorizzazione di un numero RSA e la compromissione di una vera chiave pubblica-privata è diretto.

Una chiave pubblica RSA contiene, tra gli altri parametri, un grande numero n, ottenuto moltiplicando due numeri primi segreti p e q. Finché quei due fattori restano sconosciuti, ricostruire la chiave privata a partire dalla chiave pubblica è considerato impraticabile.

Se però un attaccante riesce a fattorizzare il modulo e scopre che n = p × q può calcolare i valori matematici necessari per costruire la chiave. A partire da p e q può quindi ricostruire i parametri matematici della chiave privata associata alla chiave pubblica.

Da quel momento l’attaccante può eseguire le stesse operazioni riservate al legittimo possessore della chiave privata: per esempio decifrare dati protetti con quella chiave, quando RSA è stato usato a tale scopo, oppure generare firme digitali valide fingendosi il titolare della chiave.

Va comunque distinta la matematica dal protocollo. Nei sistemi di oggi RSA non cifra necessariamente tutto il traffico: con TLS, per esempio, può essere usato soprattutto per l’autenticazione tramite firma, mentre le chiavi di sessione sono negoziate con altri meccanismi. Per questo fattorizzare una chiave RSA non significa automaticamente poter decifrare qualunque comunicazione passata: dipende da come quella chiave è stata effettivamente utilizzata.

Fattorizzare non è l’unico modo per compromettere RSA

La fattorizzazione di RSA-260 può far pensare che per compromettere RSA sia sempre necessario risalire ai due grandi numeri primi che formano il modulo. In realtà non è così. Per la fattorizzazione generale di grandi interi il riferimento è il GNFS (General Number Field Sieve), cioè il miglior algoritmo classico generale conosciuto per scomporre numeri molto grandi privi di particolari debolezze strutturali. È il tipo di problema rappresentato dai numeri dell’RSA Factoring Challenge.

Una chiave RSA reale, però, può risultare vulnerabile anche senza affrontare un problema di questa difficoltà. Un caso classico si verifica quando due chiavi condividono accidentalmente lo stesso numero primo:

n1 = p × q1

n2 = p × q2

Calcolando il massimo comune divisore si recupera immediatamente il fattore condiviso. Da lì basta dividere n1 e n2 per p per ricavare anche q1 e q2. Nessun GNFS, quindi: il problema nasce da una generazione difettosa delle chiavi, per esempio da un generatore casuale incapace di produrre primi sufficientemente indipendenti e imprevedibili.

Altri attacchi colpiscono direttamente l’implementazione. I timing attack sfruttano differenze nei tempi di elaborazione; altri side channel possono analizzare consumi energetici o errori di calcolo. Storicamente hanno avuto grande importanza anche gli attacchi contro il padding, cioè contro il modo in cui i dati sono preparati prima dell’operazione RSA.

Cosa significherebbe fattorizzare i prossimi numeri RSA

RSA-260 non è l’ultimo numero rimasto irrisolto. Procedendo nella serie si incontrano RSA-270, RSA-280, RSA-290 e così via; nell’espansione della sfida esistono poi obiettivi particolarmente significativi come RSA-896, RSA-1024, RSA-1536 e RSA-2048.

Per questi ultimi RSA Laboratories aveva previsto premi molto elevati: 75.000 dollari per RSA-896, 100.000 per RSA-1024, 150.000 per RSA-1536 e 200.000 per RSA-2048. Le ricompense furono però ritirate quando il challenge venne chiuso nel 2007: oggi fattorizzare uno di questi numeri avrebbe quindi soprattutto un enorme valore scientifico e crittanalitico, non economico.

Proprio avvicinandosi a RSA-1024 e RSA-2048 il collegamento con le chiavi utilizzate nel mondo reale diventerebbe molto più diretto.

La fattorizzazione di RSA-1024, ad esempio, avrebbe un peso molto diverso rispetto a RSA-260: un modulo da 1024 bit è una dimensione realmente utilizzata in passato in certificati, server, apparati embedded e software. Oggi RSA-1024 è considerato troppo debole per nuovi impieghi, ma una sua fattorizzazione pubblica e generale dimostrerebbe che una dimensione storicamente diffusissima non offre più soltanto un margine di sicurezza insufficiente in teoria: sarebbe diventata concretamente attaccabile con tecniche classiche.

Il vero spartiacque sarebbe però RSA-2048: se qualcuno riuscisse a fattorizzare RSA-2048 come problema generale, con risorse realistiche e una tecnica riproducibile, il significato sarebbe completamente diverso. Non avremmo più soltanto un nuovo record accademico: verrebbe messo in discussione direttamente il margine di sicurezza di una delle dimensioni RSA più diffuse.

Quando cadrà RSA-2048 e cosa potrebbe cambiare con i computer quantistici?

La fattorizzazione di RSA-260 porta inevitabilmente alla domanda successiva: quanto tempo potrebbe servire per arrivare a RSA-1024, RSA-1536 o addirittura RSA-2048?

Il costo del GNFS (ne abbiamo parlato in precedenza) cresce molto rapidamente con la dimensione del modulo e non è quindi possibile prendere il risultato ottenuto su 862 bit ed estrapolarlo linearmente verso 1024 o 2048 bit.

Con i computer classici, ogni nuovo passo richiede quantità crescenti di tempo macchina, core di calcolo, memoria, spazio per i dati e coordinamento delle diverse fasi dell’algoritmo. Miglioramenti hardware e software possono naturalmente ridurre il costo; contano anche una migliore selezione dei polinomi, tecniche di sieving più efficienti e ottimizzazioni dell’algebra lineare. Ma passare da RSA-260 a RSA-2048 non significa semplicemente utilizzare computer due o tre volte più potenti. La distanza computazionale è di molti ordini di grandezza.

La situazione cambierebbe soltanto in presenza di un progresso matematico radicale oppure di una tecnologia di calcolo capace di affrontare il problema in modo completamente diverso. È qui che entra in gioco il quantum computing.

Il salto quantistico cambia completamente il problema

Un computer quantistico sufficientemente grande e affidabile potrebbe infatti eseguire l’algoritmo di Shor, che affronta la fattorizzazione con una complessità completamente diversa da quella degli algoritmi classici.

Come abbiamo spiegato nell’approfondimento su quanto sia davvero sicuro RSA, le stime proposte negli anni mostrano però quanto sia ancora grande la distanza tra i quantum computer disponibili e una macchina realmente capace di attaccare RSA-2048. Un noto studio di Craig Gidney e Martin Ekerå stimava, con l’architettura considerata, circa 20 milioni di qubit fisici per fattorizzare RSA-2048 in otto ore: un ordine di grandezza enormemente superiore a quello dei processori quantistici oggi disponibili. La cifra non deve essere interpretata come una soglia immutabile, perché algoritmi, codici di correzione degli errori e architetture possono migliorare; rende però bene l’idea delle risorse necessarie.

Aumentare la lunghezza di RSA non risolve il problema quantistico: passare da RSA-2048 a RSA-4096 rende molto più onerosa la fattorizzazione classica, ma un computer quantistico crittograficamente rilevante continuerebbe ad attaccare lo stesso problema matematico con Shor.

È per questa ragione che la risposta dell’industria non consiste nell’allungare indefinitamente le chiavi RSA, bensì nel passaggio alla crittografia post-quantistica. NIST ha già standardizzato algoritmi come ML-KEM e ML-DSA e nel 2026 invita esplicitamente organizzazioni e sviluppatori ad avviare la migrazione senza aspettare la disponibilità di un computer quantistico capace di rompere RSA. Abbiamo visto questa transizione anche in Windows 11, così come nell’adozione di meccanismi post-quantistici da parte di browser, infrastrutture Web e protocolli di comunicazione.

RSA-260, quindi, fotografa soprattutto il progresso della fattorizzazione classica: oggi il limite pubblico è avanzato fino a 862 bit. RSA-2048 resta enormemente più difficile da affrontare con gli algoritmi tradizionali conosciuti.

Ti consigliamo anche

Link copiato negli appunti