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.0.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.0-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kat_cipher-1.0.0.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.0.tar.gz
Algorithm Hash digest
SHA256 2a775d55947da993a0249eeace7aaaba704e36f37cd9ce90d556ad4c19dea732
MD5 99c0b55da285145ccaee9f1a5bac9c15
BLAKE2b-256 1d190f4077c87801a70b445cb13869725fbeb6c4b3c4bb77dfad2a8ff8d431a4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kat_cipher-1.0.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b56c8d8710b06fd8cdee957a143d389c325c47121b6595149cee34a5a5c53f97
MD5 b83ff4eb6134898d40a8a84631b0bf64
BLAKE2b-256 0da834b34f77dd1220f41a234c3f22c667d770ae281eb24c4d33f8e7f02eabf7

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