openssl/providers/implementations/ciphers
Shane Lontis 4b51903d86 Fix AES_XTS on x86-64 platforms with BSAES and VPAES support.
Fixes #11622
Fixes #12378

Due to a missing else it was setting up the stream for BSAES and then using this incorrect stream with VPAES.
The correct behaviour is not to use VPAES at all in this case.
Also note that the original code in e_aes could set up VPAES and then would overwrite it with the generic implementation.
On a machine that supported both BSAES and VPAES the code was changed locally to force it to run both cases to verify
both paths produce the correct known answers.

Debugged using mageia 7.1, but is also highly likely to fix FreeBSD also.

Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/12887)
2020-09-18 06:15:50 +10:00
..
build.info Add AES_CBC_CTS ciphers to providers 2020-07-15 23:11:50 +02:00
cipher_aes_cbc_hmac_sha1_hw.c Decreate the length after decryption for the stitched ciphers 2020-07-06 09:26:09 +01:00
cipher_aes_cbc_hmac_sha256_hw.c Decreate the length after decryption for the stitched ciphers 2020-07-06 09:26:09 +01:00
cipher_aes_cbc_hmac_sha.c ciphers: add FIPS error state handling 2020-09-12 16:46:51 +10:00
cipher_aes_cbc_hmac_sha.h Update copyright year 2020-04-23 13:55:52 +01:00
cipher_aes_ccm_hw_aesni.inc Move providers/common/{ciphers,digests}/* to providers/implementations 2019-12-11 12:55:48 +01:00
cipher_aes_ccm_hw_s390x.inc Move providers/common/{ciphers,digests}/* to providers/implementations 2019-12-11 12:55:48 +01:00
cipher_aes_ccm_hw_t4.inc Move providers/common/{ciphers,digests}/* to providers/implementations 2019-12-11 12:55:48 +01:00
cipher_aes_ccm_hw.c Update copyright year 2020-04-23 13:55:52 +01:00
cipher_aes_ccm.c ciphers: add FIPS error state handling 2020-09-12 16:46:51 +10:00
cipher_aes_ccm.h EVP & PROV: Fix all platform inclusions 2019-12-19 13:33:35 +01:00
cipher_aes_cts_fips.c Add AES_CBC_CTS ciphers to providers 2020-07-15 23:11:50 +02:00
cipher_aes_cts.h Add AES_CBC_CTS ciphers to providers 2020-07-15 23:11:50 +02:00
cipher_aes_cts.inc Add AES_CBC_CTS ciphers to providers 2020-07-15 23:11:50 +02:00
cipher_aes_gcm_hw_aesni.inc Update copyright year 2020-04-23 13:55:52 +01:00
cipher_aes_gcm_hw_armv8.inc Update copyright year 2020-04-23 13:55:52 +01:00
cipher_aes_gcm_hw_s390x.inc Move providers/common/{ciphers,digests}/* to providers/implementations 2019-12-11 12:55:48 +01:00
cipher_aes_gcm_hw_t4.inc Update copyright year 2020-04-23 13:55:52 +01:00
cipher_aes_gcm_hw.c Update copyright year 2020-04-23 13:55:52 +01:00
cipher_aes_gcm.c Update AES GCM IV max length to be 1024 bits (was 512) 2020-09-17 12:55:39 +10:00
cipher_aes_gcm.h EVP & PROV: Fix all platform inclusions 2019-12-19 13:33:35 +01:00
cipher_aes_hw_aesni.inc Fix Use after free when copying cipher ctx 2019-11-18 13:13:05 +10:00
cipher_aes_hw_s390x.inc Expose S390x HW ciphers' IV state to provider layer 2020-08-11 07:07:58 -07:00
cipher_aes_hw_t4.inc Fix Use after free when copying cipher ctx 2019-11-18 13:13:05 +10:00
cipher_aes_hw.c Update copyright year 2020-04-23 13:55:52 +01:00
cipher_aes_ocb_hw.c Fix provider cipher reinit issue 2020-07-22 10:40:55 +10:00
cipher_aes_ocb.c ciphers: add FIPS error state handling 2020-09-12 16:46:51 +10:00
cipher_aes_ocb.h EVP & PROV: Fix all platform inclusions 2019-12-19 13:33:35 +01:00
cipher_aes_siv_hw.c Fix provider cipher reinit issue 2020-07-22 10:40:55 +10:00
cipher_aes_siv.c ciphers: add FIPS error state handling 2020-09-12 16:46:51 +10:00
cipher_aes_siv.h Fix provider cipher reinit issue 2020-07-22 10:40:55 +10:00
cipher_aes_wrp.c ciphers: add FIPS error state handling 2020-09-12 16:46:51 +10:00
cipher_aes_xts_fips.c Rename FIPS_MODE to FIPS_MODULE 2020-04-28 15:37:37 +02:00
cipher_aes_xts_hw.c Fix AES_XTS on x86-64 platforms with BSAES and VPAES support. 2020-09-18 06:15:50 +10:00
cipher_aes_xts.c ciphers: add FIPS error state handling 2020-09-12 16:46:51 +10:00
cipher_aes_xts.h EVP & PROV: Fix all platform inclusions 2019-12-19 13:33:35 +01:00
cipher_aes.c ciphers: add FIPS error state handling 2020-09-12 16:46:51 +10:00
cipher_aes.h EVP & PROV: Fix all platform inclusions 2019-12-19 13:33:35 +01:00
cipher_aria_ccm_hw.c Providers: move all ciphers 2019-10-10 14:12:15 +02:00
cipher_aria_ccm.c ciphers: add FIPS error state handling 2020-09-12 16:46:51 +10:00
cipher_aria_ccm.h Move providers/common/{ciphers,digests}/* to providers/implementations 2019-12-11 12:55:48 +01:00
cipher_aria_gcm_hw.c Update copyright year 2020-04-23 13:55:52 +01:00
cipher_aria_gcm.c Update AES GCM IV max length to be 1024 bits (was 512) 2020-09-17 12:55:39 +10:00
cipher_aria_gcm.h Move providers/common/{ciphers,digests}/* to providers/implementations 2019-12-11 12:55:48 +01:00
cipher_aria_hw.c Fix Use after free when copying cipher ctx 2019-11-18 13:13:05 +10:00
cipher_aria.c ciphers: add FIPS error state handling 2020-09-12 16:46:51 +10:00
cipher_aria.h Providers: move all ciphers 2019-10-10 14:12:15 +02:00
cipher_blowfish_hw.c Update copyright year 2020-04-23 13:55:52 +01:00
cipher_blowfish.c ciphers: add FIPS error state handling 2020-09-12 16:46:51 +10:00
cipher_blowfish.h Providers: move all ciphers 2019-10-10 14:12:15 +02:00
cipher_camellia_hw_t4.inc Fix Use after free when copying cipher ctx 2019-11-18 13:13:05 +10:00
cipher_camellia_hw.c Update copyright year 2020-04-23 13:55:52 +01:00
cipher_camellia.c ciphers: add FIPS error state handling 2020-09-12 16:46:51 +10:00
cipher_camellia.h EVP & PROV: Fix all platform inclusions 2019-12-19 13:33:35 +01:00
cipher_cast5_hw.c Update copyright year 2020-04-23 13:55:52 +01:00
cipher_cast5.c ciphers: add FIPS error state handling 2020-09-12 16:46:51 +10:00
cipher_cast.h Providers: move all ciphers 2019-10-10 14:12:15 +02:00
cipher_chacha20_hw.c Add ChaCha related ciphers to default provider 2019-10-16 16:18:42 +10:00
cipher_chacha20_poly1305_hw.c Update copyright year 2020-07-16 14:47:04 +02:00
cipher_chacha20_poly1305.c ciphers: add FIPS error state handling 2020-09-12 16:46:51 +10:00
cipher_chacha20_poly1305.h Add ChaCha related ciphers to default provider 2019-10-16 16:18:42 +10:00
cipher_chacha20.c ciphers: add FIPS error state handling 2020-09-12 16:46:51 +10:00
cipher_chacha20.h Update copyright year 2020-06-25 14:13:12 +01:00
cipher_des_hw.c Add solaris assembler fixes for legacy provider 2020-05-02 17:55:07 +10:00
cipher_des.c ciphers: add FIPS error state handling 2020-09-12 16:46:51 +10:00
cipher_des.h EVP & PROV: Fix all platform inclusions 2019-12-19 13:33:35 +01:00
cipher_desx_hw.c Update copyright year 2020-04-23 13:55:52 +01:00
cipher_desx.c Update copyright year 2020-04-23 13:55:52 +01:00
cipher_idea_hw.c Update copyright year 2020-04-23 13:55:52 +01:00
cipher_idea.c ciphers: add FIPS error state handling 2020-09-12 16:46:51 +10:00
cipher_idea.h Providers: move all ciphers 2019-10-10 14:12:15 +02:00
cipher_null.c ciphers: add FIPS error state handling 2020-09-12 16:46:51 +10:00
cipher_rc2_hw.c Update copyright year 2020-04-23 13:55:52 +01:00
cipher_rc2.c ciphers: add FIPS error state handling 2020-09-12 16:46:51 +10:00
cipher_rc2.h Providers: move all ciphers 2019-10-10 14:12:15 +02:00
cipher_rc4_hmac_md5_hw.c Update copyright year 2020-04-23 13:55:52 +01:00
cipher_rc4_hmac_md5.c ciphers: add FIPS error state handling 2020-09-12 16:46:51 +10:00
cipher_rc4_hmac_md5.h Add rc4_hmac_md5 cipher to default provider 2019-11-11 10:04:46 +10:00
cipher_rc4_hw.c Update copyright year 2020-04-23 13:55:52 +01:00
cipher_rc4.c ciphers: add FIPS error state handling 2020-09-12 16:46:51 +10:00
cipher_rc4.h Providers: move all ciphers 2019-10-10 14:12:15 +02:00
cipher_rc5_hw.c Update copyright year 2020-04-23 13:55:52 +01:00
cipher_rc5.c ciphers: add FIPS error state handling 2020-09-12 16:46:51 +10:00
cipher_rc5.h Providers: move all ciphers 2019-10-10 14:12:15 +02:00
cipher_seed_hw.c Update copyright year 2020-04-23 13:55:52 +01:00
cipher_seed.c ciphers: add FIPS error state handling 2020-09-12 16:46:51 +10:00
cipher_seed.h Providers: move all ciphers 2019-10-10 14:12:15 +02:00
cipher_sm4_hw.c Fix Use after free when copying cipher ctx 2019-11-18 13:13:05 +10:00
cipher_sm4.c ciphers: add FIPS error state handling 2020-09-12 16:46:51 +10:00
cipher_sm4.h Providers: move all ciphers 2019-10-10 14:12:15 +02:00
cipher_tdes_common.c ciphers: add FIPS error state handling 2020-09-12 16:46:51 +10:00
cipher_tdes_default_hw.c Update copyright year 2020-04-23 13:55:52 +01:00
cipher_tdes_default.c Update copyright year 2020-04-23 13:55:52 +01:00
cipher_tdes_default.h Providers: move all ciphers 2019-10-10 14:12:15 +02:00
cipher_tdes_hw.c Update copyright year 2020-04-23 13:55:52 +01:00
cipher_tdes_wrap_hw.c Update copyright year 2020-04-23 13:55:52 +01:00
cipher_tdes_wrap.c ciphers: add FIPS error state handling 2020-09-12 16:46:51 +10:00
cipher_tdes.c Move legacy ciphers into the legacy provider 2020-04-09 12:47:46 +10:00
cipher_tdes.h Make the naming scheme for dispatched functions more consistent 2020-06-24 22:01:22 +02:00
ciphercommon_block.c Add provider support for TLS CBC padding and MAC removal 2020-07-06 09:26:09 +01:00
ciphercommon_ccm_hw.c Move providers/common/{ciphers,digests}/* to providers/implementations 2019-12-11 12:55:48 +01:00
ciphercommon_ccm.c ciphers: add FIPS error state handling 2020-09-12 16:46:51 +10:00
ciphercommon_gcm_hw.c Update copyright year 2020-04-23 13:55:52 +01:00
ciphercommon_gcm.c ciphers: add FIPS error state handling 2020-09-12 16:46:51 +10:00
ciphercommon_hw.c Optimize AES-ECB mode in OpenSSL for both aarch64 and aarch32 2019-12-11 18:56:11 +01:00
ciphercommon_local.h Update copyright year 2020-07-16 14:47:04 +02:00
ciphercommon.c ciphers: add FIPS error state handling 2020-09-12 16:46:51 +10:00