Key whitening

Da Wikipedia, l'enciclopedia libera.
Jump to navigation Jump to search

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: 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.

Bibliografia[modifica | modifica wikitesto]

Voci correlate[modifica | modifica wikitesto]