
La crittografia rappresenta l’arte di occultare le informazioni, rendendo indispensabile possedere una chiave per decifrare il messaggio. Il processo di crittografia coinvolge diversi elementi:
- Testo in chiaro: il messaggio originale da cifrare.
- Algoritmo: un insieme di regole e procedure che trasformano il testo in chiaro in testo cifrato.
- Chiave: un parametro utilizzato dall’algoritmo per cifrare e decifrare il messaggio.
- Testo cifrato: il messaggio risultante dal processo di cifratura.
La crittografia assicura la confidenzialità dei dati, un requisito fondamentale nell’ambito della sicurezza informatica. Le principali tipologie di crittografia includono:
Hashing: una funzione matematica non invertibile che mappa una stringa di lunghezza arbitraria in una stringa di lunghezza predefinita. L’hashing viene utilizzato per verificare l’integrità dei dati, ma non garantisce la riservatezza. Gli algoritmi di hashing più comuni includono MD5, SHA e RIPEMD.

Crittografia simmetrica: una tecnica che utilizza la stessa chiave per cifrare e decifrare il messaggio. È necessario un canale separato per lo scambio di chiavi. Le due principali categorie di cifrari simmetrici sono i cifrari a flusso e i cifrari a blocchi. Tra gli algoritmi più utilizzati vi sono DES, 3DES e AES.

Crittografia asimmetrica: nota anche come crittografia a coppia di chiavi, prevede l’uso di una chiave pubblica e una chiave privata che hanno una relazione matematica tra loro. I messaggi cifrati con una chiave possono essere decifrati solo con l’altra chiave. L’RSA è un esempio di crittografia asimmetrica.

È importante notare che gli algoritmi di crittografia più sicuri sono generalmente pubblici e sono stati sottoposti a revisione dalla comunità crittografica. Dopo la selezione dell’algoritmo, è necessario scegliere un’implementazione adeguata per garantire una protezione efficace. La crittografia asimmetrica, in particolare, richiede l’impiego di certificati e può coinvolgere un’autorità di certificazione per garantire l’autenticità delle chiavi pubbliche.
Altri utili strumenti crittografici includono:
- MAC (Message Authentication Code):
Il MAC è un breve blocco di dati impiegato per assicurare l’integrità di un messaggio. Il destinatario ricalcola il MAC utilizzando lo stesso algoritmo e la stessa chiave, verificando se coincide con quello inviato dal mittente. L’uguaglianza dei due MAC conferma l’integrità del messaggio e ne attesta l’assenza di modifiche. - HMAC (Hashed MAC):
Simile al MAC, l’HMAC garantisce sia l’integrità del messaggio che l’autenticità. Utilizza una combinazione del messaggio originale e di una chiave segreta per generare il codice. - PGP (Pretty Good Privacy):
PGP è una suite di software crittografico utilizzata per autenticazione e privacy, spesso impiegata nella posta elettronica. Utilizza un cifrario simmetrico come IDEA (International Data Encryption Algorithm) con chiavi di 128 bit. Gli utenti devono installare le chiavi pubbliche dei loro contatti. Al contrario delle autorità di certificazione, PGP si basa su un “web of trust” (rete di fiducia), dove se A si fida di B e B ha certificato C, allora A si fiderà di C. - GPG (GNU Privacy Guard):
GPG è un software open-source basato sullo standard OpenPGP. A differenza di PGP, GPG non utilizza algoritmi brevettati e offre funzionalità per crittografare comunicazioni e creare firme digitali per documenti e software.
In ambiente Linux, per il client di posta Thunderbird, è disponibile il componente aggiuntivo Enigmail, che protegge le email utilizzando OpenPGP.