ChaCha20-Poly1305
also: ChaCha20-Poly1305 AEAD, ChaCha20 Poly1305
ChaCha20-Poly1305 is an authenticated encryption algorithm combining the ChaCha20 stream cipher with the Poly1305 message authentication code for secure, fast cryptography.
ChaCha20-Poly1305 is a modern authenticated encryption with associated data (AEAD) cipher designed by Daniel Bernstein. It pairs the ChaCha20 stream cipher (which encrypts data) with Poly1305 (which authenticates it), ensuring both confidentiality and integrity in a single operation.
The algorithm is known for being both fast in software (no special CPU instructions needed) and secure against timing attacks, making it ideal for TLS/SSL connections, VPNs, and embedded systems. It's becoming the preferred choice in modern protocols like TLS 1.3 and WireGuard.
Example usage: openssl enc -chacha20-poly1305 -in plaintext.txt -out encrypted.bin -k password encrypts a file with this cipher. The 32-byte nonce and 256-bit key provide security comparable to AES-256.