La crittografia a chiave simmetrica (o Symmetric encryption) è un tipo di schema di crittografia in cui la stessa chiave viene utilizzata sia per crittografare che decrittografare i messaggi. Tale metodo di codifica delle informazioni è stato ampiamente utilizzato negli ultimi decenni per facilitare la comunicazione segreta tra governi e militari. Al giorno d’oggi, gli algoritmi a chiave simmetrica sono ampiamente applicati in vari tipi di sistemi informatici per migliorare la sicurezza dei dati.
Come funziona la crittografia simmetrica?,
Gli schemi di crittografia simmetrica si basano su una singola chiave condivisa tra due o più utenti. La stessa chiave viene utilizzata per crittografare e decifrare il cosiddetto testo in chiaro (che rappresenta il messaggio o il pezzo di dati che viene codificato). Il processo di crittografia consiste nell’esecuzione di un testo in chiaro (input) attraverso un algoritmo di crittografia chiamato cifrario, che a sua volta genera un testo cifrato (output).
Se lo schema di crittografia è abbastanza forte, l’unico modo per una persona di leggere o accedere alle informazioni contenute nel testo cifrato è utilizzando la chiave corrispondente per decifrarlo., Il processo di decrittografia è fondamentalmente la conversione del testo cifrato in testo in chiaro.
La sicurezza dei sistemi di crittografia simmetrica si basa su quanto sia difficile indovinare casualmente la chiave corrispondente per forzarli brute. Una chiave a 128 bit, ad esempio, richiederebbe miliardi di anni per indovinare utilizzando l’hardware del computer comune. Più lunga è la chiave di crittografia, più diventa difficile decifrarla. Le chiavi che hanno una lunghezza di 256 bit sono generalmente considerate altamente sicure e teoricamente resistenti agli attacchi di forza bruta del computer quantistico.,
Due degli schemi di crittografia simmetrica più comuni utilizzati oggi sono basati su cifrari a blocchi e stream. I cifrari a blocchi raggruppano i dati in blocchi di dimensioni predeterminate e ogni blocco viene crittografato utilizzando la chiave e l’algoritmo di crittografia corrispondenti (ad esempio, il testo in chiaro a 128 bit viene crittografato in testo cifrato a 128 bit). D’altra parte, i cifrari di flusso non crittografano i dati in chiaro con blocchi, ma piuttosto con incrementi di 1 bit (il testo in chiaro a 1 bit viene crittografato in testo cifrato a 1 bit alla volta).
Simmetrica vs., crittografia asimmetrica
La crittografia simmetrica è uno dei due principali metodi di crittografia dei dati nei moderni sistemi informatici. L’altro è la crittografia asimmetrica, che è la principale applicazione della crittografia a chiave pubblica. La principale differenza tra questi metodi è il fatto che i sistemi asimmetrici utilizzano due chiavi piuttosto che quella impiegata dagli schemi simmetrici. Una delle chiavi può essere condivisa pubblicamente (chiave pubblica), mentre l’altra deve essere mantenuta in privato (chiave privata).,
L’uso di due chiavi invece di una produce anche una varietà di differenze funzionali tra crittografia simmetrica e asimmetrica. Gli algoritmi asimmetrici sono più complessi e più lenti di quelli simmetrici. Poiché le chiavi pubbliche e private utilizzate nella crittografia asimmetrica sono in una certa misura matematicamente correlate, le chiavi stesse devono anche essere considerevolmente più lunghe per fornire un livello di sicurezza simile offerto da chiavi simmetriche più corte.,
Usi nei moderni sistemi informatici
Algoritmi di crittografia simmetrica sono impiegati in molti sistemi informatici moderni per migliorare la sicurezza dei dati e la privacy degli utenti. L’Advanced Encryption Standard (AES), ampiamente utilizzato sia nelle applicazioni di messaggistica sicura che nello storage cloud, è un esempio importante di cifratura simmetrica.
Oltre alle implementazioni software, AES può anche essere implementato direttamente nell’hardware del computer., Gli schemi di crittografia simmetrica basati su hardware di solito sfruttano l’AES 256, che è una variante specifica dello standard di crittografia avanzata che ha una dimensione della chiave di 256 bit.
Vale la pena notare che la blockchain di Bitcoin non fa uso della crittografia come molti tendono a credere. Invece, utilizza un tipo specifico di algoritmo di firme digitali (DSA) noto come Elliptic Curve Digital Signature Algorithm (ECDSA) che genera firme digitali senza utilizzare la crittografia.,
Un punto comune di confusione è che l’ECDSA si basa sulla crittografia a curva ellittica (ECC), che a sua volta può essere applicata per più attività, tra cui crittografia, firme digitali e generatori pseudo-casuali. Tuttavia, l’ECDSA stesso non può essere utilizzato per la crittografia a tutti.
Vantaggi e svantaggi
Gli algoritmi simmetrici forniscono un livello abbastanza elevato di sicurezza e allo stesso tempo consentono di crittografare e decrittografare rapidamente i messaggi., La relativa semplicità dei sistemi simmetrici è anche un vantaggio logistico, in quanto richiedono meno potenza di calcolo rispetto a quelli asimmetrici. Inoltre, la sicurezza fornita dalla crittografia simmetrica può essere ridimensionata semplicemente aumentando le lunghezze delle chiavi. Per ogni singolo bit aggiunto alla lunghezza di una chiave simmetrica, la difficoltà di cracking della crittografia attraverso un attacco di forza bruta aumenta esponenzialmente.,
Mentre la crittografia simmetrica offre una vasta gamma di vantaggi, c’è uno svantaggio principale ad esso associato: il problema intrinseco della trasmissione delle chiavi utilizzate per crittografare e decrittografare i dati. Quando queste chiavi sono condivise su una connessione non protetta, sono vulnerabili a essere intercettati da terze parti malevoli. Se un utente non autorizzato ottiene l’accesso a una particolare chiave simmetrica, la sicurezza di tutti i dati crittografati utilizzando tale chiave è compromessa. Per risolvere questo problema, molti protocolli web utilizzano una combinazione di crittografia simmetrica e asimmetrica per stabilire connessioni sicure., Tra gli esempi più importanti di tale sistema ibrido c’è il protocollo crittografico Transport Layer Security (TLS) utilizzato per proteggere grandi porzioni di Internet moderno.
Va anche notato che tutti i tipi di crittografia del computer sono soggetti a vulnerabilità a causa di un’implementazione impropria. Mentre una chiave sufficientemente lunga può rendere matematicamente impossibile un attacco di forza bruta, gli errori di implementazione fatti dai programmatori spesso creano punti deboli che aprono la strada agli attacchi informatici.,
Pensieri di chiusura
Grazie alla sua relativa velocità, semplicità e sicurezza, la crittografia simmetrica è ampiamente utilizzata in applicazioni che vanno dalla protezione del traffico Internet alla protezione dei dati memorizzati sui server cloud. Sebbene sia spesso associato alla crittografia asimmetrica per risolvere il problema del trasferimento sicuro delle chiavi, gli schemi di crittografia simmetrica rimangono una componente critica della moderna sicurezza informatica.