Criterio di avalanche

Criterio di avalanche

Il criterio di avalanche prevede che una qualsiasi modifica al testo in chiaro o alla chiave si propaghi “a valanga” (avalanche) su tutto il testo cifrato. In particolare, se un bit del testo in chiaro o della chiave viene complementato, tutti i bit del testo cifrato hanno una probabilità del 50% di essere complementati.

Da ciò, ne consegue che la modifica anche di un solo carattere del testo in chiaro dovrebbe implicare l’alterazione di tutto il testo cifrato (diffusione). Analogamente, la modifica di anche un solo carattere della chiave, dovrebbe implicare l’alterazione di tutto il testo cifrato (confusione).

Definzione formale del criterio di avalanche

La crittografia contemporanea si basa sull’uso dei computer, quindi d’ora in poi ci occuperemo di messaggi composti da bit. Una definizione più formale del criterio di avalanche, SAC (Strict Avalanche Criterion), è la seguente:

se un bit del messaggio in chiaro o della chiave viene complementato, allora ogni bit del messaggio cifrato ha una probabilità del 50% di essere complementato

In altre parole, il nuovo testo cifrato è apparentemente casuale, non ha alcuna relazione statistica con il testo cifrato precedente

NB. Complementare un bit vuol dire cambiarne il valore. Se vale 1, diventa 0. Se vale 0, diventa 1.

L’importanta del criterio di avalanche

Perché il criterio di avalanche è così importante? Se due testi di input simili (o due chiavi simili) producessero due output simili, l’algoritmo di crittazione sarebbe vunerabile agli attacchi crittanalitici. Confrontando il testo cifrato da decodificare con il testo cifrato di un testo in chiaro a noi noto, potremmo sapere quanto “vicini” siamo alla soluzione.

Precedente Rete a sostituzione e permutazione (Rete SP) Successivo Rete di Feistel

Lascia un commento

*