In questo articolo analizziamo quali sono le principali differenze tra crittografia simmetrica e asimmetrica (dette anche crittografia a chiave privata e crittografia a chiave pubblica/privata), per quanto riguarda in particolare la firma digitale.
Crittografia simmetrica
Il processo di crittografia simmetrica è caratterizzato dall’uso di una stessa chiave crittografica, condivisa sia per l’operazione di cifratura che per quella di decifratura.
Negli schemi di cifratura simmetrica, la sicurezza del processo dipende dalla lunghezza della chiave usata e dalla capacità di tenerla segreta.
La lunghezza della chiave è fondamentale per valutare la robustezza dello schema usato, insieme alla resistenza dell’algoritmo a eventuali attacchi di criptoanalisi.
Nei processi di crittografia simmetrica è possibile usare chiavi crittografiche che hanno la stessa lunghezza del messaggio da cifrare, circostanza che rende il messaggio cifrato estremamente sicuro.
Criticità e svantaggi della cifratura simmetrica
La criticità principale della crittografia simmetrica è rappresentata dalla necessità di doversi scambiare le chiavi in maniera sicura.
Nei processi completamente informatizzati questo scambio di solito avviene ricorrendo alla crittografia asimmetrica (ad esempio, tramite algoritmo di Diffie-Hellmann). Un altro metodo consiste nell’incapsulamento di una chiave in un’altra, ovvero generando una chiave master che viene scambiata attraverso un canale sicuro: le chiavi di cifratura sono quindi cifrate con la chiave master e scambiate.
Tra gli algoritmi di crittografia simmetrica più popolari ci sono: DES, Triple-DES (3DES), IDEA, CAST5, BLOWFISH, TWOFISH.
Crittografia asimmetrica
La crittografia asimmetrica, anche nota come crittografia a chiave pubblica/privata, è un tipo di crittografia in cui a ogni entità è associata una coppia di chiavi:
- una chiave pubblica, accessibile a tutti quelli che devono scambiare informazioni con l’entità proprietaria;
- una chiave privata, custodita e tenuta segreta dal legittimo proprietario.
In un processo di crittografia asimmetrica, ogni messaggio crittografato con una chiave privata può essere decifrato solo usando la chiave pubblica corrispondente. Il processo, quindi, svincola l’utente dalla necessità di scambiare le chiavi prima di ogni comunicazione.
Nei processi di crittografia a chiave pubblica non bisogna preoccuparsi dello scambio delle chiavi: gli algoritmi usati non consentono di risalire alla chiave privata partendo dalla chiave pubblica.
Quando si usa la crittografia asimmetrica
Gli usi principali della crittografia asimmetrica sono:
1) invio di un messaggio cifrato a un destinatario. Il mittente cifra il messaggio con la chiave pubblica del destinatario, che sarà quindi l’unico a poter decifrare il messaggio usando la sua chiave privata;
2) Non ripudiabilità del messaggio. Il proprietario della chiave privata cifra il messaggio con la sua chiave privata; chiunque abbia accesso alla chiave pubblica del firmatario potrà usarla per decifrare il messaggio ed essere certo della sua autenticità.
La crittografia asimmetrica si usa in molti ambiti, tra cui la firma digitale, la verifica dell’autenticità di un documento, la verifica dell’integrità del messaggio, l’informativa del messaggio, oppure la protezione dello scambio delle chiavi simmetriche durante la procedura di scambio tra due entità.
Confronto caratteristiche crittografia simmetrica e asimmetrica
Ecco, in sintesi, quali sono le principali caratteristiche e differenze tra crittografia simmetrica e asimmetrica.
Schema riassuntivo della differenza tra cifratura simmetrica e asimmetrica
Aspetto | Cifratura simmetrica | Cifratura asimmetrica |
Velocità | Veloce | Lenta |
Complessità computazionale | Alta | Bassa |
Condivisione chiave |
Necessario scambio sicuro tra gli interlocutori della chiave unica di cifratura. | Chiave pubblica condivisa dal titolare con chi vuole comunicare con lui. |
Usi possibili | Cifratura | Cifratura, verifica autenticità, verifica integrità |
Algoritmi | DES, Triple-DES (3DES), IDEA, CAST5, BLOWFISH, TWOFISH. | RSA DSA ELGAMAL |
Come si può osservare dalla didascalia, la differenza principale tra crittografia simmetrica e asimmetrica riguarda la codifica e la decodifica dei messaggi, in particolare riguardo alla condivisione delle chiavi, alla velocità e alla complessità computazionale.
A differenza della crittografia simmetrica, dove tra gli interlocutori si usa solo la chiave privata di cifratura, la crittografia asimmetrica usa coppie di chiavi, pubblica e privata, collegate tra loro da una funzione matematica che rende possibile la cifratura sicura e la verifica dell’autenticità e dell’integrità del messaggio.