I sistemi crittografici sono attualmente divisi in due principali campi di studio: crittografia simmetrica e asimmetrica. Sebbene la crittografia simmetrica sia spesso utilizzata come sinonimo di crittografia simmetrica, la crittografia asimmetrica abbraccia due casi d’uso principali: crittografia asimmetrica e firme digitali.
Pertanto, possiamo rappresentare questi gruppi come segue:
Crittografia a chiave simmetrica
Crittografia simmetrica
Crittografia asimmetrica (o crittografia a chiave pubblica)
Crittografia asimmetrica (o crittografia a chiave pubblica)
Firme digitali (potrebbero includere o meno la crittografia)
Questo articolo si concentrerà sugli algoritmi di crittografia simmetrici e asimmetrici.
Crittografia simmetrica e asimmetrica
Gli algoritmi di crittografia sono spesso divisi in due categorie, note come crittografia simmetrica e asimmetrica. La differenza fondamentale tra questi due metodi di crittografia risiede nel fatto che gli algoritmi di crittografia simmetrica utilizzano un'unica chiave, mentre la crittografia asimmetrica utilizza due chiavi diverse ma correlate. Tale distinzione, sebbene apparentemente semplice, spiega le differenze funzionali tra le due forme di tecniche di crittografia e il modo in cui vengono utilizzate.
Comprendere le chiavi di crittografia
Nella crittografia, gli algoritmi di crittografia generano chiavi come una serie di bit utilizzati per crittografare e decrittografare un'informazione. Il modo in cui vengono utilizzate tali chiavi spiega la differenza tra crittografia simmetrica e asimmetrica.
Mentre gli algoritmi di crittografia simmetrica utilizzano la stessa chiave per eseguire entrambe le funzioni di crittografia e decrittografia, un algoritmo di crittografia asimmetrica, al contrario, utilizza una chiave per crittografare i dati e un'altra chiave per decrittografarli. Nei sistemi asimmetrici, la chiave utilizzata per la crittografia è nota come chiave pubblica e può essere liberamente condivisa con altri. D'altra parte, la chiave utilizzata per la decrittazione è la chiave privata e deve essere mantenuta segreta.
Ad esempio, se Alice invia a Bob un messaggio protetto mediante crittografia simmetrica, deve condividere con Bob la stessa chiave utilizzata per la crittografia in modo che possa decrittografare il messaggio. Ciò significa che se un utente malintenzionato intercetta la chiave, può accedere alle informazioni crittografate.
Tuttavia, se Alice utilizza invece uno schema asimmetrico, crittografa il messaggio con la chiave pubblica di Bob, quindi Bob sarà in grado di decrittografarlo con la sua chiave privata. Pertanto, la crittografia asimmetrica offre un livello di sicurezza più elevato perché anche se qualcuno intercetta i suoi messaggi e trova la chiave pubblica di Bob, non è in grado di decrittografare il messaggio.
Lunghezze chiave
Un'altra differenza funzionale tra la crittografia simmetrica e quella asimmetrica è legata alla lunghezza delle chiavi, che sono misurate in bit e sono direttamente correlate al livello di sicurezza fornito da ciascun algoritmo crittografico.
Negli schemi simmetrici, le chiavi vengono selezionate casualmente e la loro lunghezza è solitamente fissata a 128 o 256 bit, a seconda del livello di sicurezza richiesto. Nella crittografia asimmetrica, tuttavia, deve esserci una relazione matematica tra le chiavi pubblica e privata, il che significa che esiste uno schema matematico tra le due. Dato che questo modello può essere potenzialmente sfruttato dagli aggressori per violare la crittografia, le chiavi asimmetriche devono essere molto più lunghe per presentare un livello di sicurezza equivalente. La differenza nella lunghezza della chiave è così pronunciata che una chiave simmetrica da 128 bit e una chiave asimmetrica da 2.048 bit offrono livelli di sicurezza più o meno simili.
Vantaggi e svantaggi
Entrambi i tipi di crittografia presentano vantaggi e svantaggi l'uno rispetto all'altro. Gli algoritmi di crittografia simmetrica sono molto più veloci e richiedono meno potenza di calcolo, ma il loro principale punto debole è la distribuzione delle chiavi. Poiché la stessa chiave viene utilizzata per crittografare e decrittografare le informazioni, tale chiave deve essere distribuita a chiunque abbia bisogno di accedere ai dati, il che naturalmente espone a rischi per la sicurezza (come illustrato in precedenza).
Al contrario, la crittografia asimmetrica risolve il problema della distribuzione delle chiavi utilizzando chiavi pubbliche per la crittografia e chiavi private per la decrittografia. Il compromesso, tuttavia, è che i sistemi di crittografia asimmetrici sono molto lenti rispetto ai sistemi simmetrici e richiedono molta più potenza di calcolo a causa della lunghezza delle chiavi notevolmente più lunga.
Casi d'uso
Crittografia simmetrica
A causa della sua maggiore velocità, la crittografia simmetrica è ampiamente utilizzata per proteggere i dati in molti sistemi informatici moderni. Ad esempio, l'Advanced Encryption Standard (AES) viene utilizzato dal governo degli Stati Uniti per crittografare informazioni riservate e riservate. L'AES ha sostituito il precedente Data Encryption Standard (DES), sviluppato negli anni '70 come standard per la crittografia simmetrica.
Crittografia asimmetrica
La crittografia asimmetrica può essere applicata a sistemi in cui molti utenti potrebbero aver bisogno di crittografare e decrittografare un messaggio o un insieme di dati, soprattutto quando la velocità e la potenza di calcolo non sono le preoccupazioni principali. Un esempio di tale sistema è la posta elettronica crittografata, in cui è possibile utilizzare una chiave pubblica per crittografare un messaggio e una chiave privata per decrittografarlo.
Sistemi ibridi
In molte applicazioni, la crittografia simmetrica e asimmetrica viene utilizzata insieme. Esempi tipici di tali sistemi ibridi sono i protocolli crittografici Security Sockets Layer (SSL) e Transport Layer Security (TLS), progettati per fornire comunicazioni sicure all'interno di Internet. I protocolli SSL sono ormai considerati non sicuri e il loro utilizzo dovrebbe essere interrotto. Al contrario, i protocolli TLS sono considerati sicuri e sono stati ampiamente utilizzati da tutti i principali browser web.
Le criptovalute utilizzano la crittografia?
Le tecniche di crittografia vengono utilizzate in molti portafogli di criptovalute come un modo per fornire maggiori livelli di sicurezza agli utenti finali. Gli algoritmi di crittografia vengono applicati, ad esempio, quando gli utenti impostano una password per i loro portafogli crittografici, il che significa che il file utilizzato per accedere al software è stato crittografato.
Tuttavia, poiché Bitcoin e altre criptovalute utilizzano coppie di chiavi pubbliche-private, esiste un malinteso comune secondo cui i sistemi blockchain utilizzano algoritmi di crittografia asimmetrici. Come notato in precedenza, tuttavia, la crittografia asimmetrica e le firme digitali sono due principali casi d’uso della crittografia asimmetrica (crittografia a chiave pubblica).
Pertanto non tutti i sistemi di firma digitale si avvalgono di tecniche di crittografia, anche se presentano una chiave pubblica ed una privata. Infatti, un messaggio può essere firmato digitalmente senza essere crittografato. L'RSA è un esempio di algoritmo che può essere utilizzato per firmare messaggi crittografati, ma l'algoritmo di firma digitale utilizzato da Bitcoin (denominato ECDSA) non utilizza affatto la crittografia.
Pensieri conclusivi
Sia la crittografia simmetrica che quella asimmetrica svolgono un ruolo importante nel mantenere sicure le informazioni e le comunicazioni sensibili nel mondo odierno dipendente dal digitale. Sebbene entrambi possano essere utili, ciascuno presenta vantaggi e svantaggi e quindi viene utilizzato in applicazioni diverse. Poiché la scienza della crittografia continua ad evolversi per difendersi dalle minacce più nuove e più sofisticate, sia i sistemi crittografici simmetrici che quelli asimmetrici rimarranno probabilmente rilevanti per la sicurezza informatica.

