Definizione e importanza del Criterio di avalanche in sicurezza informatica
In sicurezza informatica, 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).
Definizione 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.