S-Box

S-Box ( box di sostituzione ), termine inglese per una tabella di sostituzione utilizzata in un algoritmo di crittografia simmetrica . Una S-Box contribuisce alla "confusione" (un termine usato da Claude Shannon ) rendendo le informazioni originali incomprensibili. Le S-Box consentono di rompere la linearità della struttura di crittografia e il loro numero varia a seconda degli algoritmi. DES ha ad esempio otto tabelle di 16x4 elementi.

Una tabella di sostituzione generalmente prende una variabile di m bit come input e produce un output di n bit, gli ingressi e le uscite non hanno necessariamente la stessa dimensione. Le tabelle sono spesso definite in anticipo ma a volte capita che siano generate dall'algoritmo (ad esempio in Blowfish ). I valori presenti nella S-Box devono essere scelti in modo da evitare attacchi , con vari mezzi come l'utilizzo di funzioni curve . Nel caso di DES , è stato dimostrato che le tabelle erano progettate per resistere alla crittoanalisi differenziale (una tecnica che non sarebbe stata pubblicata fino a molti anni dopo).

Esempio

Ecco un S-Box (S 5 ) tratto dall'algoritmo DES . L'uscita a 4 bit è ottenuta dall'ingresso a 6 bit. Dividiamo questi 6 bit in due parti: i due bit alle estremità e i restanti quattro bit (al centro). I due bit indicano la riga e i bit centrali indicano la colonna corrispondente. Ad esempio, con una voce "011011", la dividiamo in " 0 1101 1 ". Questo dà per la riga "01" e per la colonna "1101". L'output della tabella è quindi "1001".

S 5 4 bit al centro dell'ingresso
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
Bit esterni 00 0010 1100 0100 0001 0111 1010 1011 0110 1000 0101 0011 1111 1101 0000 1110 1001
01 1110 1011 0010 1100 0100 0111 1101 0001 0101 0000 1111 1010 0011 1001 1000 0110
10 0100 0010 0001 1011 1010 1101 0111 1000 1111 1001 1100 0101 0110 0011 0000 1110
11 1011 1000 1100 0111 0001 1110 0010 1101 0110 1111 0000 1001 1010 0100 0101 0011

Vedi anche

Articoli Correlati

link esterno