openssl/include/crypto
Shane Lontis 80f4fd18f7 Add KEM (Key encapsulation mechanism) support to providers
SP800-56Br2 requires support for the RSA primitives for RSASVE generate and recover.
As these are simple KEM operations another operation type has been added that can support future extensions.

Added public functions EVP_PKEY_encapsulate_init(), EVP_PKEY_encapsulate(), EVP_PKEY_decapsulate_init() and EVP_PKEY_decapsulate()
Added EVP_KEM_* functions.
Added OSSL_FUNC_kem_* dispatch functions

Added EVP_PKEY_CTX_set_kem_op() so that different types of KEM can be added in the future. This value must currently be set to
"RSASVE" after EVP_PKEY_encapsulate_init() & EVP_PKEY_decapsulate_init() as there is no default value.
This allows the existing RSA key types, keymanagers, and encoders to be used with the encapsulation operations.

The design of the public API's resulted from contributions from @romen & @levitte.

Reviewed-by: Nicola Tuveri <nic.tuv@gmail.com>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/12750)
2020-09-19 18:08:46 +10:00
..
__DECC_INCLUDE_EPILOGUE.H
__DECC_INCLUDE_PROLOGUE.H
aes_platform.h Update copyright year 2020-04-23 13:55:52 +01:00
aria.h
asn1_dsa.h
asn1.h Add CMS AuthEnvelopedData with AES-GCM support 2020-09-08 15:43:11 +02:00
async.h
bn_conf.h.in
bn_dh.h Fix DH_get_nid() so that it does not cache values. 2020-04-20 11:07:38 +10:00
bn_srp.h
bn.h RSA generation: Use more bits of 1/sqrt(2) 2019-11-09 16:01:54 +01:00
chacha.h
cmll_platform.h CRYPTO: split cipher_platform.h into algorithm specific headers 2019-12-19 13:31:29 +01:00
cms.h crypto/cms: add CAdES-BES signed attributes validation 2020-05-27 13:16:30 +02:00
cryptlib.h
ctype.h
decoder.h STORE: Add a built-in 'file:' storemgmt implementation (loader) 2020-09-03 17:48:32 +02:00
des_platform.h CRYPTO: split cipher_platform.h into algorithm specific headers 2019-12-19 13:31:29 +01:00
dh.h Add dh_kdf support to provider 2020-08-11 20:39:19 +10:00
dsa.h Clean away some declarations 2020-08-21 15:18:20 +02:00
dso_conf.h.in
ec.h EC: Reimplement EVP_PKEY_CTX_set_ec_param_enc() to support providers 2020-09-12 20:24:22 +02:00
ecx.h Add the library ctx into an ECX_KEY 2020-05-04 09:30:55 +01:00
encoder.h Rename OSSL_SERIALIZER / OSSL_DESERIALIZER to OSSL_ENCODE / OSSL_DECODE 2020-08-21 09:23:58 +02:00
engine.h
err.h
ess.h crypto/cms: add CAdES-BES signed attributes validation 2020-05-27 13:16:30 +02:00
evp.h Add KEM (Key encapsulation mechanism) support to providers 2020-09-19 18:08:46 +10:00
lhash.h
md32_common.h
modes.h Update copyright year 2020-04-23 13:55:52 +01:00
objects.h
pkcs7.h Add libctx support to PKCS7. 2020-08-09 17:34:52 +10:00
poly1305.h Add ChaCha related ciphers to default provider 2019-10-16 16:18:42 +10:00
punycode.h Punycode decoding implementation 2020-08-26 14:04:11 +03:00
rand.h share rand_pool between libcrypto and providers 2020-06-24 20:05:41 +10:00
rsa.h Clean away some declarations 2020-08-21 15:18:20 +02:00
security_bits.h Change DH_get_nid() to set the value of q if it is not already set 2020-03-07 07:47:58 +10:00
sha.h
siphash.h
siv.h Update copyright year 2020-08-06 13:22:30 +01:00
sm2.h
sm2err.h Update source files for deprecation at 3.0 2019-11-07 11:37:25 +01:00
sm4.h
sparse_array.h
store.h Add X509 related libctx changes. 2020-07-24 22:53:27 +10:00
x509.h Extend X509 cert checks and error reporting in v3_{purp,crld}.c and x509_{set,vfy}.c 2020-09-11 07:42:22 +02:00
x509v3.h x509v3 subjectSignTool extention support 2020-02-28 18:01:16 +03:00