Sortix cross-volatile manual
This manual documents Sortix cross-volatile. You can instead view this document in the latest official manual.
NAME
X25519, X25519_keypair, ED25519_keypair, ED25519_sign, ED25519_verify — Elliptic Curve Diffie-Hellman and signature primitives based on Curve25519SYNOPSIS
#include <openssl/curve25519.h>X25519(uint8_t out_shared_key[X25519_KEY_LENGTH], const uint8_t private_key[X25519_KEY_LENGTH], const uint8_t peer_public_value[X25519_KEY_LENGTH]);
X25519_keypair(uint8_t out_public_value[X25519_KEY_LENGTH], uint8_t out_private_key[X25519_KEY_LENGTH]);
ED25519_keypair(uint8_t out_public_key[ED25519_PUBLIC_KEY_LENGTH], uint8_t out_private_key[ED25519_PRIVATE_KEY_LENGTH]);
ED25519_sign(uint8_t *out_sig, const uint8_t *message, size_t message_len, const uint8_t public_key[ED25519_PUBLIC_KEY_LENGTH], const uint8_t private_key_seed[ED25519_PRIVATE_KEY_LENGTH]);
ED25519_verify(const uint8_t *message, size_t message_len, const uint8_t signature[ED25519_SIGNATURE_LENGTH], const uint8_t public_key[ED25519_PUBLIC_KEY_LENGTH]);
DESCRIPTION
Curve25519 is an elliptic curve over a prime field specified in RFC 7748 section 4.1. The prime field is defined by the prime number 2^255 - 19.=
{9}.= 32
bytes each.= 64
bytes.