È fondamentalmente una stretta di mano segreta per le macchine.
Proprio come due generali spartani avevano bisogno dello stesso codice per scambiarsi i movimenti delle truppe senza che il nemico decodificasse i loro piani, i computer che utilizzano la crittografia a chiave simmetrica si basano su un segreto condiviso. La regola è semplice: se si vogliono inviare dati criptati, sia il mittente che il destinatario devono possedere la stessa chiave. Non puoi semplicemente trasmettere una chiave pubblica e sperare per il meglio qui. È un circuito chiuso.
Devi sapere esattamente quali dispositivi comunicano tra loro prima di poter installare la chiave su entrambe le estremità. È un segreto pre-condiviso. Pensalo come un gioco d’infanzia in cui hai concordato che “A” diventa “C” e “B” diventa “D”. Se il tuo amico ha lo stesso foglio di regole (“Sposta di 2”), può leggere la tua nota. Se uno sconosciuto intercetta il pacchetto, vede solo cose senza senso.
I computer lo fanno su larga scala, ma i “codici” non sono affatto carini quanto lo spostamento delle lettere dell’alfabeto.
Il primo grande algoritmo a raggiungere lo standard statunitense è stato il Data Encryption Standard (DES). È uscito negli anni ’70. La lunghezza della chiave? Solo 56 bit. Allora mi sentivo sicuro. Oggi è ridicolo.
Perché? Perché alla Legge di Moore non interessa la tua crittografia.
Una chiave a 56 bit offre 72 quadrilioni di combinazioni possibili. Sembra molto finché non ti rendi conto che l’hardware moderno può provare queste combinazioni in attacchi di forza bruta in una frazione del tempo necessario per preparare il caffè. DES è effettivamente rotto. È stato sostituito dall’Advanced Encryption Standard (AES), che è quello che probabilmente stai utilizzando in questo momento.
AES utilizza chiavi da 128, 192 o 256 bit. I conti diventano astronomici. Una singola chiave a 128 bit ha più combinazioni di quanti siano i granelli di sabbia su ogni spiaggia della Terra. La maggior parte degli esperti concorda che AES resisterà per molto, molto tempo. Non è solo una questione di numeri, però. Riguarda l’architettura.
Dai un’occhiata a come funziona la sostituzione della vecchia scuola. Giulio Cesare usò un trucco simile. Non si è spostato di due. Si è spostato di tre. Per scrivere “ATTRAVERSANDO IL RUBICON”, scarabocchiava “FURVV LQJWK HUXEL FRQ”. Ha anche suddiviso le parole in gruppi pari per nascondere la lunghezza delle parole. Era intelligente per l’epoca. Ma non è una crittografia a chiave simmetrica nel senso moderno. È solo un codice di sostituzione. Ed è banale risolverlo con l’analisi di frequenza.
La crittografia a chiave simmetrica è diversa. Non si tratta solo di scambiare lettere. È un processo matematico che codifica l’intero pacchetto di dati. La chiave determina la permutazione. Senza quella chiave specifica, i dati rimangono bloccati.
Ma c’è un problema.
Il problema più grande con i sistemi a chiave simmetrica non è la crittografia in sé. È la distribuzione chiave. Come si ottiene la chiave segreta dell’altro computer in modo sicuro? Se invii la chiave in formato testo, hai già fallito. Se utilizzi un canale pubblico, la chiave può essere intercettata. Questo è il motivo per cui esiste la crittografia asimmetrica: per risolvere il problema dello scambio di chiavi. Ma per il trasferimento dei dati vero e proprio? Il simmetrico è ancora il re. È più veloce. È più leggero. Non richiede il pesante lavoro computazionale della crittografia a chiave pubblica.
Quindi usi entrambi. Asimmetrico per scambiare la chiave simmetrica. Simmetrico per inviare il carico utile effettivo.
È un approccio ibrido. Efficiente. Sicuro. Standard.
Ma non invincibile.
Nuovi attacchi emergono costantemente. L’informatica quantistica si profila all’orizzonte e promette di infrangere gli standard attuali risolvendo in pochi secondi problemi di fattorizzazione di numeri interi e logaritmi discreti. Stiamo già lavorando su algoritmi post-quantistici. Ma per ora? AES 256 bit è il gold standard. È robusto. È ampiamente adottato. Funziona.





























