Tengo algunos problemas para entender la metodología de un ejercicio de criptografía que estoy haciendo. El objetivo del ejercicio es recuperar una cadena secreta encriptada a través de un ataque clave seleccionado en AES en modo ECB.
Tengo una función de Oracle que toma una cadena como entrada, le agrega la cadena secreta y devuelve la cadena cifrada AES-ECB-128 para ella, usando una clave estática generada de forma aleatoria.
oracle("text goes here!!") -> AES.encrypt("text goes here!!somesecretsomesecret", "staticrandomkey!")
Comprendo cómo obtener el texto en claro para la frase secreta utilizando el método descrito aquí , y he tenido éxito en la recuperación Cadenas secretas de 16 bytes.
Lo que no entiendo es, ¿cómo se puede aplicar ese método a cadenas secretas de más de 16 bytes? A menos que me falte algo obvio, solo funciona para recuperar el primer bloque de un secreto adjunto.