Para ello y como en el último desafío sobre criptografía que he puesto en este blog, utilizo el criptosistema de cifrado simétrico más empleado, AES ('Advanced Encryption Standard'), en el modo de operación CBC ('Cipher Block Chaining') de los algoritmos de cifrado por bloques.
Como siempre, se admiten soluciones en forma de comentarios a esta entrada. Pasado un tiempo iré proporcionando pistas para su resolución, un máximo de tres, y posteriormente actualizaré este post con la solución.
Reto 32: "Flipando un poco".
Supongamos que he interceptado un criptograma de una organización criminal que sé que se ha obtenido cifrando el texto en claro con AES en modo de operación CBC y, además, que también me las he ingeniado para hacerme con el texto en claro. Los dígitos que en él figuran se corresponden con un número de cuenta bancaria en la que el miembro de la organización al que va destinado este mensaje debe ingresar una importante cantidad del dinero obtenido como consecuencia de las actividades ilícitas llevadas a cabo (ver la información de partida de la que dispongo en los recursos asociados al reto). Si pudiera modificar el criptograma para que el miembro de la organización que lo reciba vea al descifrarlo un número de cuenta mío en lugar del que se le envía entonces podría no volver a trabajar nunca más :). El problema es que desconozco la clave de cifrado/descifrado, ¿me ayudas?. La solución a este reto es el nuevo vector de inicialización y el nuevo criptograma a enviar al receptor del mensaje para que ingrese el dinero en mi cuenta.
Dificultad:
Tipo: Criptografía.
Recursos:
- Criptograma: 9eaef1bbab38643957c7e9ca82d86075
- Vector de inicialización: fe5567e8d769550852182cdf69d74bb1
- Texto en claro (Número de cta.): 4800372564718908
- Mi número de cuenta: 3600538509837891
******** 07/07/2019
Pista 1: Aunque me he permitido una cierta licencia, yo diría que incluso excesiva :), a la hora de poner el título de este reto, posiblemente no se le escape a nadie que me estoy refiriendo al 'bit-flipping attack', que, tal y como nos cuenta wikipedia, puede consistir en que el atacante convierta el mensaje original en otro similar en el que altera cierta información a su conveniencia.
******** 08/07/2019
Pista 2: Evidentemente, en estas circunstancias, sólo tenemos control sobre los bloques del criptograma (Ci, donde C0 = IV - Vector de inicialización), por lo que la solución a este reto pasa necesariamente por modificar éstos hasta obtener el texto plano deseado. Para ello, inicialmente, sólo hay que tener presente una cosa: la modificación de un Byte de un bloque del criptograma (Ci) supone una modificación en el mismo Byte del bloque siguiente del texto plano (Pi+1).
Vale, ya sabemos cuál es la operativa para resolver éste reto, pero: ¿con qué valores modificamos los bloques del criptograma (en el reto: C0 = IV y C1) para que el miembro de la organización que reciba el mensaje vea al descifrarlo mi número de cuenta bancaria e ingrese el dinero en ella?.
******** 09/07/2019
Solución.
******** PRÓXIMO RETO
Reto 33: "El secreto está en el relleno".
Comentarios
Publicar un comentario