Skip to content

Commit 2671a68

Browse files
danvangeestpaulidale
authored andcommitted
Add fixed-digest HKDF documentation
Reviewed-by: Shane Lontis <shane.lontis@oracle.com> Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Paul Dale <ppzgs1@gmail.com> (Merged from openssl#27247)
1 parent d1a8d5a commit 2671a68

File tree

3 files changed

+50
-6
lines changed

3 files changed

+50
-6
lines changed

doc/man7/EVP_KDF-HKDF.pod

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
=head1 NAME
44

5-
EVP_KDF-HKDF - The HKDF EVP_KDF implementation
5+
EVP_KDF-HKDF - The HKDF EVP_KDF implementations
66

77
=head1 DESCRIPTION
88

@@ -17,11 +17,37 @@ of the KDF).
1717

1818
The output is considered to be keying material.
1919

20+
=head2 Fixed-Digest HKDF
21+
22+
B<HKDF-SHA256>, B<HKDF-SHA384> and B<HKDF-SHA512> are fixed-digest versions
23+
of the B<HKDF> algorithm. Each algorithm has its own OID. These algorithms
24+
are instantiated with the appropriate digest already configured, thus it is
25+
not necessary to set the digest using the B<OSSL_KDF_PARAM_DIGEST> parameter.
26+
An attempt to set the digest to anything other than the pre-configured digest
27+
will result in an error.
28+
2029
=head2 Identity
2130

22-
"HKDF" is the name for this implementation; it
31+
The following algorithms are available for this implementation; they
2332
can be used with the EVP_KDF_fetch() function.
2433

34+
In this list, names are grouped together to signify that they are the same
35+
algorithm having multiple names. This also includes the OID in canonical
36+
decimal form (which means that they are possible to fetch if the caller has a
37+
mere OID which came out in this form after a call to L<OBJ_obj2txt(3)>).
38+
39+
=over 4
40+
41+
=item "HKDF"
42+
43+
=item "HKDF-SHA256", "id-alg-hkdf-with-sha256", "1.2.840.113549.1.9.16.3.28"
44+
45+
=item "HKDF-SHA384", "id-alg-hkdf-with-sha384", "1.2.840.113549.1.9.16.3.29"
46+
47+
=item "HKDF-SHA512", "id-alg-hkdf-with-sha512", "1.2.840.113549.1.9.16.3.30"
48+
49+
=back
50+
2551
=head2 Supported parameters
2652

2753
The supported parameters are:
@@ -151,7 +177,7 @@ salt value "salt" and info value "label":
151177

152178
=head1 CONFORMING TO
153179

154-
RFC 5869
180+
RFC 5869 and RFC 8619
155181

156182
=head1 SEE ALSO
157183

@@ -166,11 +192,13 @@ L<EVP_KDF-TLS13_KDF(7)>
166192

167193
=head1 HISTORY
168194

169-
This functionality was added in OpenSSL 3.0.
195+
HKDF-SHA256, HKDF-SHA384 and HKDF-SHA512 were added in OpenSSL 3.6.
196+
197+
All other functionality was added in OpenSSL 3.0.
170198

171199
=head1 COPYRIGHT
172200

173-
Copyright 2016-2024 The OpenSSL Project Authors. All Rights Reserved.
201+
Copyright 2016-2025 The OpenSSL Project Authors. All Rights Reserved.
174202

175203
Licensed under the Apache License 2.0 (the "License"). You may not use
176204
this file except in compliance with the License. You can obtain a copy

doc/man7/OSSL_PROVIDER-FIPS.pod

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,12 @@ The OpenSSL FIPS provider supports these operations and algorithms:
103103

104104
=item HKDF, see L<EVP_KDF-HKDF(7)>
105105

106+
=item HKDF-SHA256, see L<EVP_KDF-HKDF(7)>
107+
108+
=item HKDF-SHA384, see L<EVP_KDF-HKDF(7)>
109+
110+
=item HKDF-SHA512, see L<EVP_KDF-HKDF(7)>
111+
106112
=item TLS13-KDF, see L<EVP_KDF-TLS13_KDF(7)>
107113

108114
=item SSKDF, see L<EVP_KDF-SS(7)>
@@ -582,7 +588,9 @@ L<https://www.openssl.org/source/>
582588

583589
=head1 HISTORY
584590

585-
This functionality was added in OpenSSL 3.0.
591+
The HKDF-SHA256, HKDF-SHA384 and HKDF-SHA512 digests were added in OpenSSL 3.6.
592+
593+
All other functionality was added in OpenSSL 3.0.
586594

587595
=head1 COPYRIGHT
588596

doc/man7/OSSL_PROVIDER-default.pod

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,12 @@ The OpenSSL default provider supports these operations and algorithms:
125125

126126
=item HKDF, see L<EVP_KDF-HKDF(7)>
127127

128+
=item HKDF-SHA256, see L<EVP_KDF-HKDF(7)>
129+
130+
=item HKDF-SHA384, see L<EVP_KDF-HKDF(7)>
131+
132+
=item HKDF-SHA512, see L<EVP_KDF-HKDF(7)>
133+
128134
=item TLS13-KDF, see L<EVP_KDF-TLS13_KDF(7)>
129135

130136
=item SSKDF, see L<EVP_KDF-SS(7)>
@@ -524,6 +530,8 @@ L<OSSL_PROVIDER-base(7)>
524530

525531
The RIPEMD160 digest was added to the default provider in OpenSSL 3.0.7.
526532

533+
The HKDF-SHA256, HKDF-SHA384 and HKDF-SHA512 digests were added in OpenSSL 3.6.
534+
527535
All other functionality was added in OpenSSL 3.0.
528536

529537
=head1 COPYRIGHT

0 commit comments

Comments
 (0)