Nell’articolo precedente abbiamo introdotto la crittografia, il suo significato e abbiamo visto la corretta terminologia.
In questo invece introdurremo i due principali sistemi di crittografia.
In generale, i sistemi di crittografia vengono divisi in due grandi classi: la crittografia a chiave simmetrica (o segreta) e a chiave pubblica (o a chiave asimmetrica).
Gli algoritmi a chiave simmetrica sono così chiamati perché la chiave di codifica può essere facilmente calcolata da quella di decodifica e viceversa. Nella maggior parte dei casi, le due chiavi coincidono.
In generale, le tecniche di crittografia a chiave simmetrica si possono classificare in due categorie:
- sostituzione: ogni lettera del testo in chiaro viene sostituita con un’altra lettera. Esistono metodi di sostituzione monoalfabetico (es.: metodo di Cesare), sostituzione a blocchi (es.: metodo di Playfair); sostituzione polialfabetica (es.: metodo di Vigenere);
- trasposizione: il testo in chiaro viene sottoposto a una particolare permutazione.
La crittografia a chiave pubblica rappresenta una rivoluzione rispetto alla crittografia tradizionale. Proprio con queste parole (“Siamo all’inizio di una rivoluzione nella crittografia”) infatti, nel Maggio 1976, Whitfield Diffie e Martin Hellman, due ricercatori della Stanford University, annunciano la nascita della crittografia a chiave pubblica nell’articolo “New Direction in Cryptography”, pubblicato su “IEEE Transactions on Information Theory” del Novembre 1976 (disponibile in PDF).
Contrariamente alla crittografia a chiave segreta, la crittografia a chiave pubblica prevede l’utilizzo di due chiavi distinte: una detta chiave pubblica e l’altra detta chiave privata.
La chiave pubblica viene utilizzata nel processo di codifica e può essere tranquillamente resa disponibile a chiunque, anche utilizzando canali di comunicazione non sicuri. La chiave privata viene invece utilizzata per la decodifica del messaggio cifrato e deve quindi necessariamente essere custodita nel modo più sicuro possibile.
Nei prossimi articoli vedremo alcuni esempi di tecniche di crittografia a chiave simmetrica (il metodo di Cesare, il metodo Palyfair, Vigenere e DES) e a chiave pubblica (RSA, Diffie-Hellman).