Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
ECDH_COMPUTE_KEY(3)    FreeBSD 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 option-
     ally 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 coordi-
     nate of a point on	the elliptic curve used	by ecdh, which is one eigth 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 coordi-
     nate.

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.

FreeBSD	13.0			August 19, 2019			  FreeBSD 13.0

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | SEE ALSO | HISTORY

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=ECDH_compute_key&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help