Transform Crypt is a custom Python encryption system that secures text using a combination of mathematical transformations. It uniquely applies ASCII-coordinate mapping, rotation, shear, and randomized reflection to obfuscate characters in a reversible way. A new secret key is generated for each encryption instance and securely stored using Fernet-based symmetric encryption.
- Coordinate-Based Encryption – Maps characters to 2D space using ASCII values and their index.
- Rotation and Shear – Applies geometric matrix transformations to distort the input.
- Randomized Reflection – Reflects every nth character where
n
is randomly chosen per encryption. - System-Generated Key – A new encryption key is created for each encryption instance.
- Base64 Serialization – Final encrypted data is encoded for safe transmission or storage.
- Modular Python Design – Clean separation of logic across multiple files.
- Text input is mapped to coordinates.
- Shear, rotation, and optional reflection transformations are applied.
- Encrypted coordinates and parameters are serialized.
- Decryption reverses the process using metadata and key.
A clean and user-friendly landing page where users can input text and choose to encrypt or decrypt it.
Displays the encrypted result in a styled box with a copy button for convenience.
Shows the decrypted message restored from an encrypted string with proper formatting.
transform-crypt/
├── main.py # Entry point
├── encryption_module/
│ ├── __init__.py # Package exports
│ ├── encryption.py # Encryption logic
│ ├── decryption.py # Decryption logic
│ ├── transformations.py # All transformation functions
│ ├── key_manager.py # Secret key generation and retrieval
│ └── utils.py # Base64 encode/decode helpers
- Python 3.6 or higher
- No third-party libraries except:
pip install cryptography
git clone https://github.com/the-great-adee/transform-crypt.git
cd transform-crypt
python main.py
from encryption_module import encrypt, decrypt
text = "hi how are you"
# encryption
encrypted = encrypt(text)
print("Encrypted:", encrypted)
# cecryption
original = decrypt(encrypted)
print("Decrypted:", original)
- Floating-point rounding errors may affect very long texts.
- Unicode characters beyond basic multilingual plane (BMP) may not decrypt cleanly.
- No checksum or data integrity validation (can be added in future).
- Key is stored in memory via environment variable during runtime.
- Support for full Unicode character set
- Transformation chaining customizability
- File-level encryption support
- GUI for end-users
- Integrity verification (checksums, MACs)
- Improved key storage (external file or encrypted vault)
This project is licensed under the MIT License.
You're welcome to contribute! Feel free to open issues, suggest improvements, or submit pull requests.