# AESus πβοΈπΉ
*Because your secrets deserve more than earthly protection.*
---
## π§Ώ What is This?
**AESus** is a lean, word-based AES-256 encryption tool written in Rust, with just a hint of divine mischief. It turns memorable passphrases into strong encryption keys, helping you lock up your messages and files without resorting to arcane keyfiles or 32-character gibberish.
Itβs built for privacy nerds, terminal romantics, and anyone who prefers encryption with a little style.
---
### π AESus Web App (Lite Version)
Want to encrypt messages in style, right from your browser?
π [aesus.vercel.app](https://aesus.vercel.app)
> β οΈ **Note**: The web version uses simplified encryption (AES-256-CBC with SHA-256 derived key).
> For **stronger, authenticated encryption** (AES-256-GCM + PBKDF2 + salt + nonce), use the [Rust CLI version](https://crates.io/crates/aesus).
Perfect for casual message locking or secret note passing.
Not recommended for storing the nuclear codes.
---
## β¨ Features
* π **Memorable passphrases** β PBKDF2-HMAC-SHA256 β AES-256-GCM key
* π **AES-256-GCM** with random salt + nonce, versioned output
* π File encryption/decryption with optional `--out` override
* π§ͺ Message encryption with embedded salt + nonce (prints hex blob)
* π² Diceware-style passphrase generator
* βοΈ Clean and modern CLI built with [`clap`](https://docs.rs/clap)
* π¦ Fast, safe, zero-bullshit Rust implementation
---
## π¦ Installation
### Install locally from source:
```bash
cargo install --path .
```
### π‘ Or globally (once published):
```bash
cargo install aesus
```
---
## π Examples
### Encrypt a message:
```bash
aesus encrypt "Confess nothing" --key scythe-raven-lemon-halo
```
Returns an encrypted hex blob (salt + nonce + ciphertext), ready to share or stash.
---
### Decrypt a hex blob:
```bash
aesus decrypt --hex 01abcd... --key scythe-raven-lemon-halo
```
---
### Encrypt a file:
```bash
aesus encrypt --file secret.txt --key pancake-prophet-echo-oxide
```
Creates: `secret.txt.aesus`
Or use `--out` to choose your own destiny:
```bash
aesus encrypt --file secret.txt --key ... --out recipe.sealed
```
---
### Decrypt a file:
```bash
aesus decrypt --file secret.txt.aesus --key pancake-prophet-echo-oxide
```
Or save the result under any name:
```bash
aesus decrypt --file recipe.sealed --key ... --out final-form.txt
```
---
### Generate a passphrase:
```bash
aesus generate --words 6
```
Output:
```
quest-ember-black-icicle-neon-crane
```
Memorable, weird, and more secure than `hunter2`.
---
## π Roadmap
* [x] AES-GCM encryption with versioned format
* [x] `--out` flag for flexible output paths
* [x] Per-file random salt and nonce
* [x] Diceware-style passphrase generator
* [ ] Config and vault-like features
* [ ] Cross-platform builds β Windows deserves privacy too, apparently
* [ ] GUI enhancements & WebAuthn/biometrics (maybe)
* [ ] Whispered Latin chants on success β a joke... unless?
---
## π Disclaimer
AESus is **not** divine.
It wonβt recover your passphrase or stop you from encrypting your taxes as `pancake.jeff`.
Use responsibly. Backup your data. Donβt test encryption tools with your only copy of anything, unless you like pain.
---
## π©Έ License
MIT. Free as in freedom, and as in βfree to use for your cursed backup rituals.β
---
## π³οΈ Contact
Made by [Andrew Garcia](https://github.com/andrewrgarcia)
Open to feedback, PRs, bug reports, or cryptic fanmail.