Skip to content

aclfe/StegIntelligence

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

StegIntelligence: GAN-based Steganography Tool

StegIntelligence is a deep learning-based steganography tool that uses Generative Adversarial Networks (GANs) to hide custom text within images. This project is implemented as a Jupyter Notebook for easy use in Kaggle environments.

Overview

Steganography is the practice of concealing information within other non-secret data or a physical object to avoid detection. StegIntelligence uses modern deep learning techniques to hide text messages within images in a way that is difficult to detect visually or through statistical analysis.

Features

  • Hide arbitrary text messages in images using GAN-based encoding
  • Recover hidden messages using a trained decoder network
  • Maintain high visual quality of images after embedding text
  • Evaluate steganography quality with metrics like PSNR and text recovery accuracy
  • Interactive Jupyter Notebook interface for easy experimentation

Requirements

  • Python 3.6+
  • TensorFlow 2.x
  • NumPy
  • Matplotlib
  • OpenCV (cv2)
  • tqdm

Usage in Kaggle

  1. Upload the notebook to Kaggle
  2. Enable GPU acceleration for faster training
  3. Run the notebook cells sequentially
  4. Use the provided functions to encode your own messages in images

Model Architecture

StegIntelligence uses three main components:

  1. Generator: Takes a cover image and text embedding as input and produces a stego image that contains the hidden message while looking visually similar to the original.

  2. Discriminator: Tries to distinguish between real (cover) images and generated (stego) images, helping the generator create more realistic stego images.

  3. Decoder: Extracts the hidden text from stego images.

Training Process

The model is trained adversarially:

  1. The generator learns to create stego images that fool the discriminator
  2. The discriminator learns to distinguish between cover and stego images
  3. The decoder learns to extract hidden text from stego images
  4. The combined loss function balances image quality and text recovery accuracy

Evaluation Metrics

  • PSNR (Peak Signal-to-Noise Ratio): Measures image quality degradation
  • MSE (Mean Squared Error): Measures pixel-level differences between original and stego images
  • Text Recovery Accuracy: Measures how accurately the hidden text can be recovered

Limitations

  • Performance depends on the quality and diversity of training data
  • Large texts may affect image quality more significantly
  • Model requires retraining for different image domains
  • Susceptible to image modifications (cropping, compression, etc.)

Future Improvements

  • Implement resistance to image transformations and compression
  • Support for hiding images within images
  • Improve text encoding efficiency
  • Add encryption layer for additional security

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages