Introduzione

La crittografia moderna è uno dei pilastri della sicurezza informatica. Tra i suoi algoritmi più iconici c’è RSA, un sistema a chiave pubblica che ha rivoluzionato il modo in cui proteggiamo le informazioni. Questo articolo esplora le origini storiche di RSA, i concetti matematici alla base, aneddoti curiosi e esempi pratici per comprenderne il funzionamento.


Le Origini di RSA

RSA è l’acronimo dei cognomi dei suoi inventori: Ron Rivest, Adi Shamir e Leonard Adleman, tre ricercatori del MIT. Nel 1977 pubblicarono un rivoluzionario algoritmo di crittografia a chiave pubblica. Tuttavia, la storia ha un colpo di scena: prima della pubblicazione di RSA, i servizi segreti britannici (GCHQ) avevano già scoperto un algoritmo simile, ma lo mantennero segreto. Il matematico Clifford Cocks è considerato il “padre segreto” di RSA, avendo ideato una versione simile nel 1973.


Perché RSA è Rivoluzionario

Prima di RSA, la crittografia era quasi esclusivamente simmetrica: la stessa chiave veniva usata per cifrare e decifrare. Questo comportava un grosso problema: la distribuzione sicura delle chiavi.

RSA ha introdotto la crittografia asimmetrica, basata su due chiavi:

  • Chiave pubblica: usata per cifrare.
  • Chiave privata: usata per decifrare.

Chiunque può inviare un messaggio cifrato, ma solo il destinatario con la chiave privata può leggerlo.


I Fondamenti Matematici di RSA

RSA si basa su concetti fondamentali della teoria dei numeri, in particolare:

1. Numeri primi grandi

La sicurezza di RSA si fonda sulla difficoltà di fattorizzare grandi numeri. Sia:

  • due numeri primi molto grandi: p e q
  • il loro prodotto: n = p × q

Il numero n fa parte della chiave pubblica, ma recuperare p e q da n è computazionalmente proibitivo.

2. Funzione di Eulero

La funzione di Eulero φ(n) per numeri primi p e q è:

φ(n) = (p - 1)(q - 1)

3. Esponenziazione modulare

  • Si sceglie un esponente pubblico e tale che 1 < e < φ(n) e gcd(e, φ(n)) = 1
  • Si calcola l’inverso modulo di e, cioè d, tale che:
e * d ≡ 1 mod φ(n)

4. Cifratura e decifratura

Per un messaggio M (numerico, con M < n):

  • Cifratura: C = M^e mod n
  • Decifratura: M = C^d mod n

Un Esempio Semplificato

  • p = 61, q = 53
  • n = 61 × 53 = 3233
  • φ(n) = (61-1)(53-1) = 3120

Scegliamo e = 17, che è coprimo con 3120.
Calcoliamo d: l’inverso modulo di 17 mod 3120 è d = 2753

Messaggio: M = 123

  • Cifratura: C = 123^17 mod 3233 = 855
  • Decifratura: M = 855^2753 mod 3233 = 123

Sicurezza e Limiti

La sicurezza di RSA dipende dalla lunghezza delle chiavi. Con chiavi da 2048 bit, la fattorizzazione richiederebbe secoli con i computer attuali. Tuttavia, l’arrivo dei computer quantistici (con l’algoritmo di Shor) minaccia di rendere la fattorizzazione un compito banale.


Applicazioni Pratiche

  • HTTPS: RSA protegge lo scambio di chiavi nei protocolli web sicuri.
  • Firma Digitale: L’autore firma con la chiave privata, il ricevente verifica con la chiave pubblica.
  • Email e VPN: sistemi come PGP usano RSA per garantire riservatezza e autenticazione.

Aneddoti Interessanti

  • Il primo messaggio cifrato con RSA fu il testo: “Ceci n’est pas un message secret.”
  • La scoperta di Clifford Cocks rimase segreta fino al 1997, vent’anni dopo la pubblicazione di RSA.

Conclusione

RSA rappresenta uno degli esempi più brillanti di come la matematica astratta possa rivoluzionare la vita quotidiana. Dalla teoria dei numeri alla sicurezza delle transazioni online, RSA rimane un simbolo dell’eleganza crittografica, anche mentre si avvicina una nuova era quantistica.

Vuoi provare a generare una coppia di chiavi RSA o vedere un’applicazione interattiva? Scrivicelo nei commenti!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *