diff options
author | Todd Short <tshort@akamai.com> | 2022-04-28 14:56:11 -0400 |
---|---|---|
committer | Todd Short <todd.short@me.com> | 2022-07-29 08:32:16 -0400 |
commit | 0113ec8460a918f8bc782130db8f75540b3b1ab2 (patch) | |
tree | 2e8c7100cd3be8c2a0cc32efed6330daf3f8395f /doc/man3/EVP_EncryptInit.pod | |
parent | dffafaf48174497a724d546c3483d2493fc9b64c (diff) |
Implement AES-GCM-SIV (RFC8452)
Fixes #16721
This uses AES-ECB to create a counter mode AES-CTR32 (32bit counter, I could
not get AES-CTR to work as-is), and GHASH to implement POLYVAL. Optimally,
there would be separate polyval assembly implementation(s), but the only one
I could find (and it was SSE2 x86_64 code) was not Apache 2.0 licensed.
This implementation lives only in the default provider; there is no legacy
implementation.
The code offered in #16721 is not used; that implementation sits on top of
OpenSSL, this one is embedded inside OpenSSL.
Full test vectors from RFC8452 are included, except the 0 length plaintext;
that is not supported; and I'm not sure it's worthwhile to do so.
Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/18693)
Diffstat (limited to 'doc/man3/EVP_EncryptInit.pod')
-rw-r--r-- | doc/man3/EVP_EncryptInit.pod | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/doc/man3/EVP_EncryptInit.pod b/doc/man3/EVP_EncryptInit.pod index 4069866a9f..f81fdb2e00 100644 --- a/doc/man3/EVP_EncryptInit.pod +++ b/doc/man3/EVP_EncryptInit.pod @@ -1375,6 +1375,8 @@ AES. =head2 SIV Mode +Both the AES-SIV and AES-GCM-SIV ciphers fall under this mode. + For SIV mode ciphers the behaviour of the EVP interface is subtly altered and several additional ctrl operations are supported. |