Una clave débil para un cifrado de bloque es una clave tal que el cifrado y el descifrado resulten ser la misma función. Esto significa que con tal clave, una caja negra que nominalmente encripta solo las cosas también puede usarse para desencriptar cosas. Una clave semi-débil es una clave tal que la función de descifrado con esa clave es idéntica a la función de cifrado con otra clave.
DES es una permutación con bloques de 64 bits; hay 2 64 ! dichas permutaciones (es un número enorme, cerca de 10 347382171305201285699 ) y la tecla selecciona una de esas permutaciones. Hay "sólo" 2 56 claves posibles, por lo que las funciones de cifrado 2 56 y las funciones de descifrado 2 56 "deben" ser todas distintas de entre nosotros, con una probabilidad abrumadora, si asumimos que la clave selecciona permutaciones "al azar" (ese es el modelo de "cifrado ideal"). La existencia de claves débiles y semi-débiles es, por lo tanto, una estructura adicional, que vale la pena mencionar, aunque llamarlas "debilidades" es una exageración. Las claves débiles y las claves semi-débiles son parte de una clase más general de "debilidades" llamadas claves relacionadas . Las claves relacionadas pueden ser una preocupación en algunos escenarios específicos donde un atacante puede forzar el uso de claves relacionadas a través de alguna debilidad en el proceso de generación de claves; a menos que se haga algo totalmente incorrecto (como se hizo con WEP) o el cifrado de bloque se usa de forma inusual (por ejemplo, como un bloque de construcción para una función hash en un construcción Merkle-Damgård ), los ataques de claves relacionadas no son una amenaza real para la seguridad.
La prueba de una clave dada para ser "débil" no es útil con DES, porque el riesgo de que una clave generada correctamente sea "débil" es extremadamente bajo. Simplemente "probar" unos pocos miles de claves potenciales ("fuerza bruta") producirá una tasa de éxito mucho mayor por mucho menos esfuerzo.
3DES son tres instancias de DES seguidas, también tiene "teclas débiles": se le dan teclas débiles K1 , K 2 y K3 para DES, la tecla K 1 || K 2 || K 3 es una "tecla débil" para 3DES. Como es el caso de DES, esta es una curiosidad matemática notable, pero no tiene implicaciones prácticas de seguridad.