CipherTools
ToolsBlogsSnippets
ToolsBlogsSnippets
  • MD5 Text Hash
  • MD5 File Hash
  • BKDR Text Hash
  • BKDR File Hash
  • SHA-256 Text Hash
  • SHA-256 File Hash
  • SHA-512 Text Hash
  • SHA-512 File Hash
  • SHA-3 Text Hash
  • SHA-3 File Hash
  • SHAKE Text Hash
  • SHAKE File Hash
  • Argon2 Text Hash
  • Argon2 File Hash
  • CRC Text Checksum
  • CRC File Checksum
  • HMAC Text Generator
  • HMAC File Generator
  • BLAKE2 Text Hash
  • BLAKE2 File Hash
  • BLAKE3 Text Hash
  • BLAKE3 File Hash
  • CityHash Text Hash
  • CityHash File Hash
  • FarmHash Text Hash
  • FarmHash File Hash
  • xxHash Text Hash
  • xxHash File Hash
  • MurmurHash2 Text Hash
  • MurmurHash2 File Hash
  • MurmurHash3 Text Hash
  • MurmurHash3 File Hash
  • bcrypt Text Hash
  • bcrypt File Hash
  • scrypt Text Derivation
  • scrypt File Derivation
  • AES Encryption and Decryption
  • AES File Encryption
  • AES File Decryption
  • AES-GCM Encryption and Decryption
  • ChaCha20-Poly1305 Text
  • ChaCha20-Poly1305 File Encryption
  • ChaCha20-Poly1305 File Decryption
  • DES Encryption and Decryption
  • DES File Encryption
  • DES File Decryption
  • RSA Encryption and Decryption
  • RSA File Encryption
  • RSA File Decryption

Symmetric encryption · ChaCha20

ChaCha20-Poly1305 Text Encryption

Build modern AEAD payloads with ChaCha20-Poly1305. Generate ciphertext + 16-byte tags, or verify inbound messages by supplying the key, nonce, and AAD—all without leaving your browser.

ChaCha20-Poly1305 encryption

Protect text payloads with ChaCha20-Poly1305. Configure the 256-bit key, 96-bit nonce, and optional additional authenticated data (AAD) to export ciphertext with tags or to verify and decrypt incoming data.

Keys shorter than 32 bytes are zero-padded; longer inputs are truncated.

Nonces must be unique for each key and message. The canonical length is 12 bytes.

ChaCha20-Poly1305 tips

ChaCha20 provides stream-style confidentiality while Poly1305 authenticates the ciphertext and optional AAD. Both sides must use the same key, nonce, AAD, and encoding to produce identical outputs.

Never reuse a nonce with the same key. Doing so compromises confidentiality. Generate 12 random bytes for each message, and send them alongside the ciphertext and 16-byte tag.

The ciphertext shown above already includes the Poly1305 tag. When exchanging data, transfer the combined payload exactly as produced to ensure verification succeeds.

© 2026 CipherTools. All computations run locally in your browser.