Skip to main content

A Python package for Sanskrit-based text steganography in images.

Project description

🔒 CipherVeil : Katapayadi System 🔒

CipherVeil : Katapayadi System

Ancient cryptography meets modern steganography
Hide your secrets in plain sight using the wisdom of Sanskrit


📌 Overview

The CipherVeil : Katapayadi System is a sophisticated Python package that seamlessly hides messages within images using Sanskrit characters. It implements a novel encoding method inspired by the ancient Katapayadi system - a traditional Sanskrit numerical notation system dating back to ~700 CE. The system first converts English text into Sanskrit characters before embedding them in images using LSB (Least Significant Bit) steganography.

✨ Features

  • 🔠 Text to Sanskrit Encoding – Transforms English messages into Sanskrit characters using the Katapayadi system
  • 🖼️ Advanced Image Steganography – Embeds text within images using LSB encoding for undetectable message hiding
  • 🔍 High Resilience – Maintains image quality while preserving message integrity
  • 🖥️ Modern GUI – Features an intuitive PyQt6-based interface with dark mode
  • 📜 Bidirectional Translation – Extracts hidden Sanskrit-encoded text and converts it back to English
  • 🛡️ Enhanced Security – Adds an extra layer of security through Sanskrit encoding
  • 🐍 Developer-Friendly API – Simple, well-documented API for both CLI and GUI applications

📥 Installation

From PyPI (Recommended)

pip install sanskrit-stegano

From Source (Development)

git clone https://github.com/YashAPro1/kat_cipher.git
cd kat_cipher
pip install -e .

Dependencies

The system requires the following packages:

pip install opencv-python numpy pyqt6

🚀 Usage

🛠️ Python API

from sanskrit_stegano import SanskritSteganoSystem

# Initialize the system
system = SanskritSteganoSystem()

# Define your inputs
message = "This message will be hidden using Sanskrit encoding"
image_path = "input.png"  # Your cover image
output_path = "secret_output.png"  # Where to save the steganographic image

# Encoding - Hide your message in an image
system.encode_message_to_image(message, image_path, output_path)
print("✅ Message successfully hidden inside image!")

# Decoding - Extract the hidden message from an image
decoded_message = system.decode_message_from_image(output_path)
print("🔓 Decoded Message:", decoded_message)

💻 Command Line Interface

# Encode a message
sanskrit-stegano encode --message "Your secret message" --input input.png --output hidden.png

# Decode a message
sanskrit-stegano decode --input hidden.png

🖥️ GUI Application

Launch the graphical interface with:

# If installed via pip
sanskrit-stegano-gui

# If running from source
python -m sanskrit_stegano.gui

🖼️ GUI Preview

CipherVeil : Katapayadi System GUI

The graphical user interface provides two main functions:

  • Left Panel: Encode your secret message in an image
  • Right Panel: Decode hidden messages from steganographic images

🧠 How It Works

  1. Katapayadi Encoding: The system first converts your message into a series of Sanskrit characters using a modernized version of the ancient Katapayadi numerical encoding system.

  2. Steganographic Embedding: The Sanskrit-encoded message is then hidden within the least significant bits of the image pixels, making the changes imperceptible to the human eye.

  3. Extraction and Decoding: To recover the message, the system extracts the modified bits from the image and translates the Sanskrit characters back to the original text.

🔒 Security Considerations

While this system provides an excellent way to hide messages, please note:

  • It's designed for educational purposes and light security needs
  • For critical security applications, consider combining with encryption
  • The strength lies in the dual-layer obscurity (steganography + Sanskrit encoding)

📋 Requirements

  • Python 3.8+
  • OpenCV
  • NumPy
  • PyQt6 (for GUI)

📚 Documentation

For detailed API documentation and examples, please visit our Documentation Page.

🛠️ Development Setup

For developers who want to contribute:

# Clone the repository
git clone https://github.com/YashAPro1/kat_cipher.git

# Setup development environment
cd kat_cipher
pip install -e ".[dev]"

# Run tests
pytest

🙌 Contributing

Contributions are welcome! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Please ensure your code follows our coding standards and includes appropriate tests.

📜 License

This project is licensed under the MIT License - see the LICENSE file for details.

💡 Inspiration

This project draws inspiration from:

  • The ancient Katapayadi system of Sanskrit numerical notation
  • Modern steganography techniques
  • The rich cryptographic heritage of ancient India

📧 Contact

For questions, support or collaboration:


Built with ❤️ using ancient wisdom and modern code

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kat_cipher-1.0.1.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kat_cipher-1.0.1-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

Details for the file kat_cipher-1.0.1.tar.gz.

File metadata

  • Download URL: kat_cipher-1.0.1.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for kat_cipher-1.0.1.tar.gz
Algorithm Hash digest
SHA256 dd0b299a3739b6c91b6ce04a256689e963029b3e581a73560d084d9425454001
MD5 2f060e1d5521aa373c55b1ac57f8cff7
BLAKE2b-256 e3eff843fe7a56d5290b3c9bb7bda443ae78403f129f2da5f65264ba52c39d84

See more details on using hashes here.

File details

Details for the file kat_cipher-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: kat_cipher-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 11.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for kat_cipher-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c49658290b7c3a358fed0c011b716f9a46f36bce68d2a8bb02be46266626d305
MD5 48286de7393ae4ef1e9d03bb6c97541d
BLAKE2b-256 416fb07912d8e20a3443df75b86f47c8dbfe640258f90a342347141e8acb44f7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page