Il Data Encryption Standard (DES) è un cifratore a blocchi a chiave simmetricaa chiave simmetrica pubblicato dal National Institute of Standards and Technology (NIST).
DES è un’implementazione di un cifrario di Feistel. Utilizza una struttura Feistel a 16 giri. La dimensione del blocco è di 64 bit. Anche se la lunghezza della chiave è di 64 bit, DES ha una lunghezza effettiva di 56 bit, poiché 8 dei 64 bit della chiave non sono usati dall’algoritmo di crittografia (funzionano solo come bit di controllo). La struttura generale del DES è rappresentata nella seguente illustrazione –
Siccome il DES è basato sul cifrario di Feistel, tutto ciò che è richiesto per specificare il DES è –
- Funzione Round
- Programma della chiave
- Eventuale elaborazione aggiuntiva – Permutazione iniziale e finale
Permutazione iniziale e finale
Le permutazioni iniziale e finale sono scatole di permutazione diritte (P-box) che sono inverse l’una all’altra. Non hanno alcun significato crittografico nel DES. Le permutazioni iniziali e finali sono mostrate come segue –
Funzioneound
Il cuore di questo cifrario è la funzione DES, f. La funzione DES applica una chiave a 48 bit ai 32 bit più a destra per produrre un output a 32 bit.
-
Permutazione di espansione – Dato che l’input di destra è a 32 bit e la chiave round è a 48 bit, dobbiamo prima espandere l’input di destra a 48 bit. La logica di permutazione è rappresentata graficamente nella seguente illustrazione –
-
La logica di permutazione rappresentata graficamente logica di permutazione è generalmente descritta come tabella nella specifica DES illustrata come mostrato –
-
XOR (Whitener). – Dopo la permutazione di espansione, DES fa l’operazione XOR sulla sezione destra espansa e la chiave rotonda. La chiave rotonda è usata solo in questa operazione.
-
Substitution Boxes. – Le S-box effettuano la miscelazione reale (confusione). DES usa 8 S-box, ognuna con un ingresso a 6 bit e un’uscita a 4 bit. Fare riferimento alla seguente illustrazione –
-
La regola delle S-box è illustrata di seguito –
-
Ci sono un totale di otto tabelle S-box. L’output di tutte le otto s-box è poi combinato in una sezione di 32 bit.
-
Permutazione dritta – L’output a 32 bit delle S-box è poi sottoposto alla permutazione dritta con la regola mostrata nella seguente illustrazione:
Generazione di chiavi
Il generatore di chiavi rotonde crea sedici chiavi a 48 bit da una chiave cifrata a 56 bit. Il processo di generazione della chiave è rappresentato nella seguente illustrazione –
La logica per la caduta di parità, lo spostamento e la compressione P-box è data nella descrizione del DES.
Analisi del DES
Il DES soddisfa entrambe le proprietà desiderate del cifratore a blocchi. Queste due proprietà rendono il cifrario molto forte.
-
Effetto valanga – Un piccolo cambiamento nel testo in chiaro si traduce in un grande cambiamento nel testo cifrato.
-
Completezza – Ogni bit del testo cifrato dipende da molti bit del testo in chiaro.
Negli ultimi anni, la crittoanalisi ha trovato alcune debolezze nel DES quando le chiavi selezionate sono chiavi deboli. Queste chiavi devono essere evitate.
DES ha dimostrato di essere un cifratore a blocchi molto ben progettato. Non ci sono stati significativi attacchi crittoanalitici al DES, a parte la ricerca esaustiva delle chiavi.