Confusione e diffusione sono due proprietà della crittografia che un algoritmo di cifratura sicuro deve possedere per essere considerato più o meno robusto, ovvero scarsamente attaccabile da un attacco crittoanalitico. Queste proprietà sono state identificate da Claude Shannon nel suo lavoro La teoria della comunicazione nei sistemi crittografici pubblicato nel 1949.
Descrizione
[modifica | modifica wikitesto]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 non correlata possibile in modo tale che non si possa risalire ad essa a partire dal testo cifrato.
- 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.
La diffusione è associata alla dipendenza dei bit di uscita dai bit di ingresso. In un algoritmo con un'ottima diffusione la variazione di un bit in ingresso dovrebbe cambiare tutte le uscite con probabilità del 50%.
La sostituzione è la tecnica più utilizzata per eliminare le predominanze statistiche e quindi è il primo metodo da utilizzare per implementare una buona confusione (vedi S-box). La trasposizione viene utilizzata anch'essa per generare confusione anche se negli algoritmi moderni spesso si usano anche altre tecniche come le combinazioni lineari (AES). Il cifrario del prodotto usa alternativamente sostituzioni e trasposizioni iterando più volte i passaggi per ottenere confusione e diffusione.
Bibliografia
[modifica | modifica wikitesto]- (EN) Claude E. Shannon, "Communication Theory of Secrecy Systems Archiviato il 5 giugno 2007 in Internet Archive.", Bell System Technical Journal, vol.28-4, page 656--715, 1949.