I sistemi crittografici sono attualmente divisi in due principali aree di studio: crittografia simmetrica e asimmetrica. La crittografia asimmetrica ha due casi d'uso: 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 (possono includere o meno la crittografia)
Questo articolo si concentrerà sugli algoritmi di crittografia simmetrica e asimmetrica.
Crittografia simmetrica e crittografia asimmetrica
Gli algoritmi di crittografia sono spesso suddivisi in due categorie, che sono la crittografia simmetrica e asimmetrica. La differenza fondamentale tra questi due metodi di crittografia è che gli algoritmi di crittografia simmetrica utilizzano una sola chiave, mentre la crittografia asimmetrica utilizza due chiavi diverse ma collegate. Anche se questa differenza sembra semplice, spiega le differenze funzionali tra due forme di tecniche di crittografia e i metodi utilizzati.
Comprendere le chiavi di crittografia
Gli algoritmi di crittografia generano chiavi come una serie di bit che vengono utilizzate per crittografare e decrittografare una parte di informazioni, ed è il modo in cui queste chiavi vengono utilizzate per calcolare la differenza tra crittografia simmetrica e asimmetrica.
Mentre gli algoritmi di crittografia simmetrica utilizzano la stessa chiave per eseguire sia la crittografia che la decrittografia, l'algoritmo di crittografia asimmetrica utilizza, al contrario, una chiave per crittografare i dati e un'altra chiave per decrittografarli. Nei sistemi asimmetrici, la chiave utilizzata per la crittografia è chiamata chiave pubblica e può essere condivisa liberamente con altri. D'altra parte, la chiave utilizzata per la decrittografia è la chiave privata e non deve essere condivisa e deve rimanere segreta.
Ad esempio, se Alice invia un messaggio a Bob protetto da crittografia simmetrica, deve condividere la stessa chiave che ha usato per crittografare con Bob affinché possa decrittografare il messaggio. Ciò significa che se un attaccante esterno malevolo riesce ad accedere alla chiave, potrà accedere alle informazioni crittografate.
Ma se Alice utilizza la crittografia asimmetrica invece, crittograferà il messaggio utilizzando la chiave pubblica di Bob e Bob sarà in grado di decrittografarlo utilizzando la sua chiave privata, fornendo così un livello più elevato di sicurezza perché anche se qualcuno intercetta i suoi messaggi e trova la chiave pubblica di Bob, non sarà in grado di decrittografare il messaggio o comprenderne il contenuto.
Lunghezza della chiave
C'è un'altra differenza funzionale tra crittografia simmetrica e asimmetrica legata alla lunghezza delle chiavi, che è misurata in bit e correlata direttamente al livello di sicurezza fornito da ciascun algoritmo di crittografia.
Nei metodi di crittografia simmetrica, le chiavi vengono scelte in modo casuale e di solito le loro lunghezze sono impostate a 128 o 256 bit, a seconda del livello di sicurezza richiesto. Nella crittografia asimmetrica, deve esserci una relazione matematica tra le chiavi pubbliche e private, il che significa che c'è uno schema matematico tra le due. E poiché è probabile che gli aggressori sfruttino questo schema per rompere la crittografia, le chiavi asimmetriche devono essere molto più lunghe per fornire un livello equivalente di sicurezza. La differenza nella lunghezza della chiave è tale che una chiave simmetrica da 128 bit e una chiave asimmetrica da 2048 bit offrono livelli di sicurezza simili.
Vantaggi e svantaggi
Entrambi i tipi di crittografia hanno vantaggi e svantaggi che si avvicinano l'uno all'altro. Gli algoritmi di crittografia simmetrica sono molto più veloci e richiedono meno potenza di calcolo, ma il loro principale svantaggio è la distribuzione delle chiavi. Poiché viene utilizzata la stessa chiave per crittografare e decrittografare le informazioni, questa chiave deve essere distribuita a chiunque abbia bisogno di accedere ai dati, il che apre inevitabilmente rischi per la sicurezza (come già spiegato).
Al contrario, la crittografia asimmetrica risolve il problema della distribuzione delle chiavi utilizzando chiavi pubbliche per crittografare e chiavi private per decrittografare. Tuttavia, i sistemi di crittografia asimmetrica sono estremamente lenti rispetto ai sistemi simmetrici e richiedono molta più potenza di calcolo a causa delle loro lunghezze chiave molto lunghe.
Casi d'uso
Crittografia simmetrica
La crittografia simmetrica è ampiamente utilizzata per proteggere le informazioni in molti sistemi informatici moderni a causa della sua elevata velocità. Ad esempio, lo standard di crittografia avanzata (AES) è utilizzato dal governo degli Stati Uniti per crittografare informazioni classificate e sensibili. Il sistema AES ha sostituito lo standard di crittografia dei dati (DES) che era stato 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, specialmente quando la velocità e la potenza di calcolo non sono richieste. Un esempio di questo sistema è l'email crittografata in cui si può utilizzare una chiave pubblica per crittografare un messaggio e un'altra chiave privata per decrittografarlo.
Sistemi ibridi
La crittografia simmetrica e asimmetrica viene utilizzata insieme in molte applicazioni. Gli esempi tipici di questi sistemi misti sono i protocolli di crittografia Security Sockets Layer (SSL) e Transport Layer Security (TLS) progettati per fornire una connessione sicura su Internet. I protocolli SSL sono ora considerati non sicuri e dovrebbero essere dismessi. Mentre 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 mezzo per fornire livelli più elevati di sicurezza per gli utenti finali. Ad esempio, vengono applicati algoritmi di crittografia quando gli utenti impostano una password per i portafogli di criptovalute, il che significa che il file utilizzato per accedere al portafoglio è stato crittografato.
Tuttavia, a causa del fatto che Bitcoin e altre criptovalute utilizzano coppie di chiavi pubbliche e private, c'è un malinteso comune che i sistemi blockchain utilizzino algoritmi di crittografia asimmetrica. Anche se la crittografia asimmetrica e le firme digitali sono due casi principali di utilizzo per la crittografia asimmetrica (crittografia a chiave pubblica) come abbiamo già menzionato.
Pertanto, non tutti i sistemi di firma digitale utilizzano tecniche di crittografia anche se forniscono chiavi pubbliche e private. In effetti, è possibile firmare un messaggio digitalmente senza crittografarlo. RSA è uno degli esempi di algoritmo che può essere utilizzato per firmare messaggi crittografati. Tuttavia, l'algoritmo di firma digitale utilizzato da Bitcoin (chiamato ECDSA) non utilizza affatto la crittografia.
Conclusioni
Sia la crittografia simmetrica che quella asimmetrica svolgono ruoli importanti nel mantenere la sicurezza delle informazioni e delle comunicazioni sensibili nel mondo digitale di oggi. Anche se entrambe possono essere utili, presentano caratteristiche e svantaggi specifici e quindi vengono utilizzate in applicazioni e utilizzi diversi. Con l'evoluzione continua della crittografia per proteggere dalle minacce più recenti e sofisticate, è probabile che i sistemi di crittografia simmetrica e asimmetrica rimangano associati alla sicurezza informatica.

