Sortix 1.1dev nightly manual
This manual documents Sortix 1.1dev nightly, a development build that has not been officially released. You can instead view this document in the latest official manual.
ECDH_COMPUTE_KEY(3) | Library Functions Manual | ECDH_COMPUTE_KEY(3) |
NAME
ECDH_compute_key
,
ECDH_size
—
Elliptic Curve Diffie-Hellman key exchange
SYNOPSIS
#include
<openssl/ecdh.h>
int
ECDH_compute_key
(void
*out, size_t outlen,
const EC_POINT *public_key,
EC_KEY *ecdh, void
*(*KDF)(const void *in, size_t inlen, void *out, size_t *outlen));
int
ECDH_size
(const
EC_KEY *ecdh);
DESCRIPTION
ECDH_compute_key
() performs Elliptic Curve
Diffie-Hellman key agreement. It combines the private key contained in
ecdh with the other party's
public_key, takes the
x component of the affine coordinates, and
optionally applies the key derivation function
KDF. It stores the resulting symmetric key in
the buffer out, which is
outlen bytes long. If
KDF is
NULL
,
outlen must be at least
ECDH_size
(ecdh).
ECDH_size
() returns the number of bytes
needed to store an affine coordinate of a point on the elliptic curve used by
ecdh, which is one eighth of the degree of
the finite field underlying that elliptic curve, rounded up to the next
integer number.
RETURN VALUES
ECDH_compute_key
() returns the length of the
computed key in bytes or -1 if an error occurs.
ECDH_size
() returns the number of bytes
needed to store an affine coordinate.
SEE ALSO
DH_generate_key(3), DH_size(3), EC_GROUP_new(3), EC_KEY_new(3), EC_POINT_new(3), X25519(3)HISTORY
ECDH_compute_key
() first appeared in OpenSSL
0.9.8 and has been available since OpenBSD 4.5.
ECDH_size
() first appeared in
OpenBSD 6.1.March 12, 2021 | Debian |