Encrypt and decrypt messages with a secret key.

Based on XSalsa20 stream cipher and Poly1305 one-time authenticator.

Encrypt and decrypt messages between sender and receiver using elliptic curve Diffie-Hellman key exchange.

Based on Curve25519-XSalsa20-Poly1305.

Sign messages with a secret key, and verify signatures.

Public keys are only 32 bytes, signatures are 64 bytes long.

Implements Ed25519.

Hash messages with SHA-512.