Sanskrit-Encoded Post-Quantum Cryptography SDK
Project description
Abhedya: Sanskrit-Encoded Post-Quantum Cryptography
Unmatched Speed. Unbreakable Security.
Abhedya is a high-performance Post-Quantum Cryptography (PQC) library that implements a Lattice-based (LWE) cryptosystem with a unique capability: Linguistic Steganography. It can encode ciphertexts into valid, prosodically correct Sanskrit verse.
Features
- Post-Quantum Security: Based on the Learning With Errors (LWE) problem ($N=768, Q=3329$).
- Sanskrit Steganography: "Metered Mode" produces ciphertexts that follow classical Anushtubh meter (Sloka).
- High Performance: Sub-microsecond encryption (<1ms) via optimized Rust core.
- Cross-Platform: Python bindings for the core Rust implementation.
Installation
pip install abhedya
Note: This package requires a compatible C runtime (provided in wheels for Linux/macOS/Windows).
Quick Start
from abhedya import Abhedya, EncryptionMode
# Initialize
crypto = Abhedya()
# 1. Generate Keys (Kyber-style LWE)
pk, sk = crypto.keygen()
print(f"Public Key Size: {len(pk)} bytes")
# 2. Encrypt (Standard Mode - High Speed)
message = b"Secret Message"
ciphertext = crypto.encrypt(pk, message, mode=EncryptionMode.STANDARD)
print(f"Ciphertext: {len(ciphertext)} bytes")
# 3. Decrypt
decrypted = crypto.decrypt(sk, ciphertext)
print(f"Decrypted: {decrypted.decode('utf-8')}")
Advanced Usage: Metered Mode (Steganography)
To generate ciphertext that mimics the statistical properties of Sanskrit verse (Poetry), use EncryptionMode.METERED.
# Encrypt with Metering (Slower, but steganographic)
ciphertext_verse = crypto.encrypt(pk, message, mode=EncryptionMode.METERED)
# The output binary is shaped to map to Sanskrit syllables
# adhering to Laghu/Guru (Light/Heavy) weight patterns.
API Reference
Abhedya(lib_path: str = None)
Initializes the library. Automatically finds the shared object if installed via pip.
keygen() -> (bytes, bytes)
Generates a new Keypair.
- Returns:
(public_key, secret_key)
encrypt(pk: bytes, msg: bytes, mode: int) -> bytes
Encrypts a message.
mode:0(Standard): Raw LWE output.1(Metered): Prosody-compliant output.
decrypt(sk: bytes, ct: bytes) -> bytes
Decrypts the ciphertext.
License
MIT License. See Repository for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file abhedya-1.0.3.tar.gz.
File metadata
- Download URL: abhedya-1.0.3.tar.gz
- Upload date:
- Size: 3.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d206d9742c84c147f435d6eb0d7407e391983bff6b71f77209036abb6f9ea77
|
|
| MD5 |
19707e71bd45010d6adcf265895d7284
|
|
| BLAKE2b-256 |
9b5121526c489bd5b0f61f000bdb20584cebd1681be645e6e1e41724e9632d53
|
File details
Details for the file abhedya-1.0.3-py3-none-any.whl.
File metadata
- Download URL: abhedya-1.0.3-py3-none-any.whl
- Upload date:
- Size: 3.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a6c207029d21418938f95fc8c87a378ec9cb6e19bfe9444ea63017835de5059
|
|
| MD5 |
7ef8108285c8de71c96d8d77aff57b27
|
|
| BLAKE2b-256 |
2f5f774e4f7d8eeb538f65841230a48f108c26e5bc8404879d0167dbef26a98b
|