🔑 Crittografia

Crittografia simmetrica e asimmetrica: differenze e usi

Chiave condivisa o coppia di chiavi? Come funzionano crittografia simmetrica e asimmetrica, pregi, limiti e perché i sistemi reali le usano insieme.

Quando si parla di cifratura, la prima distinzione da fare è tra crittografia simmetrica e asimmetrica. Non sono due alternative in concorrenza: risolvono problemi diversi e quasi tutti i sistemi che usi ogni giorno le combinano. Capire il ruolo di ciascuna è il primo passo per orientarsi in qualsiasi discorso sulla sicurezza dei dati.

La crittografia simmetrica: una sola chiave

Nella crittografia simmetrica la stessa chiave serve sia per cifrare sia per decifrare. È come una cassaforte con una combinazione: chi la conosce può chiudere e aprire.

Gli algoritmi simmetrici moderni, come AES o ChaCha20, hanno tre caratteristiche importanti:

  • sono molto veloci: un processore attuale cifra gigabyte di dati al secondo, spesso con istruzioni hardware dedicate;
  • usano chiavi corte: 128 o 256 bit sono sufficienti per una sicurezza a lungo termine;
  • producono un testo cifrato di dimensioni simili all'originale, con un piccolo sovraccarico.

Per questo la cifratura simmetrica è ovunque: dischi cifrati, archivi protetti, traffico di rete, backup.

Il problema della distribuzione

Il limite è uno solo, ma enorme: come fai ad avere la stessa chiave del tuo interlocutore senza che nessun altro la intercetti? Se devi comunicare con un sito web che non hai mai visitato, non puoi incontrarti con il gestore per scambiare la chiave a voce. E se comunichi con cento persone diverse ti servono cento chiavi diverse, ognuna da custodire.

La crittografia asimmetrica: una coppia di chiavi

La crittografia asimmetrica, detta anche a chiave pubblica, usa due chiavi legate matematicamente:

  • una chiave pubblica, che puoi distribuire liberamente;
  • una chiave privata, che deve restare solo tua.

Ciò che viene cifrato con la chiave pubblica può essere decifrato solo con la corrispondente chiave privata. L'analogia classica è il lucchetto aperto: lo puoi regalare a chiunque, chiunque può chiudere una scatola con quel lucchetto, ma solo tu hai la chiave per riaprirla.

La stessa coppia permette anche l'operazione inversa, cioè la firma digitale: con la chiave privata produci una firma che chiunque può verificare usando la tua chiave pubblica. In questo modo si dimostra l'origine e l'integrità di un messaggio.

Gli algoritmi asimmetrici più noti sono RSA e quelli basati su curve ellittiche, come ECDH per lo scambio di chiavi ed Ed25519 o ECDSA per le firme.

I limiti dell'asimmetrica

La crittografia a chiave pubblica ha un prezzo:

  • è molto più lenta della simmetrica, anche di diversi ordini di grandezza;
  • richiede chiavi più lunghe a parità di sicurezza (per RSA si usano tipicamente 2048 o 3072 bit);
  • in alcuni schemi può cifrare direttamente solo piccole quantità di dati.

C'è poi un problema nuovo: come sai che una chiave pubblica appartiene davvero a chi dice di esserne il titolare? Qui entrano in gioco certificati e autorità di certificazione.

Un confronto diretto

Aspetto Simmetrica Asimmetrica
Chiavi Una, condivisa Coppia pubblica/privata
Velocità Molto alta Bassa
Lunghezza tipica della chiave 128-256 bit 2048-3072 bit (RSA), 256 bit (curve ellittiche)
Problema principale Distribuire la chiave Verificare l'identità della chiave pubblica
Usi tipici Cifrare grandi volumi di dati Scambio di chiavi, firme digitali

La soluzione reale: la cifratura ibrida

I sistemi concreti usano entrambe, ciascuna per ciò che sa fare meglio. Lo schema si chiama cifratura ibrida e funziona così:

  1. si genera una chiave simmetrica casuale, detta chiave di sessione;
  2. i dati veri e propri vengono cifrati con questa chiave, in modo rapido;
  3. la chiave di sessione viene protetta con la crittografia asimmetrica, cifrandola con la chiave pubblica del destinatario oppure concordandola con uno scambio di chiavi;
  4. il destinatario recupera la chiave di sessione con la sua chiave privata e decifra i dati.

Quando apri un sito in HTTPS succede qualcosa di molto simile: la parte asimmetrica serve a stabilire un segreto condiviso e ad autenticare il server, poi tutto il traffico viaggia con cifratura simmetrica. Lo stesso principio vale per le email cifrate con PGP e per le app di messaggistica con cifratura end-to-end.

Un esempio concreto

Immagina di voler inviare a un collega un archivio di 2 GB. Cifrarlo interamente con RSA sarebbe lentissimo e tecnicamente scomodo. Con lo schema ibrido il programma genera una chiave AES, cifra l'archivio in pochi secondi, poi cifra soltanto quei 32 byte di chiave con la chiave pubblica del collega. Al destinatario arrivano l'archivio cifrato e la piccola busta contenente la chiave: solo lui può aprire la busta e quindi l'archivio.

Quale delle due è "più sicura"?

La domanda è mal posta. Entrambe, usate con algoritmi moderni e chiavi adeguate, offrono una sicurezza che oggi non è attaccabile con la forza bruta. I problemi reali nascono quasi sempre altrove: chiavi private custodite male, password deboli usate per proteggere le chiavi, implementazioni scritte in casa, certificati non verificati. Scegliere tra simmetrica e asimmetrica non è una questione di robustezza, ma di quale problema devi risolvere.

In sintesi

  • La crittografia simmetrica usa una sola chiave condivisa ed è velocissima, ma pone il problema di come distribuirla.
  • La crittografia asimmetrica usa una coppia di chiavi e risolve la distribuzione, ma è lenta e richiede di verificare a chi appartiene la chiave pubblica.
  • Le firme digitali sono un'applicazione della crittografia asimmetrica.
  • I sistemi reali, da HTTPS a PGP, usano la cifratura ibrida: asimmetrica per le chiavi, simmetrica per i dati.
MM
Marco Marzaduri

Marco Marzaduri si occupa di cybersecurity, informatica forense e sviluppo web. Laureato in informatica, unisce il rigore dell'analisi tecnica all'attenzione per le persone che usano la tecnologia.

Leggi anche