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
Metadata
Release files for umay-crypto 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 | Provenance | Actions |
|---|---|---|---|---|
| umay_crypto-1.0.1.tar.gz | 7.0 kB | Without provenance | Details for umay_crypto-1.0.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| umay_crypto-1.0.1-py3-none-any.whl | Python 3 | none | any | Details for umay_crypto-1.0.1-py3-none-any.whl |
Total release size: 14.6 kB
Release files / umay_crypto-1.0.1.tar.gz
| Download URL | umay_crypto-1.0.1.tar.gz |
|---|---|
| Size | 7.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8a77e860ac59a95a6fc566d45ce68f385250122f1131e07e902f99eaa23372ce
|
|
BLAKE2b-256 checksum How to use checksums |
37093f238a4c3f1862cbb6cc6775f28418c212f7b21fb611eaac0ec2f4df4d4a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.6
|
Release files / umay_crypto-1.0.1-py3-none-any.whl
| Download URL | umay_crypto-1.0.1-py3-none-any.whl |
|---|---|
| Size | 7.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b15ed2132b898fc188d156b5986692f9a50fd6a1fda7b37505261e081651e021
|
|
BLAKE2b-256 checksum How to use checksums |
a0f96ef3f81d5f3fc1943aef910d5a04e3824cb5112c005ff60371b262d1e370
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.6
|
Security for umay-crypto 1.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.