Skip to content

Telegram bot providing the ability to store text messages protected with AES-256 encryption inside an image

License

Notifications You must be signed in to change notification settings

tyranus-project/steganography-telegram-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Telegram Bot for Image Crypto-Steganography

Steganography is the art and science of invisible communication. It is achieved by hiding the message information in some other carrier media.

Image steganography is a subset of steganography where messages are hidden in image files. The original image, before any message is hidden in it, is referred to as the cover image. After hiding the message in it, it is referred to as the stego image. For human eye, these two images must be identical (in appearance at least).

This bot provides image steganography tools to hide secret text messages, both for encryption and decryption. Additionally, this implementation also enhance the security of the steganography through data encryption by using AES 256.

Installation and Launch

Using Docker

  1. Clone the repository:
git clone https://github.com/tyranus-project/steganography-telegram-bot
cd steganography-telegram-bot
  1. Rename environment file from example:
mv .env.dist .env
  1. Personalize configuration by modifying .env:
  • Create a new Telegram bot by talking to @BotFather and get its API token;

  • Set BOT_TOKEN to the value obtained using the step described above.

  • Change the value of SKIP_UPDATES to True if you want to process messages sent to the bot when it was not running.

  • The DATA_DIR value is used to determine the storage path for files coming from the user. Here, a tmpfs mount is used as storage, so be aware of all the assumptions and limitations of this mount method.

  1. Install Docker Compose.

  2. Build and run your container:

docker-compose up --build

Manual

  1. Clone the repository:
git clone https://github.com/tyranus-project/steganography-telegram-bot
cd steganography-telegram-bot
  1. Install Python with pip.

  2. Install requirements:

pip install -r requirements.txt
  1. Rename environment file from example:
mv .env.dist .env
  1. Personalize configuration by modifying .env:
  • Create a new Telegram bot by talking to @BotFather and get its API token;

  • Set BOT_TOKEN to the value obtained using the step described above.

  • Change the value of SKIP_UPDATES to True if you want to process messages sent to the bot when it was not running.

  • The DATA_DIR value is used to determine the storage path for files coming from the user.

  1. Launch bot:
python -m bot

License

This project is released under the MIT License. See LICENSE for the full licensing condition.

Limitations

  • The project uses simple in-memory based states storage, so you will lose all state after any restart.

  • As long as the files received from the user are stored in the directory, the path to which is defined in DATA_DIR, and the bot is working in normal mode, they can be accessed by means of the operating system.

Acknowledgments

About

Telegram bot providing the ability to store text messages protected with AES-256 encryption inside an image

Topics

Resources

License

Stars

Watchers

Forks