La palabra estenografía viene del Griego, steganos (cubierto, oculto) y graphos (escritura), lo que podemos "traducir" como el arte de ocultar información en algo.
La estenografía ha estado presente desde hace bastantes siglos. Claro ejemplo es el de Heródoto, historiador y geógrafo Griego (464-425 a.c) y que cuenta en uno de sus libros que para mandar mensajes a otra persona, en unas tablas (de la época) rayó la cera que las cubría y sobre la madera grabo un mensaje para después volver a cubrir con cera las inscripciones. Ademas a uno de los esclavos le rapo el pelo, y le tatuó el mensaje en la cabeza. Esperó a que le creciese el pelo y mandó que se lo volviesen a rapar para leer el mensaje.
Como ésta, hay muchas más a lo largo de la historia...
En la actualidad en la estenografía digital nos basamos -por ejemplo- en esconder
bits. La estenografía a nivel de bits lo veremos mas cómodamente en el lenguaje
binario. Esto es debido a que es mas fácil la manipulación a nivel de bits.
Una de las formas mas extendidas de la estenografía es a través de las imágenes, que a su vez podríamos diferenciar en 4 grandes grupos:
- BMP -> Es el más simple. Están formados por una cabecera y el y el código de cada pixel. Pueden ser de 4, 8, 16 ó 32 dependiendo de la paleta de colores.
- JPG -> Suele ser el mas usado en la actualidad ya que muchos smarphones y cámaras de fotos las guardan en ese formato por defecto.
- GIF -> Este formato solo acepta una paleta de 256 colores (8 bits) lo que lo convierte en mal candidato para fotos digitales por ejemplo. En cambio suele ser el mas usado para las paginas web.
- PNG -> Digamos que es el .gif mejorado. Soporta transparencias y acepta una paleta superior a 256 colores.
También podemos hablar de distintos "lenguajes" o códigos como por ejemplo:
- ASCII -> Hay 95 caracteres que van del 32 al 126. Este código usa 7 bits para representar esos 95 caracteres.
- Hexadecimal -> El sistema Hexadecimal es de base 16. Utiliza como símbolos diez dígitos decimales y las seis letras del alfabeto: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
- Binario -> Se usa en electrónica digital e informática y se representa solo con dos dígitos, el 1 y el 0. A cada dígito binario se le llama Bit y cuando son 8, se le llama Byte.
Bien , después de toda esta chapa, y sabiendo que podemos ocultar información en "algo" vamos a ver como podríamos hacer algo chulo.
Uno de los métodos mas sencillos es el de "sumar" 2 archivos para obtener solo uno a través de la consola (CMD). Me explico con un ejemplo:
Abrimos una terminal en Windows (inicio, ejecutar, y escribimos cmd) a continuación ponemos lo siguiente.
copy /b C:\imagen.jpg + C:\archivoZip.zip C:\foto.jpg
Donde copy es copiar, /b nos indica que lo copiaremos como binario, C:\imagen.jpg nos indica el nombre del primer archivo y la ruta donde esta, C:\archivoZip.zip nos indica el nombre del segundo archivo y la ruta donde esta y C:\foto.jpg es la "salida" del archivo, es decir el resultado de la suma de los dos archivos.
Podéis probar con un par de archivos una imagen y un documento .txt que después comprimimos, los unimos con este método y ya tendríamos oculto el .zip en una foto. Si después cambiamos la extensión del resultado de foto.jpg por foto.zip podríamos acceder a lo que hubiésemos escrito en el .txt.
Hay otros métodos como el LSB que consiste en reemplazar el bit con menos valor de cada pixel por el bit que queremos ocultar. Este método podemos usarlo en audio y vídeo aunque no es muy recomendable.
También hay mas técnicas de estenografía avanzada pero no vamos a hablar de ello, ya que esto solo es una primera toma de contacto y no os quiero aburrir (más)
Por ultimo, hablare un poco sobre el estegoanálisis, el cual podemos definir como la disciplina dedicada al estudio de mensajes ocultos en el uso de la estenografía.
Hay dos tipos de estegoanálisis:
- Método Estadístico -> Consiste en que un programa verifique si hay alguna irregularidad en la imagen (por ejemplo) que estemos analizando.
- Análisis superficial -> Solo lo podemos llevar a cabo si tenemos los 2 ficheros, el modificado y el original, ya que se trata de ir comparando y ver si hay diferencias entre ambos.
Como veis, he tocado un poco por encima el tema de la estenografía el cual es muy amplio y se necesita de mucho tiempo y estudio para dominarlo. Aquí solo he hecho una pequeña introducción al tema.
Bueno, a todo esto, seguro que te estas preguntando que pinta Goku en todo esto. Pues bien, es un "mini reto" para ver si sois capaces de sacar lo que hay oculto en la imagen.
Basado en el manual de xionex.