Key whitening

Da Wikipedia, l'enciclopedia libera.
Versione del 5 gen 2024 alle 16:43 di Simone Biancolilla (discussione | contributi) (Aggiunto il template "Cifratura a blocchi")
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Vai alla navigazione Vai alla ricerca

In crittografia si definisce key whitening (mascheramento della chiave) la tecnica mediante la quale si cerca di incrementare la sicurezza di un cifrario a blocchi iterato attraverso passi successivi durante i quali vengono combinati i dati da cifrare con porzioni della chiave (in genere mediante semplici operazioni di XOR) prima del primo passaggio e dopo l'ultimo passaggio del processo di cifratura.

Il primo cifrario a blocchi che usava una forma di key whitening fu il DES-X, che utilizzava semplicemente due ulteriori chiavi da 64 bit in aggiunta a quella standard da 56 bit del DES: in questo modo si intendeva aumentare la complessità di un attacco a forza bruta incrementando la dimensione della chiave senza introdurre ulteriori modifiche alla struttura dell'algoritmo. Ronald Rivest, che progettò il DES-X, battezzò questa tecnica con il termine key whitening.

Il cifrario FEAL (seguito dal Khufu e Khafre) introdusse la pratica del key whitening usando porzioni della stessa chiave utilizzata nel resto del cifrario: ciò non offre protezione aggiuntiva da un attacco a forza bruta, ma può rendere altri tipi di attacco più difficili da portare a termine.

In un cifrario di Feistel, o in algoritmi simili, il key whitening può incrementare la sicurezza occultando gli input specifici del primo e dell'ultimo passaggio della funzione di cifratura. In particolare, si evita la possibilità di un attacco di tipo meet-in-the-middle. Questa forma di key whitening è stata adottata come caratteristica da molti altri cifrari a blocchi, come il MARS, l'RC6 ed il Twofish.

Voci correlate

[modifica | modifica wikitesto]