Key whitening

Da Teknopedia, l'enciclopedia libera.
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]