La esteganografía es la práctica de ocultar un mensaje de modo que nadie sospeche que existe. El cifrado revuelve un mensaje para que no pueda leerse; la esteganografía lo esconde dentro de algo común, como una foto de vacaciones o una nota de voz, para que a nadie se le ocurra buscarlo. La palabra viene del griego y significa "escritura cubierta".
La esteganografía digital trata sobre todo de imágenes, porque una foto contiene millones de números que se pueden alterar un poco sin que nadie note la diferencia. Esta guía explica los métodos que realmente existen, desde cambiar el último bit de un píxel hasta trabajar dentro de la compresión JPEG, por qué la mayoría de los trucos de "archivo oculto en una imagen" son algo más simple que la esteganografía de verdad, por qué enviar una foto por una app de mensajería suele borrar la parte oculta, y qué hacen las personas que buscan datos ocultos, llamadas esteganalistas.
Qué es la esteganografía
Todo sistema esteganográfico tiene las mismas tres partes. La carga útil (payload) es el secreto: un mensaje, un archivo, una carpeta. El portador (carrier), también llamado portada, es el archivo inocente que lo contiene: un PNG, un JPEG, una grabación WAV. El resultado, el portador con la carga útil adentro, se llama archivo estego o paquete. El artículo de Wikipedia sobre el tema agrega un cuarto término útil, la densidad de codificación: la proporción del portador que se modificó. Cuanto menor es la densidad, más difícil es notar el cambio y menos datos caben.
La ventaja sobre el cifrado, en palabras de Wikipedia, es que el secreto "no atrae la atención como objeto de escrutinio" (does not attract attention to itself as an object of scrutiny). Un archivo cifrado anuncia que se está protegiendo algo. La foto de un perro no anuncia nada. Esa es también la debilidad: una vez que alguien sospecha de la foto, la esteganografía por sí sola no protege nada, por eso las herramientas serias cifran primero la carga útil y la ocultan después. Ocultar da oscuridad. El cifrado es lo que mantiene seguro el contenido cuando la oscuridad falla.
La idea es 2,500 años más antigua que la computadora
Las historias más antiguas son físicas. Heródoto describe un mensaje tatuado en la cabeza rapada de un mensajero, enviado cuando el cabello ya había vuelto a crecer. Siglos después se usaron tintas invisibles que aparecen con el calor, y en el siglo XX los micropuntos redujeron una página de texto al tamaño de un punto final impreso. La palabra aparece por primera vez en 1499, en la Steganographia de Johannes Trithemius, un tratado de criptografía y esteganografía disfrazado de libro de magia.
La versión digital conserva la misma lógica y cambia el cuero cabelludo por un formato de archivo. Un portador solo necesita dos propiedades: alguna parte puede cambiar sin que un humano lo note, y un programa que sepa dónde mirar puede leer el cambio. Las imágenes tienen ambas en abundancia.
La esteganografía LSB cambia el último bit de cada color
El método de libro de texto es la inserción en el bit menos significativo (LSB, least significant bit). Un píxel en una imagen típica guarda rojo, verde y azul como números del 0 al 255, cada uno escrito con ocho bits. El último bit vale exactamente un escalón. Si lo cambias, un valor de rojo de 200 pasa a 201. Ninguna pantalla ni ojo puede mostrar esa diferencia.
Repite eso en cada valor de la imagen y la capacidad se acumula. Una foto de 12 megapíxeles tiene 36 millones de valores de color, así que un bit por cada uno son 36 millones de bits, unos 4.5 MB en teoría. Las herramientas reales usan mucho menos, tanto para pasar inadvertidas como porque dispersan los bits en un orden pseudoaleatorio derivado de una contraseña, de modo que la carga útil no sea un bloque ordenado en la parte superior de la imagen.
LSB solo funciona en formatos sin pérdida como PNG y BMP, donde cada valor de píxel se guarda exacto. Si guardas la misma imagen como JPEG, el compresor redondea los valores, revolviendo los últimos bits y el mensaje con ellos.
También es el método que mejor entienden los esteganalistas. Las fotos naturales tienen un patrón de ruido característico en sus bits bajos, y sobrescribir esos bits con datos cifrados, que se ven perfectamente aleatorios, cambia el patrón. Westfeld y Pfitzmann publicaron un ataque estadístico contra la inserción LSB en 2000, y Fridrich, Goljan y Du mostraron en 2001 que, en imágenes a color, la inserción aumenta el número de pares de colores "muy cercanos". Wikipedia indica que los cambios solo en LSB pueden detectarse "en algunos casos detectando densidades de codificación tan bajas como el 1% con una confiabilidad razonable" (in some cases detecting encoding densities as low as 1% with reasonable reliability), aunque esa cifra no tiene referencia allí. En Hacker News, un comentarista lo dijo con más franqueza: el ruido que introduce el reemplazo LSB ingenuo es "MUY fácil de detectar" (VERY easy to detect).
La esteganografía en JPEG funciona dentro de la compresión
La mayoría de las fotos en teléfonos y en la web son JPEG, así que las herramientas tuvieron que encontrar una forma de sobrevivir al redondeo de JPEG. La respuesta es ocultar los datos después del redondeo en lugar de antes.
Un codificador JPEG corta la imagen en bloques de 8 por 8 píxeles y convierte cada bloque en 64 coeficientes de frecuencia con una transformada llamada transformada de coseno discreta (DCT): un número para el brillo promedio del bloque, otros para el detalle grueso y fino. Luego divide esos coeficientes por una tabla de calidad y los redondea, que es donde ocurre la pérdida. La esteganografía en JPEG edita los propios coeficientes ya redondeados, así que nada de lo que haga el codificador después redondea el mensaje y lo borra.
Las primeras herramientas lo hacían de forma ingenua. JSteg y JPHide, dos de los programas que Provos y Honeyman probaron en 2001, cambian los bits bajos de los coeficientes de maneras que alteran su histograma global, algo que las pruebas estadísticas detectan. OutGuess, escrito por Niels Provos en 1999, inserta bits en coeficientes pseudoaleatorios y luego ajusta otros para que el histograma global coincida con el original, específicamente para derrotar el ataque de chi cuadrado.
No duró: un ataque de 2002 de Fridrich, Goljan y Hogea midió la "blockiness" (efecto de bloques) en los bordes de los bloques JPEG y rompió OutGuess, incluso estimando la longitud del mensaje oculto. steghide, la herramienta de línea de comandos más conocida, toma otro camino para JPEG y audio: intercambia pares de valores elegidos con la frase de contraseña, de modo que los conteos de cada color o muestra se mantengan iguales, lo que sus autores describen como resistente a las "pruebas estadísticas de primer orden" (first-order statistical tests).
Esa carrera armamentista sigue marcando el campo. Fridrich, Pevny y Kodovsky describieron en 2007 la esteganografía JPEG estadísticamente indetectable como un problema de investigación lleno de "callejones sin salida" (dead ends), y para 2012 el esteganálisis había pasado a clasificadores de aprendizaje automático entrenados con miles de características de imagen. Las dos afirmaciones que un lector encontrará en línea, que la esteganografía es "fácil de detectar" y que es "difícil de detectar", son ciertas. La línea divisoria es el algoritmo, no la idea.
La mayoría de los "archivos ocultos en una imagen" son datos añadidos, no esteganografía de verdad
Busca en YouTube cómo ocultar un archivo dentro de una imagen y la demostración más común no es LSB en absoluto. Es un comando de una línea en Windows:
- Pon una foto y un archivo zip en la misma carpeta.
- Ejecuta
copy /b photo.jpg + archive.zip combined.jpgen el Símbolo del sistema. En macOS o Linux,cat photo.jpg archive.zip > combined.jpghace lo mismo. - Abre
combined.jpg: muestra la foto. Cámbiale el nombre a.zipy muchas herramientas de archivos abren los archivos.
Esto funciona por cómo terminan los formatos. Un JPEG termina con un marcador de fin de imagen y un PNG con un bloque llamado IEND, que la especificación PNG define como "el último bloque en un flujo de datos PNG" (the last chunk in a PNG datastream). Los visores de imágenes dejan de leer ahí e ignoran lo que venga después. Los lectores de zip, en cambio, buscan el directorio del archivo al final del fichero y trabajan hacia atrás. Un archivo que dos programas distintos leen como válido se llama políglota (polyglot), y el "viejo truco del RAR", como lo llamó un usuario de Reddit en r/Steganography, es el ejemplo más común.
Una tercera familia está entre las dos. La mayoría de los formatos son contenedores de bloques con etiqueta y definen una forma de agregar bloques personalizados: PNG tiene bloques auxiliares, JPEG tiene segmentos de aplicación, MP4 tiene cajas definidas por el usuario, PDF permite comentarios. Un visor que no reconoce un bloque lo omite, así que el archivo sigue siendo totalmente válido y se abre con normalidad en todas partes. La capacidad es grande, gigabytes en un video, y nada en la imagen cambia.
Ninguna de estas dos últimas es esteganografía en sentido estricto, porque ninguna toca los píxeles ni intenta verse estadísticamente normal. El archivo simplemente lleva más de lo que su imagen necesita. La publicación más votada en una muestra reciente de r/Steganography ocultaba datos en los bytes de relleno de las líneas de escaneo de un BMP, y sus propios comentaristas detectaron los indicios: uno hizo la cuenta de la capacidad, otro dijo que "sospecharía de inmediato si alguien me enviara una imagen que no es png ni jpg" (be immediately suspicious if someone sent me an image that's not png or jpg). Los datos añadidos e insertados se ocultan de una persona que mira la imagen. No se ocultan de un programa que lee todo el archivo, y el archivo es visiblemente más grande que una foto común del mismo tamaño.
Compartir una foto a menudo destruye la carga útil
Los datos ocultos solo sobreviven si sobreviven los bytes exactos, y muchas de las formas en que la gente comparte fotos no los conservan.
Cuando una app de mensajería, una red social o un servicio de alojamiento de imágenes recibe una foto, a menudo no guarda el archivo que enviaste. Decodifica la imagen en píxeles, con frecuencia la cambia de tamaño y escribe un archivo comprimido completamente nuevo para ahorrar ancho de banda. Los bits LSB en los píxeles se revuelven con la nueva compresión. Las cargas útiles a nivel de coeficientes JPEG se redondean y desaparecen cuando cambia la calidad. Los bytes añadidos y los registros adicionales del formato generalmente no se copian, porque la app escribe el archivo nuevo solo a partir de los píxeles.
No hay una prueba pública sólida de qué apps hacen esto hoy, y el comportamiento cambia entre versiones y entre los modos de envío como "foto" y como "documento", así que trata cualquier envío como con pérdida mientras no se demuestre lo contrario. Las anécdotas apuntan todas en la misma dirección. Un usuario de Reddit en r/Steganography descubrió que la carga útil de una herramienta solo sobrevivía en la descarga PNG de Reddit, no en la versión WebP que Reddit sirve. Un comentarista de Hacker News recordó un intento anterior en el que "la mayoría de los servicios de imágenes eran lo bastante listos para detectar la codificación subóptima y 'amablemente' corregirla" (most image hosts were smart enough to detect the sub-optimal encoding and 'helpfully' fix it). El hábito seguro es simple: envía el archivo como archivo y comprueba que la copia que llegó todavía se abre antes de borrar el original.
El esteganálisis es el oficio de encontrar datos ocultos
Wikipedia define el esteganálisis como "el estudio de la detección de mensajes ocultos mediante esteganografía" (the study of detecting messages hidden using steganography), el equivalente del criptoanálisis. Sus objetivos se dan en tres pasos: detectar archivos sospechosos, decidir si llevan una carga útil y recuperarla si es posible. Los dos primeros son estadística e inspección de archivos. El tercero normalmente necesita la contraseña, por eso el cifrado importa incluso después de que se haya visto a través del ocultamiento.
El estudio de campo más conocido muestra lo difícil que es el tercer paso en la práctica. En 2001, Niels Provos y Peter Honeyman analizaron dos millones de imágenes de subastas de eBay. Su detector marcó unas 17,000, y un ataque de diccionario sobre ellas no encontró ningún mensaje oculto. El artículo de Wikipedia advierte que actuar solo con base en el esteganálisis es "una propuesta muy arriesgada a menos que una carga útil se haya recuperado y descifrado por completo" (a very dicey proposition unless a payload has been completely recovered and decrypted), porque de lo contrario el analista solo tiene "una estadística que indica que un archivo puede haber sido modificado" (a statistic indicating that a file may have been modified). La historia completa de cómo es la detección, y sus límites, está en ¿se pueden detectar las fotos ocultas?. Las herramientas de ambos lados, con su antigüedad y sus puntos débiles, se comparan en herramientas de esteganografía.
Cómo puede ayudarte HideFile
La mayoría de las personas que buscan esteganografía no necesitan un canal encubierto. Quieren que unas pocas fotos o archivos privados dejen de ser evidentes en un teléfono o laptop que otras personas toman. Para ese trabajo, las herramientas clásicas son incómodas: steghide guarda cargas pequeñas en JPEG y WAV, las herramientas LSB necesitan PNG, y ninguna te da una galería que puedas explorar.
HideFile toma el tercer enfoque del diagrama anterior. En hidefile.app, en cualquier navegador moderno, eliges una foto, un video o un PDF común como portada, agregas tus archivos privados y defines una contraseña. HideFile cifra los archivos en el navegador y los guarda como registros que el formato de archivo permite, así que la portada se sigue abriendo como una imagen, un video o un documento normal en cualquier otro lugar. Ábrela en hidefile.app con la contraseña y aparecen los archivos. No se sube nada a ningún servidor de HideFile y no hay nada que instalar.
Es ocultamiento más cifrado, y es honesto sobre cuál de las dos partes hace el trabajo. HideFile no cambia píxeles ni intenta engañar a las pruebas estadísticas. Una herramienta hecha para eso puede saber que se agregaron datos a la portada; lo que no puede hacer es leer el contenido sin la contraseña. Eso lo hace adecuado para mantener las cosas lejos de personas que revisan tus dispositivos, y la herramienta equivocada para un examinador especializado, una revisión en la frontera o una presión legal.
No hay recuperación de contraseña, y las apps que recodifican fotos pueden eliminar la parte oculta, así que conserva y comparte la portada como archivo. Para ver el panorama completo de a quién engaña cada truco para ocultar, consulta cómo ocultar archivos a simple vista, y para ver cómo se comparan las apps de bóveda de fotos, ¿es segura una app de bóveda de fotos?.
Fuentes
- Wikipedia: Steganography (revision of 2026-10-13, checked 2026-10-14)
- Wikipedia: Steganalysis (checked 2026-10-14)
- Wikipedia: OutGuess (checked 2026-10-14)
- Provos and Honeyman, Detecting Steganographic Content on the Internet, CITI Technical Report 01-11, 2001
- Westfeld and Pfitzmann, "Attacks on Steganographic Systems", Information Hiding (LNCS), 2000, doi:10.1007/10719724_5
- Fridrich, Goljan and Du, "Detecting LSB steganography in color and gray-scale images", IEEE Multimedia, 2001, doi:10.1109/93.959097
- Fridrich, Pevny and Kodovsky, "Statistically undetectable JPEG steganography: dead ends, challenges, and opportunities", ACM MM&Sec 2007, doi:10.1145/1288869.1288872
- Fridrich and Kodovsky, "Rich Models for Steganalysis of Digital Images", IEEE TIFS, 2012, doi:10.1109/tifs.2012.2190402
- W3C: PNG Specification (Third Edition), IEND chunk
- steghide: project home
- Microsoft Learn: copy command
- Reddit, r/Steganography: hiding .txt files in images?
- Reddit, r/Steganography: BMP scan-line padding post
- Reddit, r/Steganography: PNG download keeps the data, WebP does not
- Hacker News: comment on naive LSB detection
- Hacker News: comment on image hosts re-encoding