jie.renBack to home

LOCAL ENCRYPTION

Encryption tools

Standard age. Your keys. Your device.

Encrypt text or files locally and share only the ciphertext. This page never uploads or stores your content, keys, or results, and does not record visit statistics.

Preparing this tool…

Controls stay disabled until local processing capabilities are checked.

If the controls do not become ready, retry loading this tool. Instructions and navigation remain available.

Encrypt or decrypt

Use an existing age or SSH key, or choose a passphrase. Generate a new key only if you need one.

Drop a public-key file here, or choose a file.

Automatically detects age1pq1…, age1…, ssh-ed25519, or ssh-rsa.

Import one key to validate its type and security properties.

Use a hybrid age recipient for post-quantum protection.

Generate a new age key (optional)

Generate a key only when you need a new recipient and private identity. Existing keys can be imported directly; passphrase encryption does not need a key pair.

New keys default to hybrid post-quantum encryption: ML-KEM-768 + X25519. The private identity stays hidden; the recipient is public and can be shared.

Advanced key options

Classical X25519 supports older age versions and does not provide post-quantum protection.

No key generated. Private identities are never saved automatically.

Formats and security

  • Standard age only. Text uses official ASCII armor (BEGIN AGE ENCRYPTED FILE); downloads use binary .age. The encrypted payload is the original bytes, with no application-specific wrapper. Native hybrid keys require age 1.3 or later.
  • Hybrid keys. Generated identities start with AGE-SECRET-KEY-PQ-1 and recipients with age1pq1. The hybrid scheme combines ML-KEM-768 and X25519. Imported native X25519 keys are supported and explicitly labelled classical.
  • Passphrases. Standard age scrypt uses a work factor of 18 (about 256 MiB memory). Use a generated high-entropy passphrase. Short or predictable choices warn without blocking. This is symmetric passphrase encryption, not hybrid public-key encryption. Decryption accepts the work factors supported by the official age library; higher factors require more memory and time.
  • SSH compatibility. Standard age SSH stanzas support RSA (at least 2048 bits) and Ed25519. These modes are not post-quantum and include a short public-key identifier that can link ciphertext to a key. Prefer dedicated hybrid age keys over everyday SSH login keys. Protected OpenSSH RSA/Ed25519 keys using AES-256-CTR or AES-256-CBC are unlocked locally using the official Go SSH implementation. Other SSH algorithms are not age recipients.
  • Authentication. Wrong keys, incorrect passphrases and changed or truncated ciphertext fail authentication. Encryption does not prove who sent the message; verify the recipient through a trusted channel. Loss of a private key or passphrase cannot be recovered.
  • Browser extensions. Extensions with access to this page may read its inputs. For sensitive content, use a browser profile without untrusted extensions.
  • Local processing. This website imposes no text, file, key-size or memory budget. Processing still depends on device memory, browser limits and the WebAssembly address space. Cryptography runs in a cancellable worker loaded only when needed. Results are offered only after the entire ciphertext authenticates. Clear or leaving the page retires workers and discards page-held inputs and download URLs. No uploads, automatic saving or visit statistics. Privacy.

age project · Official Go implementation