summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschwarze <>2019-08-19 13:08:26 +0000
committerschwarze <>2019-08-19 13:08:26 +0000
commitd3c60fbc3b4a3cce424b7ba1ec26f0637266f961 (patch)
treef00acf3ff65a08da19caefca7035aa0e3e715c96
parent0cdc9772cb4e9d8eb93b0b058f2bf772ec56d2bc (diff)
downloadopenbsd-d3c60fbc3b4a3cce424b7ba1ec26f0637266f961.tar.gz
openbsd-d3c60fbc3b4a3cce424b7ba1ec26f0637266f961.tar.bz2
openbsd-d3c60fbc3b4a3cce424b7ba1ec26f0637266f961.zip
document ECDH_compute_key(3) and ECDH_size(3);
feedback and OK tb@
-rw-r--r--src/lib/libcrypto/man/DH_generate_key.37
-rw-r--r--src/lib/libcrypto/man/ECDH_compute_key.388
-rw-r--r--src/lib/libcrypto/man/EC_GROUP_new.35
-rw-r--r--src/lib/libcrypto/man/EC_KEY_new.35
-rw-r--r--src/lib/libcrypto/man/EC_POINT_new.37
-rw-r--r--src/lib/libcrypto/man/Makefile3
-rw-r--r--src/lib/libcrypto/man/X25519.35
-rw-r--r--src/lib/libcrypto/man/crypto.35
8 files changed, 110 insertions, 15 deletions
diff --git a/src/lib/libcrypto/man/DH_generate_key.3 b/src/lib/libcrypto/man/DH_generate_key.3
index 43d642bf26..076b49f7a1 100644
--- a/src/lib/libcrypto/man/DH_generate_key.3
+++ b/src/lib/libcrypto/man/DH_generate_key.3
@@ -1,4 +1,4 @@
1.\" $OpenBSD: DH_generate_key.3,v 1.11 2019/06/10 14:58:48 schwarze Exp $ 1.\" $OpenBSD: DH_generate_key.3,v 1.12 2019/08/19 13:08:26 schwarze Exp $
2.\" OpenSSL b97fdb57 Nov 11 09:33:09 2016 +0100 2.\" OpenSSL b97fdb57 Nov 11 09:33:09 2016 +0100
3.\" 3.\"
4.\" This file was written by Ulf Moeller <ulf@openssl.org>. 4.\" This file was written by Ulf Moeller <ulf@openssl.org>.
@@ -48,7 +48,7 @@
48.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 48.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
49.\" OF THE POSSIBILITY OF SUCH DAMAGE. 49.\" OF THE POSSIBILITY OF SUCH DAMAGE.
50.\" 50.\"
51.Dd $Mdocdate: June 10 2019 $ 51.Dd $Mdocdate: August 19 2019 $
52.Dt DH_GENERATE_KEY 3 52.Dt DH_GENERATE_KEY 3
53.Os 53.Os
54.Sh NAME 54.Sh NAME
@@ -112,7 +112,8 @@ The error codes can be obtained by
112.Sh SEE ALSO 112.Sh SEE ALSO
113.Xr DH_get0_key 3 , 113.Xr DH_get0_key 3 ,
114.Xr DH_new 3 , 114.Xr DH_new 3 ,
115.Xr DH_size 3 115.Xr DH_size 3 ,
116.Xr ECDH_compute_key 3
116.Sh HISTORY 117.Sh HISTORY
117.Fn DH_generate_key 118.Fn DH_generate_key
118and 119and
diff --git a/src/lib/libcrypto/man/ECDH_compute_key.3 b/src/lib/libcrypto/man/ECDH_compute_key.3
new file mode 100644
index 0000000000..973ce4289c
--- /dev/null
+++ b/src/lib/libcrypto/man/ECDH_compute_key.3
@@ -0,0 +1,88 @@
1.\" $OpenBSD: ECDH_compute_key.3,v 1.1 2019/08/19 13:08:26 schwarze Exp $
2.\" Copyright (c) 2019 Ingo Schwarze <schwarze@openbsd.org>
3.\"
4.\" Permission to use, copy, modify, and distribute this software for any
5.\" purpose with or without fee is hereby granted, provided that the above
6.\" copyright notice and this permission notice appear in all copies.
7.\"
8.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15.\"
16.Dd $Mdocdate: August 19 2019 $
17.Dt ECDH_COMPUTE_KEY 3
18.Os
19.Sh NAME
20.Nm ECDH_compute_key ,
21.Nm ECDH_size
22.Nd Elliptic Curve Diffie-Hellman key exchange
23.Sh SYNOPSIS
24.In openssl/ecdh.h
25.Ft int
26.Fo ECDH_compute_key
27.Fa "void *out"
28.Fa "size_t outlen"
29.Fa "const EC_POINT *public_key"
30.Fa "EC_KEY *ecdh"
31.Fa "void *(*KDF)(const void *in, size_t inlen, void *out, size_t *outlen)"
32.Fc
33.Ft int
34.Fo ECDH_size
35.Fa "const EC_KEY *ecdh"
36.Fc
37.Sh DESCRIPTION
38.Fn ECDH_compute_key
39performs Elliptic Curve Diffie-Hellman key agreement.
40It combines the private key contained in
41.Fa ecdh
42with the other party's
43.Fa public_key ,
44takes the
45.Fa x
46component of the affine coordinates,
47and optionally applies the key derivation function
48.Fa KDF .
49It stores the resulting symmetric key in the buffer
50.Fa out ,
51which is
52.Fa outlen
53bytes long.
54If
55.Fa KDF
56is
57.Dv NULL ,
58.Fa outlen
59must be at least
60.Fn ECDH_size ecdh .
61.Pp
62.Fn ECDH_size
63returns the number of bytes needed to store an affine coordinate of a
64point on the elliptic curve used by
65.Fa ecdh ,
66which is one eigth of the degree of the finite field underlying
67that elliptic curve, rounded up to the next integer number.
68.Sh RETURN VALUES
69.Fn ECDH_compute_key
70returns the length of the computed key in bytes or -1 if an error occurs.
71.Pp
72.Fn ECDH_size
73returns the number of bytes needed to store an affine coordinate.
74.Sh SEE ALSO
75.Xr DH_generate_key 3 ,
76.Xr DH_size 3 ,
77.Xr EC_GROUP_new 3 ,
78.Xr EC_KEY_new 3 ,
79.Xr EC_POINT_new 3 ,
80.Xr X25519 3
81.Sh HISTORY
82.Fn ECDH_compute_key
83first appeared in OpenSSL 0.9.8 and has been available since
84.Ox 4.5 .
85.Pp
86.Fn ECDH_size
87first appeared in
88.Ox 6.1 .
diff --git a/src/lib/libcrypto/man/EC_GROUP_new.3 b/src/lib/libcrypto/man/EC_GROUP_new.3
index 33f2987f33..3e005117ff 100644
--- a/src/lib/libcrypto/man/EC_GROUP_new.3
+++ b/src/lib/libcrypto/man/EC_GROUP_new.3
@@ -1,4 +1,4 @@
1.\" $OpenBSD: EC_GROUP_new.3,v 1.10 2019/06/10 09:49:48 schwarze Exp $ 1.\" $OpenBSD: EC_GROUP_new.3,v 1.11 2019/08/19 13:08:26 schwarze Exp $
2.\" OpenSSL 9b86974e Mon Aug 17 15:21:33 2015 -0400 2.\" OpenSSL 9b86974e Mon Aug 17 15:21:33 2015 -0400
3.\" 3.\"
4.\" This file was written by Matt Caswell <matt@openssl.org>. 4.\" This file was written by Matt Caswell <matt@openssl.org>.
@@ -48,7 +48,7 @@
48.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 48.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
49.\" OF THE POSSIBILITY OF SUCH DAMAGE. 49.\" OF THE POSSIBILITY OF SUCH DAMAGE.
50.\" 50.\"
51.Dd $Mdocdate: June 10 2019 $ 51.Dd $Mdocdate: August 19 2019 $
52.Dt EC_GROUP_NEW 3 52.Dt EC_GROUP_NEW 3
53.Os 53.Os
54.Sh NAME 54.Sh NAME
@@ -306,6 +306,7 @@ return 1 on success or 0 on error.
306.Xr EC_KEY_new 3 , 306.Xr EC_KEY_new 3 ,
307.Xr EC_POINT_add 3 , 307.Xr EC_POINT_add 3 ,
308.Xr EC_POINT_new 3 , 308.Xr EC_POINT_new 3 ,
309.Xr ECDH_compute_key 3 ,
309.Xr ECDSA_SIG_new 3 310.Xr ECDSA_SIG_new 3
310.Sh HISTORY 311.Sh HISTORY
311.Fn EC_GROUP_new , 312.Fn EC_GROUP_new ,
diff --git a/src/lib/libcrypto/man/EC_KEY_new.3 b/src/lib/libcrypto/man/EC_KEY_new.3
index 70e3a655f8..ba0774ccd4 100644
--- a/src/lib/libcrypto/man/EC_KEY_new.3
+++ b/src/lib/libcrypto/man/EC_KEY_new.3
@@ -1,4 +1,4 @@
1.\" $OpenBSD: EC_KEY_new.3,v 1.14 2019/08/16 16:20:23 schwarze Exp $ 1.\" $OpenBSD: EC_KEY_new.3,v 1.15 2019/08/19 13:08:26 schwarze Exp $
2.\" full merge up to: OpenSSL 3aef36ff Jan 5 13:06:03 2016 -0500 2.\" full merge up to: OpenSSL 3aef36ff Jan 5 13:06:03 2016 -0500
3.\" partial merge up to: OpenSSL e9b77246 Jan 20 19:58:49 2017 +0100 3.\" partial merge up to: OpenSSL e9b77246 Jan 20 19:58:49 2017 +0100
4.\" 4.\"
@@ -49,7 +49,7 @@
49.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 49.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
50.\" OF THE POSSIBILITY OF SUCH DAMAGE. 50.\" OF THE POSSIBILITY OF SUCH DAMAGE.
51.\" 51.\"
52.Dd $Mdocdate: August 16 2019 $ 52.Dd $Mdocdate: August 19 2019 $
53.Dt EC_KEY_NEW 3 53.Dt EC_KEY_NEW 3
54.Os 54.Os
55.Sh NAME 55.Sh NAME
@@ -527,6 +527,7 @@ returns the point_conversion_form for the
527.Xr EC_KEY_METHOD_new 3 , 527.Xr EC_KEY_METHOD_new 3 ,
528.Xr EC_POINT_add 3 , 528.Xr EC_POINT_add 3 ,
529.Xr EC_POINT_new 3 , 529.Xr EC_POINT_new 3 ,
530.Xr ECDH_compute_key 3 ,
530.Xr ECDSA_SIG_new 3 , 531.Xr ECDSA_SIG_new 3 ,
531.Xr EVP_PKEY_set1_EC_KEY 3 532.Xr EVP_PKEY_set1_EC_KEY 3
532.Sh HISTORY 533.Sh HISTORY
diff --git a/src/lib/libcrypto/man/EC_POINT_new.3 b/src/lib/libcrypto/man/EC_POINT_new.3
index 06a15fb62a..94ab9054bf 100644
--- a/src/lib/libcrypto/man/EC_POINT_new.3
+++ b/src/lib/libcrypto/man/EC_POINT_new.3
@@ -1,4 +1,4 @@
1.\" $OpenBSD: EC_POINT_new.3,v 1.10 2019/03/18 12:58:00 schwarze Exp $ 1.\" $OpenBSD: EC_POINT_new.3,v 1.11 2019/08/19 13:08:26 schwarze Exp $
2.\" full merge up to: OpenSSL ddc1caac Mar 6 14:00:24 2018 -0500 2.\" full merge up to: OpenSSL ddc1caac Mar 6 14:00:24 2018 -0500
3.\" 3.\"
4.\" This file was written by Matt Caswell <matt@openssl.org>. 4.\" This file was written by Matt Caswell <matt@openssl.org>.
@@ -48,7 +48,7 @@
48.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 48.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
49.\" OF THE POSSIBILITY OF SUCH DAMAGE. 49.\" OF THE POSSIBILITY OF SUCH DAMAGE.
50.\" 50.\"
51.Dd $Mdocdate: March 18 2019 $ 51.Dd $Mdocdate: August 19 2019 $
52.Dt EC_POINT_NEW 3 52.Dt EC_POINT_NEW 3
53.Os 53.Os
54.Sh NAME 54.Sh NAME
@@ -482,7 +482,8 @@ on error.
482.Xr EC_GROUP_copy 3 , 482.Xr EC_GROUP_copy 3 ,
483.Xr EC_GROUP_new 3 , 483.Xr EC_GROUP_new 3 ,
484.Xr EC_KEY_new 3 , 484.Xr EC_KEY_new 3 ,
485.Xr EC_POINT_add 3 485.Xr EC_POINT_add 3 ,
486.Xr ECDH_compute_key 3
486.Sh HISTORY 487.Sh HISTORY
487.Fn EC_POINT_new , 488.Fn EC_POINT_new ,
488.Fn EC_POINT_free , 489.Fn EC_POINT_free ,
diff --git a/src/lib/libcrypto/man/Makefile b/src/lib/libcrypto/man/Makefile
index e347c3dc98..92e3c1b6f0 100644
--- a/src/lib/libcrypto/man/Makefile
+++ b/src/lib/libcrypto/man/Makefile
@@ -1,4 +1,4 @@
1# $OpenBSD: Makefile,v 1.149 2019/08/16 16:15:50 schwarze Exp $ 1# $OpenBSD: Makefile,v 1.150 2019/08/19 13:08:26 schwarze Exp $
2 2
3.include <bsd.own.mk> 3.include <bsd.own.mk>
4 4
@@ -91,6 +91,7 @@ MAN= \
91 DSA_set_method.3 \ 91 DSA_set_method.3 \
92 DSA_sign.3 \ 92 DSA_sign.3 \
93 DSA_size.3 \ 93 DSA_size.3 \
94 ECDH_compute_key.3 \
94 ECDSA_SIG_new.3 \ 95 ECDSA_SIG_new.3 \
95 EC_GFp_simple_method.3 \ 96 EC_GFp_simple_method.3 \
96 EC_GROUP_copy.3 \ 97 EC_GROUP_copy.3 \
diff --git a/src/lib/libcrypto/man/X25519.3 b/src/lib/libcrypto/man/X25519.3
index 13f013e8a2..64eda4bf85 100644
--- a/src/lib/libcrypto/man/X25519.3
+++ b/src/lib/libcrypto/man/X25519.3
@@ -1,4 +1,4 @@
1.\" $OpenBSD: X25519.3,v 1.4 2018/08/10 17:28:48 jsing Exp $ 1.\" $OpenBSD: X25519.3,v 1.5 2019/08/19 13:08:26 schwarze Exp $
2.\" contains some text from: BoringSSL curve25519.h, curve25519.c 2.\" contains some text from: BoringSSL curve25519.h, curve25519.c
3.\" content also checked up to: OpenSSL f929439f Mar 15 12:19:16 2018 +0000 3.\" content also checked up to: OpenSSL f929439f Mar 15 12:19:16 2018 +0000
4.\" 4.\"
@@ -17,7 +17,7 @@
17.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 17.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
18.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 18.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
19.\" 19.\"
20.Dd $Mdocdate: August 10 2018 $ 20.Dd $Mdocdate: August 19 2019 $
21.Dt X25519 3 21.Dt X25519 3
22.Os 22.Os
23.Sh NAME 23.Sh NAME
@@ -90,6 +90,7 @@ bytes each.
90returns 1 on success or 0 on error. 90returns 1 on success or 0 on error.
91Failure can occur when the input is a point of small order. 91Failure can occur when the input is a point of small order.
92.Sh SEE ALSO 92.Sh SEE ALSO
93.Xr ECDH_compute_key 3
93.Rs 94.Rs
94.%A D. J. Bernstein 95.%A D. J. Bernstein
95.%R A state-of-the-art Diffie-Hellman function:\ 96.%R A state-of-the-art Diffie-Hellman function:\
diff --git a/src/lib/libcrypto/man/crypto.3 b/src/lib/libcrypto/man/crypto.3
index 23a9a4e5a9..bd244ebf4b 100644
--- a/src/lib/libcrypto/man/crypto.3
+++ b/src/lib/libcrypto/man/crypto.3
@@ -1,4 +1,4 @@
1.\" $OpenBSD: crypto.3,v 1.20 2019/06/06 01:06:59 schwarze Exp $ 1.\" $OpenBSD: crypto.3,v 1.21 2019/08/19 13:08:26 schwarze Exp $
2.\" OpenSSL a9c85cea Nov 11 09:33:55 2016 +0100 2.\" OpenSSL a9c85cea Nov 11 09:33:55 2016 +0100
3.\" 3.\"
4.\" This file was written by Ulf Moeller <ulf@openssl.org> and 4.\" This file was written by Ulf Moeller <ulf@openssl.org> and
@@ -49,7 +49,7 @@
49.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 49.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
50.\" OF THE POSSIBILITY OF SUCH DAMAGE. 50.\" OF THE POSSIBILITY OF SUCH DAMAGE.
51.\" 51.\"
52.Dd $Mdocdate: June 6 2019 $ 52.Dd $Mdocdate: August 19 2019 $
53.Dt CRYPTO 3 53.Dt CRYPTO 3
54.Os 54.Os
55.Sh NAME 55.Sh NAME
@@ -75,6 +75,7 @@ and
75.Sy Public key cryptography and key agreement 75.Sy Public key cryptography and key agreement
76are provided by 76are provided by
77.Xr DH_new 3 , 77.Xr DH_new 3 ,
78.Xr ECDH_compute_key 3 ,
78.Xr X25519 3 , 79.Xr X25519 3 ,
79.Xr DSA_new 3 , 80.Xr DSA_new 3 ,
80.Xr ECDSA_SIG_new 3 , 81.Xr ECDSA_SIG_new 3 ,