23.3.2 Cifratura a chiave simmetrica

La cifratura a chiave simmetrica utilizza una sola chiave sia per la fase di cifratura che per quella di decifratura dell’informazione. Quindi solo il mittente ed il destinatario devono conoscere entrambi la stessa chiave per potersi scambiare informazioni cifrate, per questo tale metodo è detto anche cifratura a chiave segreta.

Il messaggio viene cifrato dal mittente per mezzo di una chiave ed inviato al destinatario, il quale è in grado di decifrarlo soltanto se è a conoscenza della chiave utilizzata dal mittente (v. fig. 23.2).


pict
Figura 23.2: Schematizzazione della comunicazione con cifratura a chiave simmetrica.

Il problema relativo a questo tipo di cifratura, consiste essenzialmente nella modalità di scambio della chiave tra il mittente ed il destinatario. Infatti essa deve necessariamente essere scambiata attraverso un canale sicuro, altrimenti anche il nemico conoscerebbe la chiave potendo così decifrare agevolmente le informazioni cifrate trasmesse dal mittente.

Il più semplice esempio di sistema a cifratura simmetrica è quello a lettere permutate: ogni lettera dell’alfabeto del messaggio in chiaro viene fatta corrispondere ad un’altra lettera in modo biunivoco. La chiave è la relazione tra le lettere in chiaro e quelle permutate. Il sistema può sembrare inespugnabile: la totalità delle chiavi (tutte le permutazioni possibili di ogni letera) è 26! ovvero circa 4 × 1026. Se il nemico impiegasse anche soli 1 ms per provarne una, provarle tutte vorrebbe dire avere a disposizione un tempo dell’ordine di 13 × 1012 anni. In realtà il sistema non è robusto quanto sembra. Infatti, considerando la regolarità statistica delle lettere della lingua, ad esempio, inglese, si hanno le frequenze di impiego riportate nella tab. 23.2.


Lettera-|Frequenza-|
|A----|--0,114---|
|E    |  0,111   |
|I    |  0,104   |
|O    |  0,099   |
-T-------0,088----

Tabella 23.2: Frequenza statistica di alcune lettere nella lingua inglese.

Quindi, calcolando l’utilizzo delle lettere nel messaggio cifrato si può sostituire, tenendo conto della frequenza statistica, ad ognuna di esse la lettera che probabilmente sarà quella in chiaro. In questo modo si riesce agevolmente a ricostruire il messaggio originale e pertanto tale meccanismo di cifratura non è affatto sicuro.

La cifratura simmetrica si distingue anche in base all’applicazione dell’algoritmo sul testo in chiaro. Si parla di cifratura a flusso2 (stream cipher o state cipher) quando l’algoritmo di cifratura viene applicato ad un bit o ad un byte alla volta. Se l’algoritmo viene applicato a gruppi di bit o di byte sempre della stessa dimensione, si parla di cifratura a blocchi (block cipher). La cifratura più utilizzata è quella a blocchi.

Gli algoritmi di cifratura a blocchi si suddividono ulteriormente nelle seguenti categorie

23.3.2.1 Algoritmi di cifratura

Di seguito sono riportati alcuni tra gli algoritmi più utilizzati per la cifratura a chiave simmetrica.

Gli algoritmi di cifratura a chiave simmetrica hanno la caratteristica di essere molto veloci nelle fasi di cifratura e decifratura.

[da completare ...]