🔒 CipherVeil : Katapayadi System 🔒
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
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
-
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.
-
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.
-
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:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - 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:
- Developer: Yashkumar Dubey
- GitHub: https://github.com/YashAPro1/kat_cipher
Metadata
Release files for kat-cipher 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kat_cipher-1.0.1.tar.gz | 13.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kat_cipher-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.5 kB
Release files / kat_cipher-1.0.1.tar.gz
| Download URL | kat_cipher-1.0.1.tar.gz |
|---|---|
| Size | 13.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dd0b299a3739b6c91b6ce04a256689e963029b3e581a73560d084d9425454001
|
|
BLAKE2b-256 checksum How to use checksums |
e3eff843fe7a56d5290b3c9bb7bda443ae78403f129f2da5f65264ba52c39d84
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.13
|
Release files / kat_cipher-1.0.1-py3-none-any.whl
| Download URL | kat_cipher-1.0.1-py3-none-any.whl |
|---|---|
| Size | 11.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c49658290b7c3a358fed0c011b716f9a46f36bce68d2a8bb02be46266626d305
|
|
BLAKE2b-256 checksum How to use checksums |
416fb07912d8e20a3443df75b86f47c8dbfe640258f90a342347141e8acb44f7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.13
|