Pregunta

¿Cómo puedo escribir información dentro de un archivo de foto como jpg o gif sin destruir la imagen? y, por supuesto, sin mostrarlo en la foto, ¡ya que la idea es enviar información en el archivo de la foto sin ser detectada por nadie (para proporcionar seguridad / privacidad en cierta medida)!

¿Fue útil?

Solución

Puede almacenar información en los metadatos de la imagen. De hecho, así es como las cámaras digitales "etiquetan" las fotos que están haciendo (modelo de cámara, fecha y hora, códigos GPS, etc.).

Este formato de datos se denomina EXIF ?? (formato de archivo de imagen intercambiable). Hay muchos ejemplos de cómo usarlo en lenguajes de programación. Aquí está el ejemplo en Java.

Si desea evitar que los usuarios lean estos datos, puede encriptarlos de alguna manera, pero siempre podrán eliminarlos de su imagen (abriendo en Photoshop y usando Guardar como, por ejemplo).

Otros consejos

Puede concatenar un gif y un zip (la información que desea ocultar) en un archivo. Los gifs se leen desde el inicio del archivo, mientras que los zip se leen desde el final del archivo.

Para crear dicho archivo en Linux:

$ cat file1.gif >> outfile.gif
$ cat file2.zip >> outfile.gif

El archivo resultante debe tener el tamaño de file1.gif y file2.zip juntos y debe ser abierto por cualquier visor de gif y controlador de archivos zip.

Estoy seguro de que hay muchas maneras. Aquí hay uno:

En una fotografía, las variaciones menores de color a menudo no se notan a simple vista, o incluso si se notan, pueden confundirse fácilmente con defectos en la calidad de la imagen.

Entonces, para tomar un ejemplo simple, suponga que tiene una imagen GIF en escala de grises en la que la paleta está dispuesta en orden de blanco a negro con un rango suave de grises en el medio. No estoy seguro de cuánto sabe acerca de los formatos de archivos gráficos, pero en GIF tiene un byte por píxel, con cada asignación de valor de byte posible a un color específico. Entonces, en este caso, podríamos decir paleta # 0 = RGB (0,0,0), paleta # 1 = RGB (1,1,1), ... paleta # 255 = RGB (255,255,255).

Luego tomas una fotografía ordinaria y real. Divide tu mensaje secreto en partes individuales. Establezca el último bit de cada número de índice de paleta en bits sucesivos de su mensaje.

Por ejemplo, suponga que los primeros ocho píxeles de la foto original son, digamos, 01 00 C9 FF FF C8 42 43. Su mensaje comienza con la letra "C", código ascii 0110 0111. Entonces cambia el último bit del primer byte a 0, cambiando el byte de 01 a 00. Cambia el último bit del segundo byte a 1, cambiando el byte de 00 a 01. Cambia el último bit del tercer byte a 1. Ya es 1 , así que eso no hace ninguna diferencia. Etc. Usted termina con los 8 bytes codificados siendo 00 01 C9 FE FF C9 43 43.

Los cambios en los colores serían tan sutiles que es poco probable que cualquiera que vea la imagen se dé cuenta. Incluso si lo notaron, a menos que tuvieran una razón para sospechar, probablemente concluirían que la imagen era de una calidad menos que perfecta.

Por supuesto, nada dice que tenga que usar 1 bit por byte para el mensaje secreto. Dependiendo de cuánta degradación en la calidad cree que puede salirse con la suya, podría usar 2 bits por byte, o simplemente cambiar 1 bit en cada otro byte, etc.

Por supuesto, se puede usar la misma técnica con fotos en color: cambie el último bit en cada uno de los componentes RGB para codificar 3 bits por píxel, etc.

Hola, ese método se llama Steganography. Con eso podemos ocultar mensajes no solo en imágenes, sino también en audio, vedeo y otros formatos.

Aquí hay un software de esteganografía de Openouce llamado steganotool Este proyecto es una herramienta de esteganografía de código abierto que se puede usar para ocultar y extraer texto hacia / desde imágenes de mapa de bits.

Acerca de los medios de esteganografía

Esteganografía en imágenes

Este tipo de esteganografía es muy eficaz contra el descubrimiento y puede servir para una variedad de propósitos. Estos propósitos pueden incluir autenticación, ocultación de mensajes y transmisión de claves de cifrado. El método más efectivo para este tipo de esteganografía es normalmente el método de bits menos significativo. Esto simplemente significa que el mensaje oculto alterará el último bit de un byte en una imagen. Al alterar ese último bit, no habrá relativamente cambios en el color de ese píxel dentro de la imagen portadora. Esto evita que el mensaje sea fácilmente detectado. El mejor tipo de archivo de imagen para ocultar información dentro es un mapa de bits de 24 bits. Esto se debe al gran tamaño del archivo y la alta calidad.

Esteganografía en audio

En los archivos de audio, el método más destacado para ocultar información es el método de codificación de bits bajos. El método de codificación de bits bajos es algo similar al método de bits menos significativo utilizado en los archivos de imagen. La información secreta se adjunta al final del archivo. Uno de los problemas con la codificación de bits bajos es que puede ser notable para el oído humano. Si alguien está tratando de ocultar información, esto podría ser arriesgado, ya que es fácilmente detectable. El método de espectro ensanchado es otro método que se ha utilizado para ocultar información en archivos de audio. Lo que hace este método es agregar ruido aleatorio a la transmisión de audio. Este método permite que la información se extienda a través del espectro de frecuencia y permanezca oculta bajo el ruido aleatorio. El último método visto en la esteganografía de audio es la ocultación de datos de eco. Este método busca ocultar información mediante el uso de los ecos que ocurren naturalmente en los archivos de sonido. Luego, se puede agregar sonido adicional a estos ecos, el sonido oculto es el mensaje oculto. Esta es una forma suficiente de ocultar información, especialmente porque incluso mejora el sonido del archivo de audio original en algunos casos.

Esteganografía en video

La esteganografía en videos básicamente oculta información en cada cuadro de video. Solo una pequeña cantidad de información está oculta dentro del video, generalmente no se nota en absoluto, sin embargo, cuanta más información esté oculta, más notable se volverá. Este método también es efectivo, pero debe hacerse correctamente o, de lo contrario, revelar más información en lugar de ocultarlo.

Esteganografía en documentos

Esto es básicamente agregar espacios en blanco y pestañas a los extremos de las líneas de un documento. Este tipo de La esteganografía es extremadamente efectiva, porque el uso de espacios en blanco y pestañas no es visible para el ojo humano en la mayoría de los editores de texto / documentos.

También puede consultar este proyecto de código abierto

Este artículo puede ser muy útil.

Si desea ocultar datos (texto, otra imagen, lo que sea) en un archivo jpeg, simplemente puede agregarlo al final del archivo. Cuando se ve la imagen, solo verá la imagen original y sus datos agregados serán ignorados.

Si bien no es una forma súper engañosa de ocultar datos, esta es una buena forma de ocultar otro jpeg, como si alguien abriera el archivo en el bloc de notas o en un editor hexadecimal, probablemente no notarán que hay dos jpegs y no uno porque el final de la segunda imagen se verá igual que la primera de todos modos.

En Windows puede usar un comando simple para ocultar el archivo en la imagen: copy / b cat.jpg + Documents.rar cat_new.jpg. Y luego use, por ejemplo, winrar para extraer datos de la imagen desde el archivo.
Pero la mejor manera es usar esteganografía.
programa simple para linux y windows: http://linux01.gwdg.de/~alatham/ stego.html
usando este programa usarás una frase de contraseña, sin ella nadie sabrá que ocultaste algunos datos en la imagen))

los datos comprimidos en archivos gif están en fragmentos de tamaño variable. cada fragmento comienza con un byte de longitud. Por lo general, estos fragmentos tienen 255 bytes de datos (y el byte de longitud dice 255), excepto los dos últimos fragmentos (el último es 0)

Pero podría volver a codificar el gif con fragmentos cuyo tamaño deletrea el mensaje por ejemplo, usando caracteres para texto o bytes ASCII 1 2 3 4 que representa 00 < code> 01 10 11 datos binarios,

El análisis de

frecuencia de bytes en el gif revelaría menos de 255 bytes esperados. y el tamaño sería mayor que el original, pero la imagen se vería exactamente igual.

No necesita ningún tipo de herramienta avanzada para ocultar un archivo en una imagen, solo necesita conocer algunos comandos básicos de DOS ... solo siga el siguiente enlace para ver cómo hacerlo (es una breve descripción de esteganografía de imagen ):

https://www.youtube.com/watch?v= ox9ArqXtaWw & amp; list = PLqEKOAKK4IbSTfDJZE_lH-DiOjOzZUczx & amp; index = 2

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top