openssl/util
Stephen Farrell ad062480f7 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@openssl.org>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17172)
2022-11-25 16:26:55 +00:00
..
perl ParseC.pm: gracefully handle DOS-style end-of-line in source files 2022-11-18 07:47:44 +01:00
add-depends.pl
build.info
c-compress-test.pl
cavs-to-evptest.pl
check-format-test-negatives.c check-format.pl: improve whitespace reporting on <op>= 2022-09-02 21:32:46 +02:00
check-format-test-positives.c check-format.pl: improve whitespace reporting on <op>= 2022-09-02 21:32:46 +02:00
check-format.pl check-format.pl: improve whitespace reporting on <op>= 2022-09-02 21:32:46 +02:00
check-malloc-errs
ck_errf.pl
copy.pl
dofile.pl
echo.pl
engines.num
err-to-raise
find-doc-nits
find-unused-errs
fips-checksums.sh
fix-deprecation
fix-includes
fix-includes.sed
indent.pro Rename SSL3_RECORD to TLS_RL_RECORD 2022-11-14 07:51:26 +00:00
lang-compress.pl
libcrypto.num Implements Hybrid Public Key Encryption (HPKE) as per RFC9180. 2022-11-25 16:26:55 +00:00
libssl.num Add support for compressed certificates (RFC8879) 2022-10-18 09:30:22 -04:00
local_shlib.com.in
markdownlint.rb
merge-err-lines
missingcrypto111.txt
missingcrypto-internal.txt
missingcrypto.txt Add doc for EVP_ASYM_CIPHER-RSA and clean up OSSL_PROVIDER-FIPS.pod. 2022-11-18 14:29:01 +01:00
missingmacro111.txt
missingmacro.txt
missingssl111.txt
missingssl-internal.txt
missingssl.txt
mk-fipsmodule-cnf.pl
mkbuildinf.pl
mkdef.pl Fix various typos, repeated words, align some spelling to LDP. 2022-10-12 16:55:28 +11:00
mkdir-p.pl
mkerr.pl Fix various typos, repeated words, align some spelling to LDP. 2022-10-12 16:55:28 +11:00
mknum.pl
mkpod2html.pl
mkrc.pl
mktar.sh
opensslwrap.sh
other-internal.syms
other.syms Allow PKCS12 export to set arbitrary bag attributes 2022-09-23 17:40:02 +01:00
providers.num
shlib_wrap.sh.in
su-filter.pl
unlocal_shlib.com.in
withlibctx.pl
wrap.pl.in util/wrap.pl.in: Use parentheses so kill gets all its arguments 2022-09-15 08:42:23 +02:00
write-man-symlinks