Ya hemos ordenado nuestro universo. Solución al reto de ElevenPaths de la semana anterior

lunes, 3 de diciembre de 2018

Ya hemos ordenado nuestro universo. Solución al reto de ElevenPaths de la semana anterior imagen

El lunes anterior os pedíamos poner orden en el universo criptográfico de ElevenPaths. Se trataba de un juego con unas reglas sencillas: el primero que descubriese el mensaje secreto en las imágenes ganaría 111 euros. Este tipo de retos ya los hemos propuesto anteriormente, y ahora hemos optado por jugar con la criptografía visual y secretos compartidos.

En qué consiste y cómo hacerlo tú
El reto se basa en la técnica de la Criptografía Visual. Como su propio nombre indica, se trata de producir un secreto en forma de imagen y descomponerla en partes, de forma que el secreto vuelve a su forma original siempre y cuando se posean todas sus partes. Es decir, incluso poseyendo n-1 partes, no podríamos obtener información alguna acerca del secreto.

Por supuesto, una vez se obtienen los fragmentos, su unión o suma produce el secreto original. En concreto, para solucionar este reto, tan solo teníamos dos partes o imágenes, que combinadas nos proporcionaban el mensaje secreto: "STELA FILETRACK ROCKS!".

Si queremos experimentar con esta técnica, podemos usar este script en Python 2 aquí  o el mismo, modificado ligeramente, si tenemos más a mano Python 3:

La única dependencia es la librería PIL, instalable (solo en caso de no poseerla previamente):

pip install --user Pillow

A continuación, creamos una imagen de 200x200 y fondo transparente con un mensaje "secreto" con cualquier editor gráfico, por ejemplo:

reto criptografia imagen 1


Ejecutamos el script que os proporcionamos con la imagen que posee el mensaje secreto:

python ./visual_cryptography.py secreto.jpg

Esto nos proporcionará dos imágenes:
reto criptografia imagen 2

Si la imagen secreta no tenía el fondo transparente, modificamos las imágenes anteriores con Imagemagick para asignar al color blanco el atributo de transparente:

convert ./secreto_A.png -transparent white secreto_A.png

convert ./secreto_B.png -transparent white secreto_B.png

Tal y como comentamos más arriba, usamos ImageMagick para combinarlas:

convert secreto_A.png secreto_B.png -flatten salida.png

Si abrimos salida.png, observaremos el mensaje original:


reto criptografia imagen 3

La participación y diferentes soluciones

Han participado más de 60 personas, la mayoría escribió el mismo lunes. Algunos usaron PINE tools para solucionarlo, otros, un comando como este.

magick.exe convert square*.png -background None -layers flatten r1.png

(similar en Linux). Alguno ha usado herramientas online como esta y otros se trabajaron su propio código Python.

 
reto criptografia imagen 5

Otros han optado por escribir su propio código HTML y jugado con los CSS, han superpuesto los PNG en el offset adecuado. 



Y hay hasta quien ha usado Matlab para solucionarlo.


reto criptografia imagen

Pero lo más sencillo sin duda era usar cualquier programa para superponer imágenes. Por ejemplo, Paint 3D del propio Windows, PowerPoint, GIMP, etc. Copiar una imagen y pegar la otra encima, en cualquier orden, mostraría ya el resultado final. Como última fórmula, imprimir los esquemas y superponer las páginas (bien cuadradas y en papel suficientemente translúcido), también serviría.
 
Ganador
El ganador escribió el mismo lunes a las 10:04, apenas unos minutos después de mostrar el reto. Por supuesto desveló la frase STELA FILETRACK ROCKS! que ocultaba el juego. Stela Filetrack es una nueva apuesta que ElevenPaths presentó en el pasado Security Innovation Day, Utilizó un método sencillo pero eficaz para resolverlo. Simplemente abrió ambas imágenes en diferentes pestañas del navegador y las "agitó" pasando de una a otra con la ayuda de las teclas muy rápidamente para crear el efecto de superposición momentánea, pero suficiente para descubrir el mensaje secreto.

Su nombre es Álvaro Reyes, y recordamos que ya ganó una edición anterior del reto de junio de 2017. ¡Enhorabuena!

Innovación y Laboratorio
www.elevenpaths.com

No hay comentarios:

Publicar un comentario