Generate cryptographically secure 32-byte keys for Poly1305 message authentication and ChaCha20-Poly1305 AEAD encryption.
CSPRNG Generated
Generate Poly1305 Key
256 bits
32-byte key size (fixed)
Choose the encoding format for your key
Generated Key
Click "Generate Key" to create a new Poly1305 key...
256
Bits
32
Bytes
--
Characters
About Poly1305
Poly1305 is a cryptographic message authentication code (MAC) designed by Daniel J. Bernstein. It provides high-speed, high-security message authentication.
High Performance
One of the fastest authentication algorithms available
Proven Security
Mathematically proven 128-bit security guarantee
Fixed Size
32-byte key, 16-byte tag output
IETF Standard
RFC 8439 (ChaCha20-Poly1305)
Important: Poly1305 keys are ONE-TIME USE only. Never reuse a key for multiple messages. Use ChaCha20-Poly1305 AEAD for automatic key derivation.
Key Structure
A Poly1305 key is 256 bits (32 bytes) divided into two parts:
r (16 bytes): The secret multiplier, "clamped" for security
s (16 bytes): The secret nonce for final addition
Usage Example
// Using libsodium (Node.js)
const sodium = require('libsodium-wrappers');
await sodium.ready;
// Generate key
const key = sodium.randombytes_buf(32);
// Create MAC
const message = new TextEncoder().encode("Hello, World!");
const mac = sodium.crypto_onetimeauth(message, key);
// Verify MAC
const isValid = sodium.crypto_onetimeauth_verify(mac, message, key);
console.log(isValid); // true
Explore More Crypto Tools
Try other encryption, hashing, and signing utilities.