Standard di crittografia dei dati
Il Data Encryption Standard (DES) è un cifrario a blocchi a chiave simmetrica pubblicato dal National Institute of Standards and Technology (NIST).
DES è un'implementazione di un Feistel Cipher. Utilizza una struttura Feistel a 16 tonde. La dimensione del blocco è 64 bit. Tuttavia, la lunghezza della chiave è di 64 bit, DES ha una lunghezza effettiva della chiave di 56 bit, poiché 8 dei 64 bit della chiave non vengono utilizzati dall'algoritmo di crittografia (funziona solo come bit di controllo). La struttura generale di DES è illustrata nella seguente illustrazione:
Poiché DES è basato sul Feistel Cipher, tutto ciò che è richiesto per specificare DES è:
- Funzione rotonda
- Programma chiave
- Qualsiasi elaborazione aggiuntiva - Permutazione iniziale e finale
Permutazione iniziale e finale
Le permutazioni iniziale e finale sono caselle di permutazione diritte (caselle P) che sono inverse l'una dell'altra. Non hanno alcun significato crittografico in DES. Le permutazioni iniziale e finale sono mostrate come segue:
Funzione Round
Il cuore di questo codice è la funzione DES, f . La funzione DES applica una chiave a 48 bit ai 32 bit più a destra per produrre un'uscita a 32 bit.
Expansion Permutation Box- Poiché l'ingresso destro è a 32 bit e la chiave tonda è a 48 bit, dobbiamo prima espandere l'ingresso destro a 48 bit. La logica di permutazione è rappresentata graficamente nella seguente illustrazione:
La logica di permutazione rappresentata graficamente è generalmente descritta come tabella nella specifica DES illustrata come mostrato -
XOR (Whitener).- Dopo la permutazione di espansione, DES esegue l'operazione XOR sulla sezione destra espansa e sulla chiave rotonda. La chiave tonda viene utilizzata solo in questa operazione.
Substitution Boxes.- Le S-box effettuano la vera miscelazione (confusione). DES utilizza 8 S-box, ciascuna con un ingresso a 6 bit e un'uscita a 4 bit. Fare riferimento alla figura seguente:
La regola S-box è illustrata di seguito:
Ci sono un totale di otto tavoli S-box. L'uscita di tutte e otto le s-box viene quindi combinata in una sezione a 32 bit.
Straight Permutation - L'uscita a 32 bit delle S-box viene quindi sottoposta alla permutazione diretta con la regola mostrata nella figura seguente:
Generazione delle chiavi
Il generatore di chiavi tonde crea sedici chiavi a 48 bit da una chiave di cifratura a 56 bit. Il processo di generazione della chiave è illustrato nella figura seguente:
La logica per Parity drop, shifting e Compression P-box è data nella descrizione DES.
Analisi DES
Il DES soddisfa entrambe le proprietà desiderate del cifrario a blocchi. Queste due proprietà rendono il cifrario molto forte.
Avalanche effect - Un piccolo cambiamento nel testo in chiaro si traduce in un grande cambiamento nel testo cifrato.
Completeness - Ogni bit di testo cifrato dipende da molti bit di testo in chiaro.
Negli ultimi anni, la crittoanalisi ha riscontrato alcuni punti deboli nel DES quando le chiavi selezionate sono chiavi deboli. Queste chiavi devono essere evitate.
DES ha dimostrato di essere un cifrario a blocchi molto ben progettato. Non ci sono stati attacchi crittoanalitici significativi al DES oltre alla ricerca esaustiva delle chiavi.