Triple DES

cifrario a blocchi
Disambiguazione – "TDEA" rimanda qui. Se stai cercando l'omonimo politecnico colombiano, vedi Tecnológico de Antioquia.

In crittografia, il Triple DES (DES triplo) è un cifrario a blocchi basato sulla ripetizione del Data Encryption Standard (DES) per tre volte.

Triple Data Encryption Standard
Tre cifrature consecutive col DES
Generale
ProgettistiIBM
Prima pubblicazione1978
Derivato daDES
Successori-
Dettagli
Dimensione chiave168 bit
Dimensione blocco64 bit
StrutturaRete di Feistel
Numero di passaggiequivalente a 48 passaggi del DES
Migliore crittanalisi
Lucks: 232 testi in chiaro , 2113 operazioni incluse 290 cifrature DES, 288 memoria; Biham: trova una delle 228 possibili chiavi con un testo in chiaro prescelto per ogni chiave e 284 cifrature.

Algoritmo

modifica

Quando si scoprì che la chiave a 56 bit del DES non era abbastanza lunga da garantire la sicurezza contro attacchi a forza bruta, il TDES fu scelto come modo semplice per aumentare la lunghezza della chiave senza bisogno di cambiare algoritmo. L'uso di tre passaggi è essenziale per prevenire attacchi di tipo meet-in-the-middle che funzionano contro la doppia crittazione DES. Si noti che il DES non è un gruppo; se lo fosse, il TDES sarebbe equivalente al singolo DES, e non sarebbe più sicuro.

Sequenza di operazioni

modifica

La più semplice variante del TDES opera come segue:  , dove   è il blocco di messaggio da cifrare e  ,  , e   sono le chiavi DES. Questa variante è comunemente conosciuta come EEE perché tutte e tre le operazioni DES criptano ((E)ncription). Per semplificare l'interoperabilità tra il DES e il TDES il passaggio centrale è usualmente rimpiazzato con una decriptazione (modo EDE):   e quindi una singola criptazione DES con la chiave   può essere rappresentata come TDES-EDE con  . La scelta della decriptazione per il passaggio centrale non influisce sulla sicurezza dell'algoritmo.

Numero di chiavi

modifica

Siccome TDES utilizza tre passaggi di criptazione permette l'utilizzo di una, due o tre chiavi di criptazione. Il numero di chiavi adottate è indicato alla fine della notazione di ordine di esecuzione (es. DES-EEE1, DES-EEE2, DES-EEE3). L'utilizzo di un'unica chiave è il modo meno sicuro di implementare l'algoritmo in particolare se si utilizza la sequenza criptazione-decriptazione-criptazione (DES-EDE1) che, in realtà, si riduce ad un singolo ordine di criptazione perché i primi due passaggi si elidono a vicenda. L'utilizzo di tre chiavi differenti garantisce la migliore protezione come in DES-EEE3 e DES-EDE3.[1]

Sicurezza

modifica

In generale TDES con tre differenti chiavi (3TDES) ha una lunghezza della chiave di 168 bit: tre chiavi des da 56 bit ciascuna (con i bit di parità si arriva a una lunghezza di 192 bit), ma la sicurezza garantita è di soli 112 bit.

Una variante, chiamata TDES a due chiavi (2-key TDES) usa k1 = k3, riducendo così la lunghezza della chiave a 112 bit e la lunghezza effettiva a 128 bit. Tuttavia, questa modalità è suscettibile a certi attacchi con testo in chiaro scelto o testo in chiaro noto [2][3] e quindi si è ufficialmente[4] deciso che abbia solo 80 bit di sicurezza.

Il miglior attacco conosciuto alla criptazione TDES con tre chiavi distinte richiede circa 232 parole conosciute, 2113 passi, 290 cifrature DES singole, e 288 memoria[5] (l'articolo presenta altri confronti tra tempo e memoria). Questo non è attualmente fattibile. Se l'attaccante cerca di scoprire una qualunque delle molte chiavi crittografiche, c'è un attacco efficace in termini di memoria, che permette di scoprire una delle 228 chiavi, dando una quantità di parole da scegliere per chiave attorno alle 284 operazioni di cifrature[6]. Questo attacco è altamente parallelizzabile e potrebbe situarsi in un orizzonte di praticabilità, ammessa la disponibilità di budget di milioni di dollari e la disponibilità di anni di tempo per portare a termine l'attacco, sebbene le circostanze per il quale questo sarebbe utile sono limitate.

Utilizzo

modifica

Il TDES, praticamente in disuso, ora è rimpiazzato dal suo successore naturale, AES.

Per implementazione, il DES ed anche il TDES, soffrono di una bassa prestazione software; sui processori moderni, l'AES tende ad essere circa sei volte più veloce. Il TDES era adatto a implementazioni hardware su vari sistemi di cifratura ormai superati dall'efficienza e dalla scalabilità dell'AES che non richiede hardware dedicato.

Varianti del 3-DES

modifica
  • DES - EEE3: 3-DES con tre diverse chiavi di cifratura una per ogni passaggio
  • DES - EDE3: 3 Chiavi di cifratura diverse : una per cifrare , una per decifrare , una per cifrare nuovamente
  • DES - EEE2: Simile al DES-EEE3 ma la prima e la terza chiave sono uguali
  • DES - EDE2: Simile al DES-EDE3 ma la prima e la terza chiave sono uguali
  1. ^ (EN) CISSP Open Study Guide on domain 5 cryptography Archiviato il 28 settembre 2018 in Internet Archive.
  2. ^ (EN) Ralph Merkle, Martin Hellman: On the Security of Multiple Encryption Archiviato il 27 settembre 2011 in Internet Archive. (PDF), Communications of the ACM, Vol 24, No 7, pp 465-467, July 1981
  3. ^ (EN) Paul van Oorschot, Michael Weiner, A known-plaintext attack on two-key triple encryption, EUROCRYPT'90, LNCS 473, 1990, pp. 318--325.
  4. ^ (EN) NIST, Recommendation for Key Management — Part 1: general, NIST Special Publication 800-57
  5. ^ (EN) Stefan Lucks: Attacking Triple Encryption Archiviato il 9 novembre 2005 in Internet Archive. (PDF). Fast Software Encryption 1998: pp 239-253
  6. ^ (EN) Eli Biham: How to Forge DES-Encrypted Messages in 228 Steps Archiviato il 10 dicembre 2005 in Internet Archive. (PostScript). 1996.

Voci correlate

modifica

Collegamenti esterni

modifica