What is AESus?
AESus is a lean AES-256 encryption tool written in Rust with just a hint of divine mischief.
It converts memorable Diceware passphrases into hardened cryptographic keys and allows you to encrypt files or messages without juggling random keyfiles or 32-character gibberish.
AESus is both:
- ๐ a command-line encryption tool
- ๐ฆ a reusable Rust encryption library
Built for:
- privacy nerds
- terminal romantics
- developers who prefer encryption tools with personality
Cryptography
AESus uses modern authenticated encryption.
Passphrase
โ
Argon2id (salted, memory-hard)
โ
AES-256-GCM
Every encrypted output contains:
[version][salt][nonce][ciphertext]
Security properties:
- AES-256-GCM authenticated encryption
- Argon2id memory-hard key derivation
- Random salt per encryption
- Random nonce per encryption
- Versioned format for forward compatibility
- Diceware passphrases (~77 bits entropy by default)
Using AESus as a Rust Library
AESus can also be used directly as a Rust library.
Add to your Cargo.toml:
= "0.4"
Example:
use ;
AESus provides:
- Argon2id key derivation
- AES-256-GCM authenticated encryption
- automatic salt + nonce management
The resulting CipherBlob contains everything needed to decrypt except the passphrase.
The CipherBlob format is stable and self-describing, allowing encrypted
data to be safely stored or transmitted.
Example ecosystem project
โข FUR โ encrypted conversation manager https://crates.io/crates/fur-cli
AESus is designed so tools like FUR can depend on it as a cryptographic engine instead of shelling out to the CLI.
AESus Web App (Lite Version)
Want to encrypt messages directly in your browser?
โ ๏ธ Note
The web version uses simplified encryption:
AES-256-CBC + SHA-256 key derivation
For strong authenticated encryption (Argon2id + AES-GCM), use the Rust CLI.
Perfect for casual message locking or secret note passing. Not recommended for storing the nuclear codes.
Features
- ๐ Memorable passphrases (Diceware)
- ๐ AES-256-GCM authenticated encryption
- ๐ง Argon2id key derivation
- ๐ File encryption / decryption
- ๐งช Message encryption (hex output)
- ๐ฒ Diceware passphrase generator
- ๐
inspectcommand for ciphertext metadata - ๐ฆ Usable as both CLI and Rust library
- โ๏ธ Clean CLI powered by
clap
๐ฆ Installation
Install locally
Install from crates.io
Examples
Encrypt a message
Returns a hex blob containing:
version + salt + nonce + ciphertext
Decrypt a message
Encrypt a file
Creates:
secret.txt.aesus
Custom output:
Decrypt a file
Or:
Inspect encrypted file
Example output:
AESus file info
version: 2
kdf: Argon2id
memory: 128 MB
iterations: 3
cipher: AES-256-GCM
salt length: 16
nonce length: 12
Generate passphrase
Example:
quest-ember-black-icicle-neon-crane
Entropy โ 77 bits
Memorable, weird, and significantly better than hunter2.
๐ Roadmap
- AES-256-GCM encryption
- Argon2id key derivation
- Diceware passphrase generator
- Versioned ciphertext format
- Inspect command
- Rust library API
- Vault-like secret storage
- Cross-platform builds
- Optional GUI
- Clipboard passphrase generator
- Whispered Latin chants on success
๐ Disclaimer
AESus is not divine.
It cannot:
- recover your passphrase
- fix bad backups
- save you from encrypting your taxes as
pancake.jeff
Backup your data. Test encryption tools before trusting them.
๐ฉธ License
MIT.
Free as in freedom โ and free to use in your cursed backup rituals.
๐ณ๏ธ Contact
Made by Andrew Garcia
GitHub https://github.com/andrewrgarcia
PRs, bug reports, and cryptic fanmail welcome.