La crittografia RSA, acronimo di Rivest-Shamir-Adleman, è uno degli algoritmi crittografici asimmetrici più diffusi e ampiamente utilizzati nel campo della sicurezza informatica. Creata nel 1977 da Ron Rivest, Adi Shamir e Leonard Adleman, questa tecnologia rivoluzionaria ha reso possibile comunicare in modo sicuro e riservato attraverso reti pubbliche, come Internet.
Basata su principi matematici di teoria dei numeri e sulla difficoltà di fattorizzare grandi numeri primi, l’RSA fornisce un sistema robusto per la cifratura e decifratura dei messaggi, oltre che per la creazione e verifica di firme digitali. Grazie alla sua affidabilità, l’RSA ha trovato applicazione in una vasta gamma di contesti, tra cui il commercio elettronico, la protezione delle comunicazioni e la sicurezza delle infrastrutture critiche.

- Crittografia asimmetrica RSA: tutti i segreti di una cifratura inviolabile
- Il problema della distribuzione delle chiavi
- Dalla crittografia simmetrica a quella asimmetrica: un po’ di storia
- I concetti di chiave pubblica e chiave privata: fondamenta dell’RSA
- Algoritmo RSA, come funziona?
- Dove si applica la crittografia RSA
- Sicurezza e vulnerabilità dell’algoritmo RSA
Crittografia asimmetrica RSA: tutti i segreti di una cifratura inviolabile
Da secoli, per far viaggiare informazioni gli esseri umani ricorrono alle tecniche di crittografia che permettessero di conservare il contenuto del testo in forma incomprensibile per chiunque non fosse in possesso della giusta chiave di decifrazione. Lo stesso principio viene utilizzato ancora oggi sebbene, sia per la mole dei dati, che per la complessità dei passaggi matematici, che per la necessità di scambi rapidi, il processi di cifratura e decifrazione siano stati completamente automatizzati.
Vi sorprenderà sapere che la comprensione dei principi sui cui si basa la moderna crittografia non sia poi così difficile come si potrebbe pensare.
Proprio per questo oggi vi accompagneremo in un viaggio alla scoperta degli aspetti fondamentali da cui nasce la crittografia RSA.
Il problema della distribuzione delle chiavi
All’inizio degli anni ’70 i calcolatori elettronici, erano sufficientemente potenti e diffusi da far sorgere la necessità di proteggere le informazioni per mezzo della crittografia. Gli uomini d’affari dell’epoca si resero immediatamente conto che, per instaurare un fitto scambio di informazioni criptate con un numero elevato di persone diverse (clienti e partner) anche geograficamente lontane, bisognava affrontare il cosiddetto “problema della distribuzione delle chiavi”.
Se io volessi mandare un messaggio riservato, dovrei prima consegnare una chiave di lettura al mio destinatario che gli permetta di decifrarlo, ma come fare?
I mezzi elettronici e i telefoni potrebbero essere intercettati (proprio per questo voglio cifrare la conversazione), per cui l’unica possibilità sembra essere una consegna manuale o per posta.
Sembra incredibile ma proprio negli anni 70, le banche selezionavano personale di fiducia per questo compito delicato: consegnare a ciascun nuovo cliente, ovunque nella nazione, la sua chiave di decifrazione. In breve i costi e i problemi logistici di questo processo divennero proibitivi così il problema della distribuzione delle chiavi tornò ad essere tra quelli di maggiore rilievo nel campo della ricerca crittografica.
Dalla crittografia simmetrica a quella asimmetrica: un po’ di storia
Nel 1975 Whitfield Diffie e Martin Hellman ebbero un’idea rivoluzionaria per risolvere il problema.
Fino a quel momento tutti i sistemi di cifratura utilizzavano una stessa chiave per cifrare e decifrare il codice, utilizzando per la decifrazione lo stesso processo usato per la cifratura ma eseguito al contrario. I due scienziati immaginarono invece una cifratura asimmetrica, cioè un procedimento basato su due diverse chiavi, una per la cifratura e una per la decifrazione.
Alice e Bob: un racconto per spiegare la crittografia RSA
Tanto il problema quanto la sua soluzione sono chiariti dallo storico esempio di Alice e Bob. Alice vuole mandare un messaggio segreto a Bob ed Eva vuole conoscerne il contenuto. Per impedirglielo Alice decide di chiudere il suo messaggio in una scatola con lucchetto prima di inviarla a Bob e di usare ogni volta un lucchetto diverso ma non sa come consegnare la chiavi a Bob senza che Eva la possa intercettare.
Potrebbero incontrarsi periodicamente per scambiarsi le chiavi, ma questo limiterebbe il numero di messaggi che potrebbero scambiarsi tra un incontro e l’altro. Oltreché potrebbero non riuscire ad incontrarsi con la giusta periodicità.
Potrebbero affidarsi ad un servizio postale ma i tempi si allungherebbero e la sicurezza diminuirebbe: il postino potrebbe leggere le loro chiave e riferirla ad Eva. Infatti se Alice non consegna anche la chiave al postino Bob non riuscirà ad aprirla. Al contrario se Alice consegna la chiave al postino sia Bob sia il postino (e quindi Eva) potranno leggerla.
L’unica soluzione sembra essere che:
- Alice metta un lucchetto ed invii il messaggio a Bob.
- Bob riceva la scatola, metta un altro lucchetto e rispedisca il tutto ad Alice.
- Alice riceva il messaggio, tolga il suo lucchetto e la rinvii di nuovo a Bob
- Bob tolga il lucchetto e legga finalmente il messaggio.
In realtà questo in termini crittografici non funziona, perché l’ordine in questo caso è fondamentale. Chi ha criptato per ultimo deve decriptare per primo altrimenti non si riesce a risalire al contenuto originale.
I concetti di chiave pubblica e chiave privata: fondamenta dell’RSA
Supponiamo ora che, invece di utilizzare solo una chiave si utilizzi una coppia di chiavi.
Di queste, una è detta chiave pubblica e può essere condivisa con chiunque voglia inviare un messaggio segreto al suo proprietario e l’altra, detta privata, dovrà rimanere segreta e sarà usata solo dal destinatario per volgere in chiaro la sua corrispondenza. A questo punto Alice dovrebbe comprare alle poste “un lucchetto di Bob” e chiudere la scatola con questo lucchetto. Nessuno all’infuori di Bob che possiede la chiave, neanche Alice, potrebbe più aprire la scatola chiusa in questo modo.
Identificazione univoca del mittente
Astraendo un po’ dall’idea delle scatole con i lucchetti, possiamo capire, sempre con l’aiuto di Alice e Bob come questo procedimento possa garantire anche l’identità del mittente.
Ricordiamo che:
- La chiave pubblica è nota a tutti ed identifica univocamente la persona che la possiede
- La chiave privata è nota solo al proprietario e lo identifica univocamente
- La cifratura usata per prima deve essere rimossa per ultima.
In questo caso:
- Alice cifra il messaggio con la sua chiave privata (Prima criptazione)
- Alice Cifra il messaggio già cifrato con la chiave pubblica di Bob (Seconda criptazione)
- Bob riceve il messaggio e usa la sua chiave privata per rimuovere il secondo strato di crittografia, ottiene un messaggio ancora illeggibile
- Bob conosce la chiave pubblica di Alice e la può usare per rimuovere il primo strato di crittografia
- Se la chiave pubblica di Alice non funziona, vuol dire che il messaggio non proviene da Alice.
Algoritmo RSA, come funziona?
La crittografia RSA funziona utilizzando appunto due chiavi diverse, pubblica e privata, che sono collegate matematicamente ma non possono essere facilmente derivate l’una dall’altra.
Immagina che tu voglia inviare un messaggio segreto a un amico.
Con la crittografia RSA, il tuo amico ti darà la sua chiave pubblica, che può essere condivisa liberamente senza preoccuparsi che qualcuno la usi per decifrare il messaggio. Tu utilizzerai questa chiave pubblica per cifrare il tuo messaggio. Una volta che il messaggio è cifrato, può essere inviato al tuo amico senza timore che qualcuno possa leggerlo, poiché solo il tuo amico ha la chiave privata necessaria per decifrarlo.
Quando il tuo amico riceve il messaggio cifrato, utilizzerà la sua chiave privata per decifrarlo e leggere il contenuto originale. La chiave privata è tenuta segreta e non viene mai condivisa, garantendo così la sicurezza del messaggio.
La crittografia RSA può anche essere utilizzata per firmare digitalmente i messaggi, garantendo che provengano effettivamente dalla persona che afferma di averli inviati e che non siano stati manomessi durante il trasporto. In questo caso, l’emittente firma il messaggio con la propria chiave privata e il destinatario verifica la firma usando la chiave pubblica dell’emittente.
La sicurezza dell’algoritmo RSA si basa sulla difficoltà di risolvere alcuni problemi matematici complessi, come la fattorizzazione di numeri molto grandi composti da due numeri primi. Finora, non esiste un metodo efficiente per risolvere questo problema, rendendo l’RSA un sistema crittografico affidabile e sicuro per la protezione delle comunicazioni.
Dove si applica la crittografia RSA
Questa procedura è estremamente flessibile e adatta per praticamente qualsiasi tipo di dato indipendentemente dal formato.
Questo la rende tra le preferite per svariate applicazioni con cui abbiamo continuamente a che fare.
- Il protocollo sicuro HTTPS fondano la loro sicurezza su questo tipo di crittografia
- Molte piattaforme per lo scambio di mail e applicazioni di messaggistica istantanea se ne servono, dal momento che è possibile cifrarvi anche immagini e altri contenuti multimediali
- Creazione e validazione delle firme digitali
- Verificare l’origine dei messaggi ricevuti.
Sicurezza e vulnerabilità dell’algoritmo RSA
La sicurezza dell’algoritmo RSA si basa principalmente sulla difficoltà di fattorizzare un numero grande composto da due numeri primi. Tuttavia, nonostante la sua affidabilità, l’RSA presenta alcune vulnerabilità e sfide che vale la pena esaminare:
- La sicurezza dell’RSA aumenta con la dimensione delle chiavi utilizzate. Chiavi più lunghe rendono la fattorizzazione più difficile e richiedono più tempo per essere violate. Tuttavia, chiavi più lunghe richiedono anche più potenza di calcolo e possono rallentare le operazioni di cifratura e decifratura. È importante trovare un equilibrio tra sicurezza e efficienza.
- Sempre, la sicurezza dell’RSA può essere compromessa se l’algoritmo non è implementato correttamente. Ad esempio, la generazione di numeri primi insufficientemente casuali o l’utilizzo di generatori di numeri pseudo-casuali prevedibili può rendere il sistema vulnerabile agli attacchi.
- Attacchi a tempo e a canale laterale: questi attacchi non mirano direttamente alla matematica dell’RSA, ma piuttosto alle implementazioni hardware e software. Ad esempio, un attaccante potrebbe analizzare il tempo impiegato per eseguire determinate operazioni o osservare le variazioni nel consumo energetico per ottenere informazioni sulla chiave privata.
Alcune considerazioni finali
La crittografia RSA è uno dei sistemi crittografici asimmetrici più utilizzati ed è fondamentale per la sicurezza delle comunicazioni online.
Nonostante le sue vulnerabilità e le sfide, l’RSA ha dimostrato di essere un sistema affidabile e robusto per proteggere dati e garantire l’autenticità dei messaggi. Tuttavia, è importante rimanere vigili e aggiornati sulle potenziali minacce e sui progressi nella tecnologia crittografica, come i computer quantistici e gli algoritmi alternativi. La ricerca e lo sviluppo di metodi crittografici ancora più sicuri e resistenti alle minacce future contribuiranno a garantire la protezione delle comunicazioni in un mondo sempre più digitalizzato.
- Autore articolo
- Ultimi articoli

Laureata in Fisica, sta proseguendo gli studi in “Fisica dell’atmosfera, climatologia e meteorologia” presso l’università di Roma Tor Vergata. Nel frattempo, unisce la sua passione per la scrittura a quella per la cybersecurity per promuovere la consapevolezza digitale attraverso il blog di Onorato Informatica.