P: ¿Cómo decides que una clave en particular es una clave débil?
Eso depende del cifrado (el algoritmo mismo). Según Wikipedia:
En la criptografía, una clave débil es una clave que, utilizada con un cifrado específico, hace que el cifrado se comporte de alguna manera indeseable.
P: Tengo algunas cosas como en el caso de WEP, las teclas débiles son aquellas cuyos vectores de inicialización tienen la forma de (B + 3,255, x).
WEP usa RC4 que, de nuevo según Wikipedia:
A diferencia de un cifrado de flujo moderno (como los de eSTREAM), RC4 no toma un nonce separado junto con la clave. Esto significa que si se va a utilizar una sola clave a largo plazo para cifrar de forma segura múltiples transmisiones, el protocolo debe especificar cómo combinar el nonce y la clave a largo plazo para generar la clave de transmisión para RC4.
Entonces, a diferencia de la mayoría de los cifrados, las teclas débiles incluyen la IV . Desafortunadamente, el programa clave de RC4 es débil, el IV de WEP es demasiado corto y la construcción de combinar (concatenar) la clave y IV es demasiado simplista, lo que lleva a an attack .
P: y la condición de las claves débiles depende del tipo de función de cifrado que usamos. ex - en wep, finalmente estamos XOReando el texto plano y la secuencia de teclas para obtener el texto cifrado
Una vez más, depende del cifrado.
Lo que describiste anteriormente es la construcción general que utiliza un cifrado de flujo para cifrar los datos. Hay cifrados de flujo que tienen claves débiles o que son vulnerables. Pero ciertamente hay cifrados de flujo que no tienen claves débiles y se consideran seguros.
El XOR de la secuencia de claves con el texto plano no es el problema aquí.
Otros cifrados (bloques) con claves débiles son IDEA, Blowfish. DES es probablemente el cifrado más conocido con claves débiles:
Dado que todas las subclaves son idénticas, y DES es una red Feistel, la función de cifrado se autoinvierte; es decir, a pesar de cifrar una vez que da un texto de cifrado de aspecto seguro, cifrar dos veces produce el texto sin formato original.
Esto significa que si un atacante le enviara de vuelta el texto cifrado como texto simple para que lo cifre (es decir, usándolo como un oráculo de cifrado), el atacante recuperará el texto simple en el caso especial en que se usaron las teclas débiles.
No hace falta decir que los cifrados modernos intentan evitar las claves débiles; cada clave debe ser tan segura como cualquier otra clave.