From: Andy Polyakov Date: Mon, 20 Mar 2017 10:38:25 +0000 (+0100) Subject: aes/asm/aesni-sha*-x86_64.pl: fix IV handling in SHAEXT paths. X-Git-Tag: OpenSSL_1_0_2l~35 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=4150efdb76ac2548a1583e18ee0fafa2ac31b73c;p=oweals%2Fopenssl.git aes/asm/aesni-sha*-x86_64.pl: fix IV handling in SHAEXT paths. Initial IV was disregarded on SHAEXT-capable processors. Amazingly enough bulk AES128-SHA* talk-to-yourself tests were passing. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/2992) (cherry picked from commit 08d09628d2c9f3ef599399d8cad021a07ab98347) --- diff --git a/crypto/aes/asm/aesni-sha1-x86_64.pl b/crypto/aes/asm/aesni-sha1-x86_64.pl index 8c84260856..7a30e893fb 100644 --- a/crypto/aes/asm/aesni-sha1-x86_64.pl +++ b/crypto/aes/asm/aesni-sha1-x86_64.pl @@ -1702,6 +1702,7 @@ $code.=<<___; mov 240($key),$rounds sub $in0,$out movups ($key),$rndkey0 # $key[0] + movups ($ivp),$iv # load IV movups 16($key),$rndkey[0] # forward reference lea 112($key),$key # size optimization diff --git a/crypto/aes/asm/aesni-sha256-x86_64.pl b/crypto/aes/asm/aesni-sha256-x86_64.pl index 72f44ecf62..588ade64ee 100644 --- a/crypto/aes/asm/aesni-sha256-x86_64.pl +++ b/crypto/aes/asm/aesni-sha256-x86_64.pl @@ -1299,6 +1299,7 @@ $code.=<<___; mov 240($key),$rounds sub $in0,$out movups ($key),$rndkey0 # $key[0] + movups ($ivp),$iv # load IV movups 16($key),$rndkey[0] # forward reference lea 112($key),$key # size optimization