Key Signatures

- Single-part signature: Ed25519
- Multi-part signature: Ed25519ph

Key exchange

- BLAKE2B - BLAKE2 is a cryptographic hash function faster than MD5, SHA-1, SHA-2, and SHA-3, yet is at least as secure as the latest standard SHA-3. Optimized for 64-bit platforms—including NEON-enabled ARMs—and produces digests of any size between 1 and 64 bytes
- X25519 – Ephemeral Key Pair - Computes a secret shared between the sender and receiver, using the sender’s secret key and the receiver’s public key (or vice versa)

Authenticated Encryption with Additional Data

- Encrypts a message with a key and a nonce to keep it confidential
- Computes an authentication tag. This tag is used to make sure that the message, as well as optional, non-confidential (non-encrypted) data, haven’t been tampered with.

The XChaCha20-Poly1305-IETF construction can safely encrypt a practically unlimited number of messages with the same key, without any practical limit to the size of a message (up to ~ 2^64 bytes). As an alternative to counters, its large nonce size (192-bit) allows random nonces to be safely used.