UmayCrypto
umay-crypto is a Python library for AES-256-GCM encryption with Argon2id key derivation, Orhun (Old Turkic) rune encoding, an interactive function security decorator, and in-memory execution of encrypted Python scripts.
Installation
pip install umay-crypto
Quick Start
Basic Encryption & Decryption
import umay_crypto
# Encrypt data
ciphertext = umay_crypto.encrypt("Sensitive payload", password="SecretPassword123")
print("Encrypted:", ciphertext)
# Decrypt data
plaintext_bytes = umay_crypto.decrypt(ciphertext, password="SecretPassword123")
print("Decrypted:", plaintext_bytes.decode("utf-8"))
Function Security Decorator (@protect)
Prompt for passwords interactively before executing critical functions:
import umay_crypto
token = umay_crypto.encrypt("OK", password="SecretPassword123")
@umay_crypto.protect(encrypted_token=token, prompt="Password: ")
def wipe_database():
print("Database cleared.")
wipe_database()
In-Memory Encrypted Script Execution
Encrypt Python source files and execute them directly in memory without writing decrypted code to disk:
import umay_crypto
# Encrypt script to a .umay payload
umay_crypto.encrypt_python_file("app.py", "app.umay", password="SecretPassword123")
# Execute .umay payload directly in RAM
umay_crypto.run_encrypted_file("app.umay", password="SecretPassword123")
Technical Details
- Encryption: AES-256-GCM (Authenticated Encryption with Associated Data).
- Key Derivation: Argon2id KDF with OWASP-compliant memory and iteration settings.
- Encoding: Permuted Orhun (Old Turkic) rune mapping derived deterministically per key.
- Execution: RAM-only dynamic execution via
exec()for encrypted files.
License
MIT License
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 umay_crypto-1.0.1.tar.gz.
File metadata
- Download URL: umay_crypto-1.0.1.tar.gz
- Upload date:
- Size: 7.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a77e860ac59a95a6fc566d45ce68f385250122f1131e07e902f99eaa23372ce
|
|
| MD5 |
76dc2e426caa22a982966e575657d715
|
|
| BLAKE2b-256 |
37093f238a4c3f1862cbb6cc6775f28418c212f7b21fb611eaac0ec2f4df4d4a
|
File details
Details for the file umay_crypto-1.0.1-py3-none-any.whl.
File metadata
- Download URL: umay_crypto-1.0.1-py3-none-any.whl
- Upload date:
- Size: 7.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b15ed2132b898fc188d156b5986692f9a50fd6a1fda7b37505261e081651e021
|
|
| MD5 |
64871ed8faacf5c2ab4957ccc0874c09
|
|
| BLAKE2b-256 |
a0f96ef3f81d5f3fc1943aef910d5a04e3824cb5112c005ff60371b262d1e370
|