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.