Remove x86/x86_64 BSAES and AES_ASM support
authorBernd Edlinger <bernd.edlinger@hotmail.de>
Fri, 23 Aug 2019 08:17:31 +0000 (10:17 +0200)
committerBernd Edlinger <bernd.edlinger@hotmail.de>
Sat, 7 Sep 2019 08:26:48 +0000 (10:26 +0200)
commit87bea6550ae0dda7c40937cff2e86cc2b0b09491
treecb5453981d2307a9807847efab7b6b475bc22e9c
parenta6186f39802f94937a46f7a41ef0c86b6334b592
Remove x86/x86_64 BSAES and AES_ASM support

This leaves VPAES and AESNI support.
The VPAES performance is comparable but BSAES is not
completely constant time. There are table lookups
using secret key data in AES_set_encrypt/decrypt_key
and in ctr mode short data uses the non-constant
time AES_encrypt function instead of bit-slicing.
Furthermore the AES_ASM is by far outperformed
by recent GCC versions.
Since BSAES calls back to AES_ASM for short
data blocks the performance on those is also
worse than the pure software implementaion.

Fixes: #9640

Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/9675)
Configurations/00-base-templates.conf
crypto/aes/asm/aes-586.pl [deleted file]
crypto/aes/asm/aes-x86_64.pl [deleted file]
crypto/aes/asm/bsaes-x86_64.pl [deleted file]
crypto/evp/e_aes.c