Principi crittografici di Shannon di Confusione e Diffusione
Confusione e Diffusione
Nel documento di Shannon si definisce la confusione il fatto che la relazione tra la chiave e il testo cifrato sia quanto più complessa e scorrelata possibile. La diffusione è invece la capacità dell’algoritmo di distribuire le correlazioni statistiche del testo lungo tutto l’alfabeto utilizzato dall’algoritmo di cifratura rendendo quanto più difficile possibile un attacco statistico. In altre parole, la confusione è il fatto che la relazione tra la chiave e il testo cifrato sia quanto più complessa e non correlata possibile in modo tale che non si possa risalire ad essa a partire dal testo cifrato. Mentre, la diffusione è la capacità dell’algoritmo di distribuire le correlazioni statistiche del testo lungo tutto l’alfabeto utilizzato dall’algoritmo di cifratura rendendo quanto più difficile possibile un attacco statistico. Per quanto riguarda la diffusione, essa è associata alla dipendenza dei bit di uscita da i bit di ingresso. Infatti, In un algoritmo crittografico con un’ottima diffusione la variazione di un solo bit in input dovrebbe cambiare tutte le uscite con una probabilità del 50%.
Sostituzione e Trasposizione
Le proprietà di confisione e diffusione, descritte nel paragrafo precedente, si ottengono applicando un algoritmo di crittografia che può essere di due tipi:
- di sostituzione
- di trasposizione
La sostituzione è la tecnica più utilizzata per eliminare le predominanze statistiche e quindi è il primo metodo da utilizzare per implementare una buona confusione (come nel caso delle S-box nel DES). Allo stesso modo, anche la trasposizione viene utilizzata per generare confusione ma negli algoritmi più moderni spesso si usano anche altre tecniche come le combinazioni lineari (come nel caso dell’algoritmo AES). Al contrario, la tecnica del cifrario del prodotto usa alternativamente sostituzioni e trasposizioni iterando più volte i passi algoritmici per ottenere confusione e diffusione.
Da questo si evince che lo scopo di entrambe è quello di essere utilizzate per eliminare le predominanze statistiche, quindi adatte per generare confusione. Infatti, molto spesso sostituzioni e trasposizioni vengono usate alternativamente, iterando più volte i passaggi, per ottenere i principi crittografici dettati da Shannon.
Differenza tra Confusione e Diffusione
BASE DI CONFRONTO | CONFUSIONE | DIFFUSIONE |
Obbiettivo | Oscura la relazione tra testo in chiaro e testo cifrato. | Diffondere le statistiche del testo in chiaro attraverso il cifrario. |
Algoritmo | La tecnica di confusione è possibile attraverso l’algoritmo di sostituzione. | La tecnica di diffusione è possibile tramite l’algoritmo di trasporto. |
Uso | La tecnica di confusione viene utilizzata sia nella crittografia a blocchi che in quella a flusso. | La tecnica di diffusione viene utilizzata solo nella cifratura a blocchi. |
I cambiamenti | Se viene modificato un singolo bit nella chiave, dovranno essere modificati anche tutti i bit nel testo cifrato. | Nel caso in cui un simbolo nel testo in chiaro venga modificato, dovranno essere cambiati anche molti o tutti i simboli nel testo cifrato. |
Cosa nasconde | La tecnica della confusione nasconde la relazione tra il testo cifrato e la chiave. | La diffusione nasconde la relazione tra il testo cifrato e il testo in chiaro. |
Vaghezza e ridondanza | La tecnica della confusione si traduce in una maggiore vaghezza. | La tecnica di diffusione determina una maggiore ridondanza. |
Statistiche del testo cifrato | Nella confusione, la relazione tra le statistiche del testo cifrato e il valore della chiave di crittografia è resa complessa. Ciò si ottiene tramite la sostituzione. | Nella diffusione, la struttura statistica del testo in chiaro viene “dissipata” in statistiche a lungo raggio del testo cifrato. Ciò si ottiene attraverso la permutazione. |