L’etimologia della parola ‘crittografia’ deriva dall’unione di due parole greche: kriptos e graphìa, ovvero scrittura nascosta. La crittografia, oggi, è una delle branche della crittologia, la scienza riguardante tutti i metodi per scriver un messaggio in modo apparentemente velato, offuscato o non comprensibile se non tramite una chiave di lettura. Questa scienza rappresenta quindi uno dei principali strumenti oggi per la lotta al cybercrime.
La crittoanalisi è quindi la scienza che, assieme alla crittografia, cerca di evidenziare possibili falle o vulnerabilità nei sistemi crittografici analizzati. La crittografia è stata da sempre un metodo utile, specie in campo militare per comunicare in modo sicuro, senza che il nemico potesse avere un vantaggio bellico.
Il primo a parlarne è Plutarco nella sua Vita di Lisandro, in quest’opera si fa un accenno all’impiego della scitala lacedemonica da parte degli spartani. La scitala rappresentava un bastone contenente un nastro di cuoio per scrivere. In seguito si è scoperto che anche Giulio Cesare utilizzava messaggi cifrati utilizzando la tecnica della traslazione.
Oggi, l’utilizzo della crittografia è particolarmente sentito nell’ambito informatico. Attraverso una comunicazione cifrata da un algoritmo si può ottenere un livello più o meno elevato di sicurezza relativa ai dati oggetto della comunicazione. La comunicazione ha, infatti, acquisito sempre più un’importanza fondamentale nella quotidianità della società. Con internet, la rete è il luogo in cui iliardi di informazioni più o meno sensibili circolano e per questo si rendono oggetto di violazioni e attacchi. La natura costantemente mutante del mondo informatico rende i sistemi di cifratura nformatica doverosamente in costante evoluzione.
La forza degli algoritmi odierni, utilizzati oggi per tutte le possibili applicazioni nel campo della sicurezza e della protezione della privacy, deve poter crittografare l’intero messaggio cercando
al contempo di essere computazionalmente intrattabile. La forza, quindi, di un algoritmo è necessariamente corrisposta al valore delle informazioni cifrate e alla vita utile dell’informazione stessa. Il costo della violazione deve superare, a rigor di logica, il valore stesso dell’informazione e, in secondo luogo, il tempo richiesto per la violazione dev’essere superiore al ciclo vitale dell’informazione.
Vari tipi di crittografia
Esistono diverse tipologie di crittografia, che sono tutte elencate in questo articoli di It Manager Space.
La cifratura informatica si suddivide in due tipologie: la cifratura simmetrica e quella asimmetrica. La diversa descrizione è riferita all’uso della chiave di di decriptazione. In presenza di una singola chiave si tratta di una crittografia a chiave simmetrica, in altri casi detta a chiave segreta. In questo schema esiste quindi un’unica chiave utilizzata sia dal mittente che dal destinatario. Parlando di crittografia simmetrica, l’esempio più famoso è l’AES (Advanced Encryption Standard).
Questa chiave si basa su un numero di operazioni che vengono eseguite dall’algoritmo su blocchi di dati fino a 16 byte. Queste operazioni vengono ripetute più volte componendo un testo cifrato dalla collaborazione di 3 algoritmi diversi. Questi algoritmi lavorano a blocchi di informazioni da 128 bit. Utilizzando una chiave a 128 bit, l’AES presenta un funzionamento a 10 round, nel caso di una chiave a 192 bit diventano 12 e nel caso di una chiave a 256 diventano 14. La seconda opzione riguarda la fattispecie in cui le chiavi sono distinte, si parla di un meccanismo più complesso che vede l’utilizzo di una chiave pubblica per la cifratura e di una privata per la decifratura: è il caso della crittografia asimmetrica. In questo sistema, la conoscenza della chiave pubblica di cifratura non permette in alcun modo di ottenere quella privata. In caso di cifratura asimmetrica, l’algoritmo più utilizzato in passato è l’RSA (Rivest, Shamir, Adleman).
Un ulteriore sistema di crittografia fa riferimento alla funzione crittografica di hash. Quest’algoritmo è stato creato sulla base delle funzioni di hash che dispongono di molte proprietà utili per l’utilizzo in un sistema crittografico specie per il campo dell’informatica. Quest’algoritmo trasforma una quantità di dati in una stringa fissa detta appunto hash value. Questo sistema viene utilizzato innanzitutto per verificare che nelle fasi di invio e di ricezione il messaggio non abbia subito modifiche. La crittografica basata su questo metodo è unidirezionale, per questo motivo diventa molto difficle invertire il meccanismo. I più famosi algoritmi utilizzati sono l’MD5 e l’SHA-1 oggi sostituiti dai più moderni SHA-2.
Un ulteriore metodo riguarda i reticoli, questi algoritmi utilizzano costrutti algebrici bidimensionali appunto come reticoli. Questi metodi sono da tempo utilizzati nei protocolli crittografici come TLS e Internet Key Exchange. La crittografia lattice-based rappresenta il presupposto per l’applicazione dei Fully Homomorphic Ecryption (FHE). Con questo algoritmo è possibile eseguire calcoli senza doverli poi decifrare.
La crittografia quantistica rappresenta poi un ulteriore metodo per proteggere le informazioni oggetto di comunicazione. Questo metodo si basa sull’utilizzo delle proprietà della meccanica quantistica. Si sfrutta la distribuzione quantistica delle chiavi per una crittografia matematicamente perfetta. Attraverso questo metodo si può ottenere una trasmissione con un altissimo grado di segretezza. Ne è un esempio il QKD che è basato sul Pognac, un modulatore di polarizzazione.