Sei sulla pagina 1di 3

LALGORITMO DES Alunni: Formato - Zefi Classe: 5^B Anno:2016/2017

UN PO DI STORIA

In crittografia il Data Encryption Standard (DES) un algoritmo di cifratura scelto come standard dal Federal
Information Processing Standard (FIPS) per il governo degli Stati Uniti d'America nel 1976 e in seguito diventato
di utilizzo internazionale. Questo algoritmo fa parte degli standard a chiave privata dove gli utenti devono
mantenere nascosta la loro chiave in quanto la chiave di crittazione e di decrittazione corrispondono.
Inizialmente suscit molte discussioni per via della sua chiave di cifratura corta e per via di alcune scelte
progettuali che erano segretate. Si supponeva che dietro queste scelte vi fosse la National Security Agency (NSA)
e l'inserimento di una backdoor. Di conseguenza il DES fu oggetto di un'intensa analisi di tipo accademico che
contribu in modo notevole allo sviluppo delle conoscenze che sono alla base dei moderni algoritmi di cifratura .
Il DES, ormai considerato insicuro per moltissime applicazioni a causa della sua chiave che di soli 56 bit, negli
ultimi stato sostituito dall'Advanced Encryption Standard (AES) un nuovo algoritmo che elimina molti dei
problemi del DES.

INTRODUZIONE

Il DES il primo algoritmo di cifratura a blocchi che prende in ingresso una stringa di lunghezza fissa di testo in
chiaro e la trasforma con una serie di operazioni complesse in un'altra stringa di testo cifrato della stessa
lunghezza. Il DES utilizza anche una chiave per modificare la trasformazione in modo che l'operazione di
decifratura possa essere effettuata solo conoscendo la chiave stessa. La lunghezza di tale chiave di 64 bit ma
solo 56 di questi sono effettivamente utilizzati dall'algoritmo. Otto bit sono utilizzati solo per il controllo di parit
e poi scartati, per questo la lunghezza della chiave effettiva riportata come di 56 bit.

STRUTTURA GENERALE

La struttura generale dell'algoritmo mostrata nella figura adiacente nella quale


vengono schematizzate 16 fasi identiche di processo dette round o cicli. Ci sono inoltre
una permutazione iniziale ed una finale dette IP e FP, che sono tra di loro inverse (IP
"disfa" l'azione di FP e viceversa). IP ed FP non hanno alcuna importanza per la
cifratura ma sono state aggiunte per facilitare il caricamento dei blocchi
sull'hardware causando per un rallentamento nelle implementazioni software del
DES.
Prima del ciclo principale, il blocco suddiviso in due met di 32 bit e processato
alternativamente; questo incrocio detto rete di Feistel. La struttura della rete di
Feistel assicura che la cifratura e la decifratura siano processi molto simili, la sola
differenza che le sottochiavi sono applicate nell'ordine inverso nella fase di
decifratura. Il resto dell'algoritmo rimane identico. Questo semplifica enormemente
l'implementazione, in particolare se effettuata direttamente con un circuito poich non
occorre avere algoritmi separati per cifrare e per decifrare.
Il simbolo nellimmagine, simile ad un pi, denota l'operazione di OR esclusivo (XOR).
La funzione Feistel, rappresentata con F nello schema, mescola met del blocco con
una parte della chiave. Il risultato della funzione Feistel poi combinato con l'altra
met del blocco, e le due met sono scambiate prima del ciclo successivo. Dopo il ciclo
finale, le met non sono scambiate per rendere le fasi di cifratura e decifratura pi
simili.

ITIS G. Marconi Jesi 1


LALGORITMO DES Alunni: Formato - Zefi Classe: 5^B Anno:2016/2017

FUNZIONE DI FEISTEL

La funzione Feistel, rappresentata nella figura sottostante, opera su mezzo blocco, elaborando 32 bit per volta in
4 passi:

1. Espansione: il mezzo blocco di 32 bit espanso fino a 48 bit utilizzando la permutazione di


espansione contraddistinta con E nello schema, che duplica alcuni bit.
2. Miscelazione con la chiave: il risultato combinato con una sottochiave usando un'operazione di XOR.
Sedici sottochiavi di 48 bit, una per ogni ciclo, sono derivate dalla chiave principale usando il gestore
della chiave, spiegato nel paragrafo successivo.
3. Sostituzione: dopo la miscelazione con la sottochiave, il blocco viene diviso in 8 parti di 6 bit prima del
processamento con le S-box (substitution box ) anche dette scatole di sostituzione. Ognuna delle 8 S-
box sostituisce 6 bit in input con 4 bit in output mediante una trasformazione non lineare effettuata
attraverso una specifica tabella. Le S-box forniscono il cuore della sicurezza del DES, senza di esse si
continuerebbe ad avere una cifratura lineare e quindi facilmente violabile.
4. Permutazione - infine, i 32 bit risultanti dalle S-box sono riordinati in base alle permutazioni fisse
della P-box (permutation box).
L'alternanza di sostituzioni mediante le S-box, le permutazioni con la P-box e le espansioni forniscono la
cosiddetta confusione e diffusione, un concetto identificato da Claude Shannon negli anni quaranta come
condizione necessaria per rendere pratica e sicura la cifratura.

ITIS G. Marconi Jesi 2


LALGORITMO DES Alunni: Formato - Zefi Classe: 5^B Anno:2016/2017

GESTORE DELLA CHIAVE

La figura adiacente illustra il gestore della chiave per la cifratura


cio l'algoritmo che genera le sottochiavi.
Inizialmente, vengono selezionati 56 bit della chiave dagli iniziali 64
bit mediante la funzione Permuted Choice 1(PC-1), i rimanenti 8
bit sono scartati o utilizzati come bit di controllo della parit. I 56
vengono poi suddivisi in 2 met di 28 bit; ogni met poi trattata
separatamente. Nei cicli successivi entrambe le met vengono
fatte slittare verso sinistra di 1 o 2 bit (per i round 1, 2, 9, 16 lo
shift, cio lo slittamento, di 1 bit, per gli altri di 2) e quindi
vengono scelti 48 bit per la sottochiave, mediante la
funzione Permuted Choice 2 (PC-2), di cui 24 bit appartenenti alla
met di sinistra e 24 bit appartenenti a quella di destra. La
rotazione (denotata da "<<<" nello schema) significa che in ogni
sottochiave usato un insieme differente di bit; ogni bit usato
pi o meno in 14 delle 16 sottochiavi.
Il gestore delle chiavi per la decifratura simile solo che deve
generare le chiavi nell'ordine inverso quindi la rotazione verso
destra invece che verso sinistra.

FONTI
https://it.wikipedia.org/wiki/Data_Encryption_Standard#Descrizione
http://www.dia.uniroma3.it/~dispense/merola/critto/tesine/DES.pdf
https://drive.google.com/file/d/0Bx2axxLQnXBIQVJEdmhZM3BHZnM/view?usp=sharing

ITIS G. Marconi Jesi 3

Potrebbero piacerti anche