Implemented according to IETF RFC 8439.
ChaCha20 is typically used as a symmetric stream cipher with a 256-bit key
and a 96-bit nonce. See the ChaCha20 docs for usage.
Implemented according to IETF RFC 7748.
X25519 is a variant of Diffie-Hellman key exchange, used to establish
a shared secret between two parties without any middleman able to discern
the secret.