[openssl/openssl] ad0624: Implements Hybrid Public Key Encryption (HPKE) as ...
sftcd
noreply at github.com
Fri Nov 25 16:37:00 UTC 2022
Branch: refs/heads/master
Home: https://github.com/openssl/openssl
Commit: ad062480f7490197b174edad8625ce40d74f6e68
https://github.com/openssl/openssl/commit/ad062480f7490197b174edad8625ce40d74f6e68
Author: Stephen Farrell <stephen.farrell at cs.tcd.ie>
Date: 2022-11-25 (Fri, 25 Nov 2022)
Changed paths:
M CHANGES.md
M crypto/err/openssl.txt
M crypto/hpke/build.info
A crypto/hpke/hpke.c
M crypto/hpke/hpke_util.c
M doc/build.info
A doc/man3/OSSL_HPKE_CTX_new.pod
R include/crypto/hpke.h
A include/internal/hpke_util.h
A include/openssl/hpke.h
M include/openssl/proverr.h
M providers/common/include/prov/proverr.h
M providers/common/provider_err.c
M providers/implementations/kem/ec_kem.c
M providers/implementations/kem/eckem.h
M providers/implementations/kem/ecx_kem.c
M providers/implementations/kem/kem_util.c
M test/build.info
A test/hpke_test.c
A test/recipes/30-test_hpke.t
M util/libcrypto.num
Log Message:
-----------
Implements Hybrid Public Key Encryption (HPKE) as per RFC9180.
This supports all the modes, suites and export mechanisms defined
in RFC9180 and should be relatively easily extensible if/as new
suites are added. The APIs are based on the pseudo-code from the
RFC, e.g. OSS_HPKE_encap() roughly maps to SetupBaseS(). External
APIs are defined in include/openssl/hpke.h and documented in
doc/man3/OSSL_HPKE_CTX_new.pod. Tests (test/hpke_test.c) include
verifying a number of the test vectors from the RFC as well as
round-tripping for all the modes and suites. We have demonstrated
interoperability with other HPKE implementations via a fork [1]
that implements TLS Encrypted ClientHello (ECH) which uses HPKE.
@slontis provided huge help in getting this done and this makes
extensive use of the KEM handling code from his PR#19068.
[1] https://github.com/sftcd/openssl/tree/ECH-draft-13c
Reviewed-by: Tomas Mraz <tomas at openssl.org>
Reviewed-by: Shane Lontis <shane.lontis at oracle.com>
Reviewed-by: Matt Caswell <matt at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17172)
More information about the openssl-commits
mailing list