Singola Iterazione.

Riportiamo in Figura 2.3.1 le operazioni eseguite all'iterazione i.

Figura 2.3.1: L'iterazione i della cifratura DES.

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

f: {0,1}32×{0,1}48®{0,1}32

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 2.3.2.

Figura 2.3.2: 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 B1, B2, ..., B8.
  3. L'S-box Si (per 1 £ i £ 8) prende in input Bi (a 6 bit) e da in output una sequenza a 4 bit, che chiamiamo Ci.
  4. La stringa C1C2 ... C8 (a 32 bit) viene permutata tramite la permutazione P , e questo è il valore f(A, J).
Figura 2.3.3: Espansione E.

La funzione di espansione E viene realizzata in accordo con la figura 2.3.3. 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:

Figura 2.3.4: Permutazione P.

Pagina precedente | Torna in cima | Pagina successiva