Add AES_CBC_CTS ciphers to providers
authorShane Lontis <shane.lontis@oracle.com>
Mon, 8 Jun 2020 04:33:27 +0000 (14:33 +1000)
committerRichard Levitte <levitte@openssl.org>
Wed, 15 Jul 2020 21:11:50 +0000 (23:11 +0200)
commit7cc355c2e4e081dca3c6c345a75a2ab16800c807
treeaf03550512bc59ca961934e9009c6c8fd4be5656
parentc35b8535768e22cd3b7743f4887a72e53a621a5f
Add AES_CBC_CTS ciphers to providers

Added Algorithm names AES-128-CBC-CTS, AES-192-CBC-CTS and AES-256-CBC-CTS.
CS1, CS2 and CS3 variants are supported.
Only single shot updates are supported.
The cipher returns the mode EVP_CIPH_CBC_MODE (Internally it shares the aes_cbc cipher code). This
would allow existing code that uses AES_CBC to switch to the CTS variant without breaking code that
tests for this mode. Because it shares the aes_cbc code the cts128.c functions could not be used directly.
The cipher returns the flag EVP_CIPH_FLAG_CTS.
EVP_CIPH_FLAG_FIPS & EVP_CIPH_FLAG_NON_FIPS_ALLOW have been deprecated.

Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/12094)
18 files changed:
CHANGES.md
doc/man3/EVP_CIPHER_meth_new.pod
doc/man3/EVP_EncryptInit.pod
doc/man7/provider-cipher.pod
include/openssl/core_names.h
include/openssl/evp.h
providers/defltprov.c
providers/fips/fipsprov.c
providers/implementations/ciphers/build.info
providers/implementations/ciphers/cipher_aes.c
providers/implementations/ciphers/cipher_aes_cts.h [new file with mode: 0644]
providers/implementations/ciphers/cipher_aes_cts.inc [new file with mode: 0644]
providers/implementations/ciphers/cipher_aes_cts_fips.c [new file with mode: 0644]
providers/implementations/include/prov/ciphercommon.h
providers/implementations/include/prov/implementations.h
test/evp_test.c
test/recipes/30-test_evp.t
test/recipes/30-test_evp_data/evpciph_aes_cts.txt [new file with mode: 0644]