Key whitening

Da Wikipedia, l'enciclopedia libera.

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 usò una forma di key whitening fu il DES-X, che utilizzava semplicemente 2 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 disegnò 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: ovviamente ciò non offre nessuna 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]

Riferimenti[modifica | modifica wikitesto]