Successivo: Le S-box di DES
Su: Descrizione del DES
Precedente: Descrizione del DES
La funzione f è forse l'aspetto piú intricato dell'algoritmo
DES a causa della presenza delle S-box.
Illustriamo questa funzione:
La funzione f prende in input una stringa A di 32 bit, una stringa J di
48 bit, e fornisce in output una stringa di 32 bit.
La computazione realizzata da f è rappresentata dalla Figura 5.
Figura 5: Schema della funzione f.
Descriviamo in dettaglio la figura:
- La stringa A a 32 bit è espansa dalla funzione E in una stringa
48 bit. Possiamo immaginare che E prima duplica 16 bit dei 32 di A,
poi permuta la stringa ottenuta.
- Viene computato lo xor bit a bit tra J e E(A), che è una stringa di 48 bit.
La sequenza viene divisa in 8 sottosequenze di 6 bit ciascuna, dette
sottosequenze
. - L'S-box
(per
) prende in input
(a 6 bit) e
da in output una sequenza a 4 bit, che chiamiamo
. - La stringa
(a 32 bit) viene permutata tramite la
permutazione P, e questo è il valore f(A,J).
La funzione di espansione E viene realizzata in accordo con la Tabella 3.
E bit-selection table |
32 | 1 | 2 | 3 | 4 | 5 |
4 | 5 | 6 | 7 | 8 | 9 |
8 | 9 | 10 | 11 | 12 | 13 |
12 | 13 | 14 | 15 | 16 | 17 |
16 | 17 | 18 | 19 | 20 | 21 |
20 | 21 | 22 | 23 | 24 | 25 |
24 | 25 | 26 | 27 | 28 | 29 |
28 | 29 | 30 | 31 | 32 | 1
|
Tabella 3: Espansione E.
|
Anche questa tabella si legge come le altre. Si noti come le prime due colonne
di E ricopino nella stringa finale gli stessi bit ricopiati dalle ultime
due colonne.
Ecco invece la tabella che specifica la permutazione P:
P |
16 | 7 | 20 | 21 |
29 | 12 | 28 | 17 |
1 | 15 | 23 | 26 |
5 | 18 | 31 | 10 |
2 | 8 | 24 | 14 |
32 | 27 | 3 | 9 |
19 | 13 | 30 | 6 |
22 | 11 | 4 | 25
|
Tabella 4: Permutazione P.
|
Successivo: Le S-box di DES
Su: Descrizione del DES
Precedente: Descrizione del DES
Aniello Castiglione e Gerardo Maiorano < anicas,germai@zoo.diaedu.unisa.it >