02. Crittografia

La crittografia è una tecnica di rappresentazione di un messaggio in una forma tale che l’informazione in esso contenuta possa essere recepita solo dal destinatario; ciò si può ottenere con due diversi metodi: celando l’esistenza stessa del messaggio o sottoponendo il testo del messaggio a trasformazioni che lo rendano incomprensibile.

La crittografia ha trovato larga applicazione in campo militare, diplomatico e commerciale e il suo sviluppo è stato fortemente condizionato dall'evoluzione delle tecnologie di comunicazione adottate in questi campi. Le tecniche più note sono: 


Cifrario monoalfabetico

L’uso di cifrari per scopi militari è molto antico. Svetonio narra come Cesare usasse nelle sue comunicazioni militari un sistema di cifratura che consisteva nel sostituire ciascuna lettera con quella che la segue di un numero fisso di posizioni nell'alfabeto (cifrario di Cesare). Un sistema di questo tipo si dice monoalfabetico, in quanto ciascun simbolo del testo in chiaro è sostituito da un unico simbolo dell’alfabeto di cifra, a scorrimento. Oggi non è più utilizzato perché estremamente semplice da risolvere.

In particolare, Cesare utilizzava uno spostamento di 3 posizioni (la chiave era dunque 3), secondo il seguente schema.


Cifrario polialfabetico

Nei cifrari polialfabetici, a differenza di come accade con i cifrari monoalfabetici, un dato carattere del testo chiaro (p.es. la A) non viene cifrato sempre con lo stesso carattere, ma con caratteri diversi in base ad una qualche regola, in genere legata ad una parola segreta da concordare.


Vernam

La tecnica di cifratura mediante un algoritmo a cifrario monouso in cui la chiave di cifratura è casuale e ha pari lunghezza del messaggio (cifrario di Vernam o cifrario perfetto) è da ritenersi sicura senza alcun dubbio (infatti la sua inviolabilità è dimostrata matematicamente).

Questo significa che non può esistere nessun procedimento che consenta di risalire al messaggio originale conoscendo esclusivamente il messaggio cifrato.

Tuttavia tale sistema ha un costo di gestione elevatissimo che lo rende il più delle volte impraticabile e trova il suo punto di vulnerabilità nella difficoltà a mantenere segreto il cifrario utilizzato.

In ambito militare è stato effettivamente utilizzato per le comunicazioni con le spie, che venivano equipaggiate di taccuini contenenti una lunga chiave per ogni pagina, da poter strappare e gettare una volta utilizzata (one time, ovvero "un solo uso").

La sua forma più classica prevede che la chiave abbia lo stesso formato del messaggio e che sia implementata l'operazione di somma circolare sull'alfabeto utilizzato.

Ad ogni lettera è associato un valore numerico secondo uno schema del tipo: 

La somma tra due lettere si implementa sommando i numeri ad essi associati e, se il risultato è maggiore di 25, sottraendo 26 (aritmetica modulare).

In questo esempio la parola HELLO rappresenta il messaggio da cifrare e WORLD la chiave di cifratura (di pari lunghezza del messaggio).

Il risultato (in grigio) rappresenta il messaggio cifrato.

E' possibile ricostruire il messaggio originario sottraendo al messaggio cifrato la chiave e, se il risultato è negativo, aggiungendo 26 (aritmetica modulare).


Enigma

Durante la seconda guerra mondiale le forza armate tedesche fecero ampio uso di sistemi di cifratura per comunicare in modo segreto.

Molto usata fu la macchina elettromeccanica Enigma, in grado di cifrare e decifrare messaggi. La facilità d'uso e la presunta indecifrabilità furono le maggiori ragioni del suo ampio utilizzo.

Nonostante fosse stata modificata e potenziata nell'arco del suo periodo di utilizzo, un nutrito gruppo di esperti riuscì a violarla dopo essersi impegnato a lungo con questo intento.

Tra i più brillanti crittoanalisti che operavano in Inghilterra, va ricordato Alan Turing che fu l'ideatore della macchina elettromeccanica utilizzata per decifrare i messaggi prodotti con Enigma.

La storia di questo straordinario matematico è stata ripresa dal film del 2015 The Imitation Game.

Da segnalare anche l'opera teatrale Breaking the Code, scritta da Hugh Whitemore nel 1986, che ha la particolarità di raccontare le vicende di Turing spiegando anche i risvolti matematici; in questo senso l'opera fa divulgazione scientifica. Successivamente Breaking the Code è diventato un film per la TV (inedito in Italia).

La macchina elettromeccanica Enigma

Alan Turing

Ambito informatico

Nell'ambito informatico tutti gli algoritmi di cifratura in uso sono polialfabetici, per mitigare il problema degli attacchi su base statistica.

La classificazione principale, quindi, non riguarda gli alfabeti ma il tipo e il numero di chiavi utilizzate: nella cifratura simmetrica viene utilizzata una sola chiave mentre nella cifratura asimmetrica se ne usano due, che assumono significato diverso.

Altri aspetti significativi riguardano le tecniche implementative che, a seconda dei casi, operano sui dati organizzati a blocchi di dimensione fissa o a flusso, nel senso che analizzano i byte uno alla volta (come accade con Vernam).

Un algoritmo di cifratura dovrebbe avere le seguenti caratteristiche:

Con i termini "facile" e "difficile" si fa riferimento alla possibilità pratica di effettuare o meno una elaborazione che porti al risultato desiderato in un tempo ragionevole per il contesto applicativo.

Notare che non si fa alcun riferimento alla segretezza dell'algoritmo, in ossequio al principio formulato da Kerckhoffs nel 1880, in base al quale la sicurezza di un crittosistema deve dipendere solo dalla robustezza e segretezza della chiave e non dalla segretezza dell'algoritmo.

In questa stessa direzione si pone la massima di Shannon che afferma: il nemico conosce il sistema!


La crittoanalisi è il campo della ricerca che studia come interpretare un'informazione cifrata senza disporre degli elementi di sicurezza previsti, tipicamente le chiavi.

In questo ambito rompere un cifrario significa trovare una debolezza che consenta di violare il sistema con una complessità inferiore a quella della forza bruta (che consiste nel fare tutti i possibili tentativi).

Nelle tecniche di attacco si distinguono vari scenari: