Caratteristiche e differenze tra la Rete a sostituzione e permutazione (Rete SP)
In sicurezza informatica, le reti a sostituzione-permutazione (Substitution-Permutation Networks, SPN) sono costituite da una serie di operazioni matematiche in cascata volte a garantire le proprietà di diffusione e confusione (e quindi a soddisfare il criterio di avalanche).
Esse sono composte da due elementi fondamentali:
- Le S-Box (substitution box)
- Le P-Box (permutation box)
Le S-Box
Una Substitution Box (S-Box) è una funzione che sostituisce i bit di input con dei bit di output in modo soddisfare il criterio di avalanche. Il cambiamento di un singolo bit di input quindi deve influenzare circa la metà dei bit di output. Una S-Box è un tipo particolare di cifratura a sostituzione
Le P-Box
Una Permutation Box (P-Box) è una funzione che genera in output una permutazione dei bit di input. E’ quindi un caso particolare di cifratura a trasposizione.
Funzionamento della rete a sostituzione e permutazione
Nelle reti SP si alterna l’uso di S-Box e P-Box, iterando il procedimento più volte (ogni iterazione è detta stadio, o round). Ad ogni iterazione la chiave viene opportunamente manipolata per estrarre una sottochiave diversa (K0,…,K3 nell’immagine qui sotto). La sottochiave viene combinata mediante XOR con il testo in chiaro (all’inizio) o col testo cifrato dopo un determinato stadio.
Le reti SP sono studiate, infatti, per soddisfare il criterio di avalanche
- Le S-Box sono studiate affinché il cambiamento di un solo bit di input influenzi tutti i loro output
- Le P-Box garantiscono che l’output di una S-Box allo stadio n sia “diffuso” come input di tutte le S-Box dello stadio n+1
Infine, poiché chiave e testo sono combinate con uno XOR (e quindi influenzano “con lo stesso peso” il risultato di output), le reti SP garantiscono contemporaneamente sia la diffusione che la confusione.
Decifratura nelle reti SP
Per decifrare un testo cifrato, è sufficiente applicare i passi della rete SP a ritroso, dall’ultimo fino al primo. Questo richiede che le S-Box siano INVERTIBILI, ovvero che, dato un output, sia possibile risalire univocamente al suo input.