DES-X

Da Wikipedia, l'enciclopedia libera.
DES-X
Generale
Progettisti Ronald Rivest
Prima pubblicazione 1984
Derivato da DES
Dettagli
Dimensione chiave 184 bit
Dimensione blocco 64 bit
Struttura Rete di Feistel
Numero di passaggi 16
Migliore crittanalisi
Un attacco a crittanalisi lineare può recuperare una chiave DES-X con 260 testi in chiaro noti

In crittografia il DES-X (o anche DESX) è una variante del cifrario a blocchi DES (Data Encryption Standard) proposta da Ronald Rivest nel 1984 e sviluppata per incrementarne la resistenza agli attacchi a forza bruta attraverso una tecnica chiamata key whitening.

Motivazione dello sviluppo[modifica | modifica wikitesto]

L'algoritmo DES originale fu presentato nel 1976 con una chiave grande 56 bit, che offriva quindi 256 combinazioni per la chiave segreta. All'epoca ci fu un acceso dibattito secondo cui una chiave così corta fu scelta perché la National Security Agency (NSA), l'agenzia per la sicurezza nazionale statunitense, fosse già in possesso di elaboratori in grado di violare il DES con la forza bruta[1].

Ronald Rivest presentò perciò il DES-X allo scopo di incrementare la dimensione della chiave del DES senza alterarne la struttura: il suo algoritmo fu inserito nella libreria crittografica BSAFE da RSA Security alla fine degli anni ottanta.

Modifiche rispetto al DES[modifica | modifica wikitesto]

Il DES-X differisce dal DES originale per due operazioni di XOR applicate al testo in chiaro prima e dopo l'esecuzione del DES: questa tecnica, denominata key whitening ed utilizzata anche in altri cifrari (ad esempio nel Twofish), serve ad incrementare la sicurezza dell'algoritmo senza appesantirne eccessivamente i calcoli.

Nel DES-X, per ogni operazione di XOR vengono utilizzati 64 bit della chiave:

\mbox{DES-X}(M) = K_2 \oplus \mbox{DES}_K(M \oplus K_1)

Legenda dei simboli utilizzati nella formula:

  • K1: 64 bit della chiave applicati al testo in chiaro prima di eseguire il DES;
  • K2: 64 bit della chiave applicati al testo in chiaro dopo aver eseguito il DES;
  • M: messaggio in chiaro;
  • DESk: algoritmo DES con chiave 'k'.

Robustezza del DES-X[modifica | modifica wikitesto]

Nonostante la dimensione della chiave venga incrementata a 184 bit (56 + 2 × 64), la sicurezza effettiva è di soli 56+64-1-lg(M) =119 - lg(M) = ~119 bits, dove M è il numero di coppie note di testo cifrato/testo in chiaro che l'attaccante può ottenere, e lg() denota il logaritmo binario (a causa di ciò, alcune implementazioni stabiliscono K2 come una robusta funzione unidirezionale di K1 e K).

Il DES-X incrementa anche la robustezza del DES contro la crittanalisi differenziale e la crittanalisi lineare, anche se il miglioramento è molto meno importante che nel caso degli attacchi a forza bruta. È stato stimato che la crittanalisi differenziale richiede circa 261 testi in chiaro scelti (contro 247 necessari per il DES), mentre la crittanalisi lineare richiede 260 testi in chiaro scelti (contro 243 richiesti per il DES). È doveroso segnalare che con 264 testi in chiaro (noti o scelti non fa differenza in questo caso) il DES (o comunque qualsiasi altro cifrario a blocchi con un blocco dati di 64 bit) è totalmente violato utilizzando un semplice attacco di tipo codebook.

Note[modifica | modifica wikitesto]

  1. ^ Il coinvolgimento dell'NSA nello sviluppo del DES

Bibliografia[modifica | modifica wikitesto]

Voci correlate[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]