From 09de9f0435790eefc082253609c8ef0ed66f8233 Mon Sep 17 00:00:00 2001 From: Andy Polyakov Date: Mon, 20 Mar 2017 11:38:25 +0100 Subject: [PATCH] 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) --- crypto/aes/asm/aesni-sha1-x86_64.pl | 1 + crypto/aes/asm/aesni-sha256-x86_64.pl | 1 + 2 files changed, 2 insertions(+) diff --git a/crypto/aes/asm/aesni-sha1-x86_64.pl b/crypto/aes/asm/aesni-sha1-x86_64.pl index 4b979a7346..7cc5a7f73c 100644 --- a/crypto/aes/asm/aesni-sha1-x86_64.pl +++ b/crypto/aes/asm/aesni-sha1-x86_64.pl @@ -1711,6 +1711,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 a5fde2e4d1..3b03328f3f 100644 --- a/crypto/aes/asm/aesni-sha256-x86_64.pl +++ b/crypto/aes/asm/aesni-sha256-x86_64.pl @@ -1307,6 +1307,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 -- 2.25.1