AES-GCM file encryption/decryption CLI tool
Project description
🔒 Kremographer
AES-GCM File Encryption/Decryption CLI Tool
Kremographer is a lightweight, command-line tool for encrypting and decrypting files using the AES-GCM (Galois/Counter Mode) encryption standard.
It provides cryptographic protection, password-based key derivation (PBKDF2-HMAC-SHA256), and simple usability from your terminal.
✨ Features
- 🔐 AES-256-GCM authenticated encryption
- 🧂 Random salt & nonce generation per file
- 🔑 Password-based key derivation using PBKDF2-HMAC-SHA256
- 🚫 Passwords never stored or logged
- ⚙️ Command-line interface for quick use
- 🧰 Cross-platform (Linux, macOS, Windows)
- 🧾 MIT licensed, open-source
📦 Installation
Install Kremographer directly from PyPI:
pip install kremographer
After installation, you’ll have a CLI command available globally:
kremographer --help
🧭 Usage
🔹 Encrypt a file
kremographer encrypt <input_file> <output_file>
Example:
kremographer encrypt notes.txt notes.enc
You’ll be prompted to create and confirm a secure password.
Passwords must include:
- At least 12 characters
- 1 uppercase letter
- 1 lowercase letter
- 1 number
- 1 special character
🔹 Decrypt a file
kremographer decrypt <encrypted_file> <output_file>
Example:
kremographer decrypt notes.enc notes.txt
You’ll be prompted for your password.
If the password or file is incorrect, decryption will fail safely.
🧩 Example session
$ kremographer encrypt practice.txt practice.enc
Please create a password: **************
Please re-enter your password: **************
-----------------------------------------------------------
File encrypted --> practice.enc
-----------------------------------------------------------
$ kremographer decrypt practice.enc practice_decrypted.txt
Enter your password for decryption: **************
-----------------------------------------------------------
File decrypted --> practice_decrypted.txt
-----------------------------------------------------------
⚠️ Notes
- If the output file already exists, you’ll be prompted before overwriting.
- Each encryption generates a unique salt and nonce, ensuring strong cryptographic safety.
- Passwords are never stored or written to disk — only used to derive a temporary encryption key.
- Losing your password means your data cannot be recovered.
🛠️ Dependencies
- cryptography >= 42.0
- Python >= 3.8
📜 License
This project is licensed under the MIT License.
Copyright © 2025 Kareem Mahfouf
💡 About
Kremographer was built as a simple yet secure way to handle file encryption using modern cryptographic standards.
Perfect for learning, research, or real-world file protection.
🧠 Future ideas
- Directory-wide encryption support
- Configurable password policies
- Optional integrity verification mode
- GUI frontend
Disclaimer:
Kremographer is an open-source tool that uses industry-standard encryption (AES-GCM via the Python cryptography library).
While it implements strong cryptographic practices, no software can guarantee absolute security.
Use at your own risk.
Developed with ❤️ by Kareem Mahfouf
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 kremographer-1.0.0.tar.gz.
File metadata
- Download URL: kremographer-1.0.0.tar.gz
- Upload date:
- Size: 5.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
53a384050a724697185b77ff55021f09d30a2c9f375b2329d6e167c1ea94bc54
|
|
| MD5 |
67372fd660b77722987ecd102521ce4c
|
|
| BLAKE2b-256 |
d16f53ff3072589ea8393212c6c405600c0e9629b046cea32d3eac717a8b96d2
|
File details
Details for the file kremographer-1.0.0-py3-none-any.whl.
File metadata
- Download URL: kremographer-1.0.0-py3-none-any.whl
- Upload date:
- Size: 6.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
282a7e8ce74071f3bd061d4001260d1b5f8d2ddf453af49b7c617207ded3472a
|
|
| MD5 |
107edfb4d08f32594a89321fa477c5b3
|
|
| BLAKE2b-256 |
a6c4bde9eeea6e13627cabc6625d9037ca3fee2c2cc8db45ead4564351e84518
|