En criptografía , el blanqueamiento de claves es una técnica destinada a aumentar la seguridad de un cifrado de bloques iterado . Consiste en pasos que combinan los datos con partes de la clave .
La forma más común de blanqueamiento de clave es xor-encrypt-xor : utilizar un XOR simple antes de la primera ronda y después de la última ronda de cifrado .
El primer cifrador de bloques que utiliza una forma de blanqueamiento de claves es DES-X , que simplemente utiliza dos claves adicionales de 64 bits para el blanqueamiento, además de la clave normal de 56 bits de DES . Esto tiene como objetivo aumentar la complejidad de un ataque de fuerza bruta , aumentando el tamaño efectivo de la clave sin cambios importantes en el algoritmo. El inventor de DES-X, Ron Rivest , denominó la técnica whitening .
El cifrado FEAL (seguido por Khufu y Khafre ) introdujo la práctica del blanqueamiento de claves utilizando porciones de la misma clave utilizada en el resto del cifrado. Esto no ofrece protección adicional contra ataques de fuerza bruta, pero puede dificultar otros ataques. En un cifrado Feistel o un algoritmo similar, el blanqueamiento de claves puede aumentar la seguridad al ocultar las entradas específicas a las funciones de primera y última ronda. En particular, no es susceptible a un ataque de encuentro en el medio . Esta forma de blanqueamiento de claves se ha adoptado como una característica de muchos cifrados de bloque posteriores, incluidos AES , MARS , RC6 y Twofish .