2009-06-15 09:04:43

by Huang, Ying

[permalink] [raw]
Subject: [BUGFIX 1/3] crypto: Fix AES-NI cbc mode IV saving

Original implementation of aesni_cbc_dec do not save IV if input
length % 4 == 0. This will make decryption of next block failed.

Signed-off-by: Huang Ying <[email protected]>

---
arch/x86/crypto/aesni-intel_asm.S | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

--- a/arch/x86/crypto/aesni-intel_asm.S
+++ b/arch/x86/crypto/aesni-intel_asm.S
@@ -845,7 +845,7 @@ ENTRY(aesni_cbc_enc)
*/
ENTRY(aesni_cbc_dec)
cmp $16, LEN
- jb .Lcbc_dec_ret
+ jb .Lcbc_dec_just_ret
mov 480(KEYP), KLEN
add $240, KEYP
movups (IVP), IV
@@ -891,6 +891,7 @@ ENTRY(aesni_cbc_dec)
add $16, OUTP
cmp $16, LEN
jge .Lcbc_dec_loop1
- movups IV, (IVP)
.Lcbc_dec_ret:
+ movups IV, (IVP)
+.Lcbc_dec_just_ret:
ret




2009-06-18 11:45:20

by Herbert Xu

[permalink] [raw]
Subject: Re: [BUGFIX 1/3] crypto: Fix AES-NI cbc mode IV saving

On Mon, Jun 15, 2009 at 05:04:44PM +0800, Huang Ying wrote:
> Original implementation of aesni_cbc_dec do not save IV if input
> length % 4 == 0. This will make decryption of next block failed.
>
> Signed-off-by: Huang Ying <[email protected]>

All three patches applied to crypto-2.6.

Thanks,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt