La crittografia RSA è uno dei sistemi a chiave pubblica più utilizzati al mondo per proteggere comunicazioni, dati e file. È alla base di protocolli come HTTPS, email cifrate, firme digitali e molti sistemi di autenticazione.
In un sistema a chiave pubblica ogni utente possiede una coppia di chiavi:
Chiunque può inviare un messaggio cifrato usando la chiave pubblica del destinatario, ma solo il destinatario, con la sua chiave privata, può leggerlo.
RSA si basa su un principio matematico semplice da usare ma difficile da violare: la difficoltà di fattorizzare grandi numeri.
p e q.n = p × q, che diventa parte della chiave pubblica.e e si calcola un esponente segreto d.
Per cifrare un messaggio (convertito in numero) si applica una potenza modulo n con
l'esponente e. Per decifrare si usa l'esponente d.
Senza conoscere d è praticamente impossibile invertire l'operazione.
n, trovare i
fattori primi p e q è un problema computazionalmente molto difficile.
n = p × q, ma
estremamente difficile risalire a p e q partendo da n.
In pratica, un attaccante dovrebbe riuscire a fattorizzare numeri enormi o indovinare la chiave privata: entrambe le operazioni sono considerate infeasible con la tecnologia attuale, se le chiavi sono generate correttamente e hanno una lunghezza adeguata.
Grazie a queste proprietà, RSA è uno dei pilastri della sicurezza nelle comunicazioni digitali moderne.