Introduzione alla crittografia
La crittografia, il cui significato letterale viene solitamente espresso con il termine scrittura segreta, nasce fin dai tempi antichi per la necessità umana di trasmettere informazioni segrete attraverso la comunicazione scritta. Se volessimo fare un riassunto, si potrebbe dire che un messaggio cifrato è un messaggio che solamente mittente e destinatario possono comprendere, perché solamente essi conoscono il metodo per cifrare e decifrare il messaggio.
Crittografia antica
Uno dei più celebri esempi di crittografia antica è il cosiddetto “Cifrario di Cesare”, con cui Giulio Cesare inviava messaggi segreti alla truppe in Gallia. Il Cifrario di Cesare era a tutti gli effetti quello che oggi chiameremmo un algoritmo di cifratura. Il Cifrario di Cesare consisteva nel sostituire ogni lettera dell’alfabeto con quella distante tre posti in avanti nel caso si volesse cifrare il messaggio, come viene evidenziato dalla figura. Nel caso si volesse decifrare il messaggio, invece, era sufficiente sostituire la lettera con quella posizionata tre posti indietro.
Crittografia e sicurezza
La necessità di comunicare in maniera sicura e segreta si è mantenuta anche ai tempi della comunicazione digitale in rete. La crittografia permette di soddisfare diversi requisiti necessari a rendere un sistema sicuro.
Innanzitutto una definizione di sistema sicuro è la seguente: un sistema è sicuro se permette l’utilizzo delle proprie funzionalità solo agli utenti previsti dal sistema in base alle specifiche del sistema. Gli aspetti di sicurezza più importanti sono i seguenti:
- segretezza - un messaggio “segreto” deve essere compreso solo da chi ne ha diritto;
- autenticazione - deve essere possibile individuare senza incertezza chi invia un messaggio;
- integrità o inalterabilità - deve essere possibile determinare se un messaggio è stato alterato nella trasmissione;
- non ripudiabilità - un mittente autenticato non può non riconoscere un messaggio come proprio.
Gli algoritmi di crittografia
Un algoritmo di cifratura è in generale un algoritmo che restituisce un testo cifrato a partire da un testo in chiaro. Nella crittografia moderna i due elementi fondamentali per ottenere un testo cifrato sono:
- l’algoritmo di cifratura, che è la procedura che si utilizza per ottenere il testo cifrato;
- la chiave di cifratura, che è un parametro dell’algoritmo e contribuisce a modificare il risultato.
Nello studio della crittografia moderna si ipotizza che l’algoritmo sia noto a tutti e che invece la chiave rimanga segreta.