next up previous contents
Successivo: Le S-box di DES Su: Descrizione del DES Precedente: Descrizione del DES

La funzione f

La funzione f è forse l'aspetto piú intricato dell'algoritmo DES a causa della presenza delle S-box. Illustriamo questa funzione:

displaymath2644

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.

   figure269
Figura 5: Schema della funzione f.

Descriviamo in dettaglio la figura:

  1. 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.
  2. 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 tex2html_wrap_inline2664 .
  3. L'S-box tex2html_wrap_inline2666 (per tex2html_wrap_inline2668 ) prende in input tex2html_wrap_inline2670 (a 6 bit) e da in output una sequenza a 4 bit, che chiamiamo tex2html_wrap_inline2672 .
  4. La stringa tex2html_wrap_inline2674 (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.

 


next up previous contents
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 >