Triple DES: prolungare la vita di DES
Scopra come 3DES abbia esteso la sicurezza di DES attraverso più passaggi di cifratura e dove venga ancora utilizzato.
Triple DES: prolungare la vita di DES è una lezione Cryptology Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cryptology Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cryptology Academy include 4 lezioni in totale.
L'attacco meet-in-the-middle a Double DES
La soluzione più ovvia alla scarsa lunghezza della chiave di DES consiste nell'applicarlo due volte (Double DES): C = DES_K2(DES_K1(P)). Con due chiavi da 56 bit, lo spazio nominale delle chiavi è 2^112.
Tuttavia, l'attacco meet-in-the-middle vanifica questa soluzione: cifra tutti i testi in chiaro con tutti i 2^56 valori di K1, decifra tutti i testi cifrati con tutti i 2^56 valori di K2 e cerca i valori intermedi corrispondenti. L'attacco richiede soltanto 2^56 operazioni e 2^56 unità di memoria, quindi Double DES non offre alcun vantaggio di sicurezza rispetto a DES singolo.
Sicurezza di Triple DES a 2 chiavi
Triple DES con due chiavi utilizza tre operazioni DES ma solo due chiavi: C = DES_K1(DES^-1_K2(DES_K1(P))). L'ordine EDE (Encrypt-Decrypt-Encrypt) viene utilizzato per la compatibilità con le versioni precedenti.
La sicurezza di 3DES a 2 chiavi è di circa 112 bit contro gli attacchi noti, sebbene gli attacchi meet-in-the-middle la riducano in parte. 3DES a 2 chiavi è utilizzato in molti sistemi bancari e di pagamento legacy.
Triple DES a 3 chiavi
3DES a 3 chiavi utilizza tre chiavi indipendenti K1, K2 e K3: C = DES_K3(DES^-1_K2(DES_K1(P))). La lunghezza nominale della chiave è 3 x 56 = 168 bit, ma la sicurezza effettiva contro i migliori attacchi noti è di circa 112 bit.
3DES a 3 chiavi offre una sicurezza maggiore rispetto a 3DES a 2 chiavi ed era raccomandato per le nuove applicazioni in standard come NIST SP 800-131A, prima che 3DES stesso venisse deprecato.
Spiegazione della modalità EDE
La struttura Encrypt-Decrypt-Encrypt (EDE) di Triple DES non è arbitraria. Quando K1 = K2 = K3, la decifratura centrale annulla la prima cifratura e la cifratura finale produce lo stesso risultato di DES singolo.
Questa compatibilità con DES singolo era fondamentale per una migrazione graduale. L'hardware e il software DES esistenti potevano interoperare con i sistemi 3DES durante il periodo di transizione, senza perdita di dati.
Compatibilità con le versioni precedenti di DES singolo
Triple DES può ridursi a DES singolo impostando tutte e tre le chiavi allo stesso valore. Ciò significa che l'hardware 3DES può elaborare dati cifrati con DES e dati cifrati con 3DES utilizzando gli stessi circuiti.
Questo era particolarmente importante per i sistemi bancari e di pagamento, che disponevano di infrastrutture basate su DES dal valore di miliardi di dollari. 3DES consentì una transizione graduale e compatibile con le versioni precedenti, senza richiedere la sostituzione simultanea di tutte le apparecchiature.
3DES nei sistemi bancari e in EMV
3DES rimane ampiamente utilizzato nelle infrastrutture bancarie, anche se è deprecato per le nuove applicazioni. Le carte di pagamento con chip EMV utilizzano 3DES per l'autenticazione della carta e la crittografia delle transazioni.
Anche la messaggistica interbancaria SWIFT utilizza 3DES per i codici di autenticazione dei messaggi legacy. L'enorme estensione delle infrastrutture finanziarie già installate fa sì che 3DES continui a essere utilizzato sul campo ancora per molti anni, nonostante la deprecazione.
Deprecazione di 3DES da parte di NIST (2023)
NIST ha ufficialmente deprecato 3DES nel 2023 tramite la revisione 2 di SP 800-131A. Ogni utilizzo di 3DES è ora deprecato: non dovrebbe essere impiegato nei nuovi sistemi e i sistemi legacy dovrebbero essere migrati verso un'alternativa.
Il sostituto raccomandato è AES. AES è più veloce, utilizza blocchi più grandi (128 bit invece di 64 bit), offre chiavi da 128, 192 o 256 bit e non presenta vulnerabilità pratiche note.
Attacco del compleanno Sweet32
Sweet32, pubblicato nel 2016, ha dimostrato un attacco pratico contro 3DES in HTTPS. La dimensione del blocco di 64 bit fa sì che, dopo 2^32 blocchi (circa 32 GB di dati), le collisioni dovute al paradosso del compleanno nella modalità CBC inizino a rivelare informazioni sui testi in chiaro.
Contro sessioni HTTPS, Sweet32 richiedeva circa 785 GB di traffico sotto la stessa chiave, una quantità raggiungibile con una sessione autenticata di lunga durata. L'attacco spinse i browser a dare priorità ad AES-GCM e a rimuovere 3DES dalle suite di cifratura predefinite.
Svantaggio prestazionale di 3DES
Triple DES esegue tre operazioni DES per blocco. DES è lento sull'hardware moderno perché fu progettato per l'hardware degli anni Settanta, con schemi di operazioni bit a bit diversi da quelli delle CPU moderne.
AES, progettato per essere efficiente in software e per sfruttare l'hardware moderno con le istruzioni AES-NI, è da 10 a 100 volte più veloce di 3DES in software. Le istruzioni AES-NI delle moderne CPU Intel/AMD possono cifrare diversi gigabyte al secondo, mentre 3DES fatica a raggiungere 100 MB/s.
La dimensione del blocco rimane di 64 bit
Nonostante utilizzi tre operazioni DES e chiavi più lunghe, 3DES conserva la dimensione del blocco di DES, pari a 64 bit. La dimensione del blocco è un parametro fondamentale della struttura di Feistel e non può essere modificata senza riprogettare l'algoritmo.
Questa dimensione del blocco di 64 bit è la causa principale della vulnerabilità Sweet32. La dimensione del blocco di 128 bit di AES fa sì che gli attacchi del compleanno richiedano 2^64 blocchi (~18 exabyte), una quantità computazionalmente irrealizzabile nella pratica.
Il percorso di migrazione di NIST da 3DES ad AES
NIST SP 800-131A fornisce una guida dettagliata per la migrazione da 3DES ad AES. Raccomanda AES con chiavi da 128, 192 o 256 bit come sostituto per tutti gli impieghi di 3DES, dalle suite di cifratura TLS alla cifratura dei dati archiviati.
La migrazione è ben supportata: ogni moderna libreria crittografica e piattaforma hardware supporta AES, spesso con accelerazione hardware. Si raccomanda alle organizzazioni di considerare la migrazione come un aggiornamento della configurazione software, anziché come un progetto di sostituzione dell'hardware.
Quiz sulle opzioni delle chiavi 3DES
Metta alla prova le proprie conoscenze sulle configurazioni di Triple DES.
Punti chiave: Triple DES
Triple DES è stato creato per prolungare la durata di DES utilizzando la struttura EDE. Gli attacchi meet-in-the-middle impediscono a Double DES di offrire una sicurezza doppia. 3DES con chiavi uguali si riduce a DES singolo, consentendo la compatibilità con le versioni precedenti.
NIST ha dichiarato obsoleto 3DES nel 2023 a causa della vulnerabilità legata alla dimensione del blocco di 64 bit (Sweet32) e delle prestazioni inferiori rispetto ad AES. Continua a essere utilizzato nelle infrastrutture bancarie ed EMV come sistema legacy.
Domande Frequenti
La lezione «Triple DES: prolungare la vita di DES» è gratuita?
Sì — il testo completo di «Triple DES: prolungare la vita di DES» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cryptology Academy, passa a CoddyKit PRO. Il corso Cryptology Academy include 4 lezioni in totale.
Cosa imparerò in «Triple DES: prolungare la vita di DES»?
Scopra come 3DES abbia esteso la sicurezza di DES attraverso più passaggi di cifratura e dove venga ancora utilizzato. Eserciti Cryptology Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Cryptology Academy?
Non è richiesta alcuna esperienza precedente. Cryptology Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Triple DES: prolungare la vita di DES»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Cryptology Academy?
Sì. Ogni lezione Cryptology Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Progettazione di DES e cifrario Lucifer
- Come è stato violato DES
- Triple DES: prolungare la vita di DES
- Lezioni da DES: cosa abbiamo imparato