next up previous contents
Successivo: Analisi generale Su: Calcolo delle S-box Precedente: Calcolo delle S-box

Calcolo delle S-box e della permutazione P

 

Un'altro modo di agire, usato da tutte le implementazioni analizzate, è:

Per il primo punto si applica la permutazione P direttamente agli elementi contenuti nelle S-box. Gli array risultanti vengono chiamati SPBOX per distinguerli dalle S-box da cui sono ricavati.

Per ogni S-box ogni possibile uscita (4 bit) viene vista come una stringa di 32 bit, di questi, 4 sono quelli contenuti nelle S-box, mentre i restanti 28 hanno valore 0. La posizione dei 4 bit nella stringa di 32 è dipendente dal numero di S-box di cui sono l'output (i 4 bit in uscita da S-box1 vengono visti come i 4 pisignificativi in una stringa di 32, mentre i 4 bit in uscita da S-box8 vengono visti come i 4 meno significativi in una stringa di 32 bit). Ciascuna di queste stringhe di 32 bit è permutata usando la matrice P definita dall'algoritmo del DES. Le SPBOX sono quindi 8 array contenenti elementi di 32 bit.

Per il secondo punto, la costruzione delle SPBOX è fatta in modo tale che dai 6 bit d'input si arrivi in maniera immediata ai 32 bit d'output corrispondenti. Le 4 righe di ogni SPBOX vengono distribuite in un vettore di 64 elementi osservando che per ogni SPBOX:

Quindi le prime due righe occuperanno le prime 32 locazioni, in posizione pari gli elementi della prima riga, in posizione dispari gli elementi della seconda riga. La terza e la quarta riga occuperanno le locazioni del vettore che vanno dalla 32 alla 63 con in posizione pari gli elementi della terza riga e in posizione dispari gli elementi della quarta riga. Ogni elemento delle S-box verrà collocato nel vettore nella posizione individuata dal valore della stringa di 6 bit che lo determina.

Cosí facendo il risultato finale di tex2html_wrap_inline4754 è ottenuto effettuando l'or dell'output degli otto SPBOX.

  example212

Si capisce quindi come avendo a disposizione l'input di ciascuna S-box con un costo di 8 operazioni (i 7 or pil'assegnamento ad una variabile) si ottiene il valore di tex2html_wrap_inline4754 . A questo punto diventa molto importante il modo, e i relativi costi, con cui le diverse implementazioni realizzano le permutazioni ma soprattutto l'espansione E.


next up previous contents
Successivo: Analisi generale Su: Calcolo delle S-box Precedente: Calcolo delle S-box

Aniello Castiglione e Gerardo Maiorano < anicas,germai@zoo.diaedu.unisa.it >