1)Dicen que una clave k de DES se comporta como débil si en cada mensaje m de la forma
DESk(DESk(m))=m
dice que cifrar dos veces con la clave k es igual a cifrar primero con k y luego descifrarlo con k. Y el ejercicio pide que se encuentren cuatro de las claves posibles.
Indicación: Recordad que al cofrar con k se utilizan las 16 subclaves en el orden k1, k2, ..., k16 y al descifrar se utilizan en el orden contrario k16, k15, ..., k1. Donde se sugiere considerar los siguientes casos:
a)Caso en que la clave inicial es o bien k = 111 ... 111 (cadena formada por todo unos) o bien k = 000 ... 000 (cadena formada por todo ceros).
b)Caso en el que C0 o D0 tienen todos sus bits iguales, donde C0 y D0 siguen la notacion de los apuntes. Hay que tener en cuenta que los dos casos anteriores estan contemplados en este.
2) Una clave k de DES se dice semidebil si no es una clave debil y ademas existe otra clave k' tal que para cada mensaje m
DESk'(DESk(m)) = m
es decir, cifrar con k' equivale a descifrar con k. Hallar una relación entre las subclaves de k y k' que asegure lo anterior y, a partir de aquí, indicar como se podrán obtener claves semidébiles.
Indicacion: dada la clave k llamamos C0D0 a la cadena de 48 bits que da lugar por desplazamiento a las cadenas C1D1, ... , C16D16 las cuales permiten obtener las subclaves k1, k2, ... , k16. De la misma forma, para la clave k' denotamos por C'0D'0 y C'1D'1, ... , C'16D'16 a las cadenas que dan lugar a las subclaves k'1, k'2, ... , k'16 correspondientes.
Si se verican las condiciones
C1 = C'16, C2 = C'15, C3 = C'14, ... , C16 = C'1
(y la misma relacion con las cadenas de tipo D y D' que siguen el mismo proceso), entonces k1 = k'16, k2 = k'15, ... , k16 = k'1, y se cumplira la condicion de clave semidebil. Estudiar ahora como pueden ser los bits de C0 comparados con los de C'0 para que se verifiquen las condiciones anteriores.
Eternamente agradecido.