L’algoritmo DES

di Fabrizio Sinopoli

Pubblicato 28 Agosto 2008
Aggiornato 12 Febbraio 2018 20:49

L’IBM, che per molti anni ha dominato incontrastata il mondo dei computer, introdusse nel 1975, anche se l’algoritmo fu pubblicato nel 1977, un suo cifrario espressamente progettato per l’uso informatico: il Data Encryption Standard o DES.

In realtà, l’algoritmo inizialmente si chiamava DEA (Data Encryption Algorithm) e fu presentato al bando di concorso richiesto dall’NSA (National Security Agency, l’agenzia governativa americana preposta alla sicurezza dei dati governativi) al National Bureau of Standars (NBS), oggi divenuto NIST (National Institute of Standard and Technology) per trovare un algoritmo da adottare come standard per la crittografia dei dati riservati del Governo Americano.

DES divenne lo standard proprio nel 1977 e fu riconfermato tale nel 1983, nel 1988 e nel 1993. Nel 2002 fu sostituito dal Triple-DES, una versione più robusta dello stesso algoritmo. Nel 2002 fu definitivamente sostituito dall’algoritmo Rijndael, una cui particolare implementazione è divenuto standard con il nome di AES (Advanced Encryption Standard).

Vediamo ora l’algoritmo in estrema sintesi.

IL DES è un algoritmo a blocchi a chiave simmetrica: ogni blocco (di 64 bit) subisce 16 identici cicli. La permutazione iniziale e la permutazione finale sono processi inversi, che non fanno nulla dal punto di vista crittografico.

Le operazioni compiute dall’algoritmo sono principalmente due: uno XOR (ossia un OR esclusivo) e la funzione di Feistel, che riceve in ingresso metà del blocco dati che viene cifrato con parte dei bit della chiave simmetrica. Il blocco in output viene poi combinato con l’altra metà del blocco in chiaro e ne vengono invertire le posizioni prima del ciclo successivo (tranne l’ultimo ciclo che non inverte le due metà).

Cliccando sull’immagine all’inizio dell’articolo, è possibile vedere una schematizzazione dell’algoritmo.

Il grande punto debole del DES è la lunghezza della chiave simmetrica, di soli 56 bit. Una delle ipotesi principali è che l’NSA, che richieste espressamente l’adozione di questa chiave, fosse in grado di decrittare un testo cifrato con una chiave di 56 bit.

Per ulteriori dettagli dell’algoritmo e alle sue diverse modalità operative, rimando per completezza d’informazione alla pagina di Wikipdia dedicata proprio al DES.