StegoLab reúne herramientas prácticas, librerías de apoyo e implementaciones de investigación para trabajar en esteganografía, estegoanálisis y watermarking.
Tools
Herramientas orientadas al uso práctico, incluyendo estegoanálisis, esteganografía y librerías de apoyo.
Aletheia
Aletheia es una herramienta libre de estegoanálisis para la detección de mensajes ocultos en imágenes. Para alcanzar sus objetivos, Aletheia usa técnicas de machine learning del estado del arte. Es capaz de detectar diferentes métodos de esteganografía, como por ejemplo F5, Steghide, métodos basdos en sustitución del LSB, LSB matching y métodos adaptativos.
Artículos sobre estegoanálisis práctico con Aletheia:
- Introducción al estegoanálisis con Aletheia.
- Cómo identificar el esquema de esteganografía.
- Ataque práctico a Steghide.
- Ataque práctico a F5.
- Ataque práctico a esquemas LSB replacement: OpenStego y OpenPuff.
- Resolución de stego-puzzles con Aletheia.
- Comparativa de herramientas de esteganografía en imágenes.
- Entrenamiento de modelos para Aletheia.
HStego
HStego es una herramienta para ocultar información en imágenes de tipo mapa de bits y en imágenes JPEG. Esta herramienta usa algunos de los más avanzados métodos de esteganografía que se conocen, junto con un límite en la cantidad de datos que esconde, calculado para que no pueda ser detectada por herramientas modernas de estegoanálisis.
Stego Retweet
Stego Retweet es una herramienta para esconder mensajes en Twitter mediante retweets. Usando una lista de hashtags proporcionada por el usuario, esta herramienta busca y realiza retweets de tweets que contienen ciertas palabras especiales. De esta manera es capaz de transmitir un mensaje que podrá ser leído por un destinatario poseedor de una contraseña. La capacidad de este esquema es de dos caracteres por retweet.
Python JPEG Toolbox
Python JPEG Toolbox es una librería similar al concodio JPEG toolbox de Matlab. Permite leer y escribir información de bajo nivel de archivos JPEG, como, por ejemplo, los coeficientes DCT, o las matrices de cuantización.
Python Syndrome Trellis Codes
PySTC es una interfaz en Python para los Códigos Síndrome-Trellis (STC), un método utilizado en la esteganografía para minimizar la distorsión en la inserción al ocultar información dentro de medios digitales. Los STC son códigos convolucionales lineales representados mediante una matriz de verificación de paridad, lo que permite una inserción eficiente mientras se preserva la calidad del medio portador.
Research Code
Implementaciones, prototipos y código experimental asociado a publicaciones y trabajo técnico de investigación.
Esteganografía
Códigos:
-
Códigos de Hamming binarios: Implementación en Python de la incrustación de información mediante técnicas de matrix embedding usando códigos de Hamming binarios. Puedes encontrar más información en el artículo “Códigos de Hamming binarios en esteganografía”.
-
Códigos de Hamming ternarios: Implementación en Python de la incrustación de información mediante técnicas de matrix embedding usando códigos de Hamming ternarios. Los códigos ternarios permiten una capacidad superior a la de los códigos binarios para el mismo nivel de distorsión del medio. Puedes encontrar más información en el artículo “Códigos de Hamming ternarios en esteganografía”.
-
Wet Paper Codes: Implementación en Python de la técnica de incrustación presentada en el artículo “Writing on Wet Paper” de Jessica Fridrich, Miroslav Goljan, Petr Lisoněk y David Soukal
-
Syndrome Trellis Codes: Implementación en Python de la técnica de incrustación presentada en el artículo “Minimizing embedding impact in steganography using trellis-coded quantization” de Tomáš Filler, Jan Judas y Jessica Fridrich.
Funciones de coste:
-
S-UNIWARD: Implementación en Python del método de esteganografía para ocultar información en imágenes de mapa de bits propuesta en el artículo “Universal Distortion Function for Steganography in an Arbitrary Domain” de Vojtěch Holub, Jessica Fridrich y Tomáš Denemark.
-
J-UNIWARD: Implementación en Python del método de esteganografía para ocultar información en imágenes JPEG propuesta en el artículo “Universal Distortion Function for Steganography in an Arbitrary Domain” de Vojtěch Holub, Jessica Fridrich y Tomáš Denemark. Incluye implementaciones aceleradas con Numba y descompresión a RGB sin redondear el valor de los píxeles.
-
J-UNIWARD + Cost Polarization: Implementación en Python de la técnica de polarización de costes usando el filtro Wiener para J-UNIWARD, propuesto en el artículo JPEG Steganography With Estimated Side-Information de Weixiang Li, Kejiang Chen, Weiming Zhang, Hang Zhou, Yaofei Wang y Nenghai Yu.
-
RBV: Implementación en Python del método de esteganografía para ocultar información en imágenes JPEG propuesta en el artículo “Distortion function based on residual blocks for JPEG steganography” de Qingde Wei, Zhaoxia Yin, Zichi Wang y Xinpeng Zhang.
-
HILL: Implementación en Python del método de esteganografía para ocultar información en imágenes de tipo mapa de bits propuesto en el artículo “A New Cost Function for Spatial Image Steganography” de Bin Li, Ming Wang, Jiwu Huang y Xiaolong Li.
Estegoanálisis
-
Ataque ATS: Implementación en Python del ataque ATS, una técnica de estegoanálisis no supervisado presentado en el artículo Unsupervised steganalysis based on artificial training sets [arXiv] de Daniel Lerch-Hostalot y David Megías.
-
Ataque de Calibración: Implementación en Python del ataque a F5 (Esteganografía JPEG) propuesto en el artículo Steganalysis of JPEG Images: Breaking the F5 Algorithm de Jessica Fridrich, Miroslav Goljan y Dorin Hogea.
-
pyEC: Interfaz Python a la versión implementada en Matlab de Ensemble Classifiers para estegoanálisis, presentada en el artículo “Ensemble Classifiers for Steganalysis of Digital Media” de Jan Kodovský, Jessica Fridrich y Vojtěch Holub.
Watermarking
-
H[$i$]dden: Método de incrustación reversible en el dominio complejo con cifrado homomórfico presentado en el paper Complex Domain Approach for Reversible Data Hiding and Homomorphic Encryption: General Framework and Application to Dispersed Data de David Megias, 2025 [pdf] [slides].
-
E-Blind: Incrustación a ciegas y detección mediante Correlación Lineal. Este método simplemente añade un patron a la imagen. Método etiquetado como System 1 en el libro Digital Watermarking and Steganography de I. J. Cox, M. L. Miller, J. A. Bloom, J. Fridrich y T. Kalker.
-
E-Fixed-LC: Incrustación informada con correlación lineal fija y detección mediante correlación lineal. Este método ajusta la fuerza de la marca para garantizar una correlación lineal específica. Método etiquetado como System 2 en el libro Digital Watermarking and Steganography de I. J. Cox, M. L. Miller, J. A. Bloom, J. Fridrich y T. Kalker.
-
E-blk-Blind: Incrustación a ciegas basada en bloques y detección mediante coeficiente de correlación. Método etiquetado como System 3 en el libro Digital Watermarking and Steganography de I. J. Cox, M. L. Miller, J. A. Bloom, J. Fridrich y T. Kalker.
-
E-Simple-8: Incrustación a ciegas de 8 bits y detector de 8 bits. Método etiquetado como System 4 en el libro Digital Watermarking and Steganography de I. J. Cox, M. L. Miller, J. A. Bloom, J. Fridrich y T. Kalker.
-
E-Trellis-8: Incrustación usando códigos de Trellis y detección mediante el algoritmo de Viterbi. Método etiquetado como System 5 en el libro Digital Watermarking and Steganography de I. J. Cox, M. L. Miller, J. A. Bloom, J. Fridrich y T. Kalker.