Cifrado fotográfico
Oculta un mensaje cifrado dentro de una foto, pensado para sobrevivir a la recompresión moderada de las apps de chat.
Pensado para sobrevivir a una recompresión JPEG moderada.
Cómo funciona
Qué hace
Cifrado fotográfico oculta un mensaje cifrado dentro de una foto normal, de forma pensada para sobrevivir a una recompresión JPEG moderada, que es lo que hacen las apps de chat y las redes sociales con las imágenes. Quien recibe la foto la abre aquí con la misma contraseña y recupera el mensaje.
Cómo se oculta el mensaje
La foto se divide en bloques de 8×8 píxeles, la misma cuadrícula con la que trabaja JPEG. Cada bloque lleva un bit: su brillo medio se desplaza al escalón par o impar más cercano de una escala de 24 niveles, una técnica llamada modulación por índice de cuantificación (QIM) que Brian Chen y Gregory Wornell describieron hacia 1998. La compresión JPEG conserva bastante bien el brillo medio de un bloque, así que los bits suelen sobrevivir. Cada bit se escribe 7 veces en bloques repartidos por toda la imagen, y una votación por mayoría corrige las copias dañadas.
Cifrado y capacidad
Antes de ocultarlo, el mensaje se cifra con AES-256-GCM usando una clave derivada de tu contraseña con Argon2id (64 MiB de memoria, 3 pasadas). La foto se escala para que sus lados midan entre 800 y 2048 píxeles. La capacidad es pequeña: una foto de 800×800 admite unos 78 caracteres, y las fotos más grandes admiten más.
Limitaciones
Redimensionar, recortar, aplicar filtros, cambiar el brillo o comprimir con mucha fuerza destruye los datos ocultos, y algunas apps reducen automáticamente las fotos grandes. Envía la foto como archivo siempre que puedas y pruébala antes. Los cambios de brillo pueden notarse como un ligero efecto de bloques en zonas lisas, como el cielo. El patrón de ocultación es público, así que cualquiera con esta herramienta puede saber que una foto contiene datos; solo el contenido está protegido, por tu contraseña. Todo se ejecuta en tu navegador y la foto no se sube.