I sistemi crittografici vengono spesso divisi in due grandi categorie: crittografia simmetrica e asimmetrica. Mentre la cifratura simmetrica viene usata in genere come sinonimo di crittografia simmetrica, la crittografia asimmetrica presenta due casi d’uso primari: cifratura asimmetrica e firme digitali.
Quindi, possiamo rappresentare questi gruppi come segue:
Cifratura simmetrica
- Crittografia asimmetrica (o crittografia a chiave pubblica)
Cifratura asimmetrica (o cifratura a chiave pubblica)
Firme digitali (possono includere la cifratura)
Questo articolo si concentrerà sugli algoritmi di cifratura simmetrica e asimmetrica.
Cifratura simmetrica vs. asimmetrica
Gli algoritmi di cifratura sono spesso divisi in due categorie, conosciute come cifratura simmetrica e asimmetrica. La differenza fondamentale tra questi due metodi di cifratura sta nel fatto che gli algoritmi di cifratura simmetrica utilizzano una chiave singola, mentre la cifratura asimmetrica utilizza due chiavi differenti ma correlate. Questa distinzione, anche se in apparenza semplice, spiega le differenza funzionale tra le due forme crittografiche e i modi in cui vengono usate.
Comprendere le chiavi di cifratura
Per esempio, se Alice invia a Bob un messaggio protetto da cifratura simmetrica, deve condividere con Bob la stessa chiave che ha usato nella codifica per permettergli di decifrare il messaggio. Questo significa che se un malintenzionato intercetta la chiave, potrà accedere alle informazioni cifrate.
Invece, se Alice usa uno schema asimmetrico, codifica il messaggio con la chiave pubblica di Bob, così Bob potrà decifrarlo con la sua chiave privata. Quindi, la cifratura asimmetrica offre un livello di sicurezza superiore in quanto, se i messaggi vengono intercettati e con essi la chiave pubblica di Bob, non sarà comunque possibile decifrare il messaggio.
Lunghezza delle chiavi
Un’altra differenza funzionale tra la cifratura simmetrica e quella asimmetrica riguarda la lunghezza delle chiavi, misurata in bit e direttamente correlata al livello di sicurezza fornito da ciascun algoritmo crittografico.
Negli schemi simmetrici, le chiavi vengono selezionate casualmente, e le loro lunghezze sono in genere impostate a 128 o 256 bit, a seconda del livello di sicurezza richiesto. Nella cifratura asimmetrica, invece, deve esserci una relazione matematica tra la chiave pubblica e quella privata, quindi esiste uno schema matematico tra le due. Dato che questo schema potrebbe potenzialmente essere sfruttato da hacker per forzare la cifratura, le chiavi asimmetriche devono essere molto più lunghe per raggiungere un livello di sicurezza equivalente. La differenza nella lunghezza delle chiavi è tale che una chiave simmetrica a 128 bit e una chiave asimmetrica a 2,048 bit offrono all’incirca gli stessi livelli di sicurezza.
Vantaggi e svantaggi
Invece, la cifratura asimmetrica risolve il problema della distribuzione della chiave usando chiavi pubbliche per la codifica e chiavi private per la decodifica. Il compromesso, però, sta nel fatto che i sistemi a cifratura asimmetrica sono molto più lenti rispetto ai sistemi simmetrici e richiedono una potenza di calcolo molto maggiore a causa delle chiavi più lunghe.
Casi d’uso
Cifratura simmetrica
Data la sua maggior velocità, la cifratura simmetrica viene usata ampiamente per proteggere informazioni in molti sistemi informatici moderni. Per esempio l’Advanced Encryption Standard (AES), viene usato dal governo degli Stati Uniti d’America per cifrare informazioni classificate e sensibili. L’AES ha sostituito il precedente Data Encryption Standard (DES), sviluppato negli anni 70 come lo standard per la cifratura simmetrica.
Cifratura asimmetrica
La cifratura asimmetrica può essere applicata a sistemi in cui molti utenti potrebbero dover cifrare e decifrare un messaggio o un set di dati, soprattutto quando velocità e potenza di calcolo non sono grandi problemi. Un esempio di un tale sistema sono le email criptate, che possono essere decifrate usando una chiave privata.
Sistemi ibridi
In diverse applicazioni, la cifratura simmetrica e quella asimmetrica vengono usate insieme. Esempi tipici di questi sistemi ibridi sono i protocolli crittografici Security Sockets Layer (SSL) e il Transport Layer Security (TLS), progettati per garantire la comunicazione sicura all’interno di Internet. I protocolli SSL sono ora considerati poco sicuri e il loro uso dovrebbe essere interrotto. Al contrario, i protocolli TLS sono giudicati sicuri e vengono utilizzati estensivamente da tutti i maggiori browser per il web.
Le criptovalute usano la cifratura?
Diversi wallet di criptovalute utilizzato tecniche di cifratura per fornire maggiori livelli di sicurezza agli utenti. Gli algoritmi di cifratura vengono applicati, per esempio, quando gli utenti impostano una password per i propri wallet, ovvero il file usato per accedere al software è stato criptato.
Quindi, non tutti i sistemi con firme digitali utilizzano tecniche di cifratura, anche se impiegano una chiave pubblica e una privata. Infatti, un messaggio può essere firmato digitalmente senza essere cifrato. Un esempio è l’RSA, un algoritmo che può essere usato per firmare messaggi cifrati, ma l’algoritmo per la firma digitale usato da Bitcoin (chiamato ECDSA) non utilizza per niente la cifratura.
In chiusura
Sia la cifratura simmetrica che quella asimmetrica giocano ruoli importanti nella protezione di comunicazioni e informazioni sensibili nel mondo dipendente dal digitale di oggi. Anche se entrambe possono essere utili, ciascuna presenta i propri vantaggi e svantaggi e viene quindi usata per diverse applicazioni. Man mano che la scienza della crittografia continua ad evolversi per far fronte a nuove minacce sempre più sofisticate, è probabile che i sistemi crittografici simmetrici e asimmetrici rimarranno rilevanti per la sicurezza informatica.