Portfolio
Interactive Security Tool

AES-256 File Encryption

Encrypt and decrypt any file using AES-256-GCM — the same standard used to protect classified government data. Runs entirely in your browser. No file ever leaves your machine.

AES-256-GCM  ·  WEB CRYPTO API  ·  CLIENT-SIDE ONLY  ·  NO SERVER  ·  NO DATA UPLOAD

Training & Educational Use Only — This tool demonstrates AES-256-GCM encryption concepts for educational purposes. Do not use it to protect classified information, CUI, or any data subject to CMMC, DFARS, ITAR, or HIPAA controls. For regulated data, use approved and certified encryption solutions.

Drop any file here to encrypt
Click to browse · Any file type · Processed locally
Generated AES-256 Key
⚠ Save this key before downloading This key is generated fresh for every file and is never stored anywhere. If you lose it, the encrypted file cannot be recovered — ever. Copy it and store it somewhere safe before you download the encrypted file.
Drop your .enc file here to decrypt
Click to browse · Must be a .enc file from this tool
Step 01
Key Generation
The browser's Web Crypto API generates a cryptographically random 256-bit key. This is not a passphrase — it's true randomness from your operating system's entropy source.
Step 02
Encryption
A random 96-bit Initialization Vector (IV) is generated. Your file is encrypted with AES-256-GCM using the key and IV. The IV is prepended to the encrypted output so decryption is possible.
Step 03
Authentication Tag
GCM mode produces a 128-bit authentication tag. When decrypting, this tag verifies the file hasn't been tampered with. If even one byte was changed, decryption fails.
AlgorithmAES-256-GCM (Advanced Encryption Standard, Galois/Counter Mode)
Key length256 bits — the same key length used for Top Secret US government data
IV length96 bits, randomly generated per file
Auth tag128 bits — provides integrity verification in addition to confidentiality
Key formatHexadecimal string (64 characters = 32 bytes = 256 bits)
Output formatIV (12 bytes) + Ciphertext + Auth Tag — saved as .enc file
Crypto engineBrowser Web Crypto API (SubtleCrypto) — FIPS 140-2 compliant in most implementations
Data handlingFile never leaves your browser. No network requests made during encryption or decryption.

Why GCM mode matters: AES can be used in several modes. GCM (Galois/Counter Mode) provides both confidentiality and authenticity — it encrypts your data AND produces a tag that proves it hasn't been altered. Older modes like CBC only provide confidentiality. NIST recommends GCM for most applications, and it's the mode used in TLS 1.3, the protocol securing most HTTPS traffic today.

Key management is everything: AES-256 has never been broken. Every real-world failure of AES-encrypted data is a key management failure — the key was stored insecurely, transmitted in plaintext, or lost. This tool generates strong keys. What you do with that key is the security-critical decision.