From: Niels Möller Date: Wed, 15 May 2002 09:36:50 +0000 (+0200) Subject: (aes_decrypt): Use AES_LAST_ROUND. X-Git-Tag: nettle_1.6_release_20021003~153 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8bd45c63ca4bd6b399a5743e445df1498c0de07a;p=thirdparty%2Fnettle.git (aes_decrypt): Use AES_LAST_ROUND. Rev: src/nettle/x86/aes-decrypt.asm:1.8 --- diff --git a/x86/aes-decrypt.asm b/x86/aes-decrypt.asm index b98e4912..a56a5fa0 100644 --- a/x86/aes-decrypt.asm +++ b/x86/aes-decrypt.asm @@ -74,7 +74,9 @@ aes_decrypt: popl %ecx popl %ebx popl %eax + popl %esi + xorl (%esi),%eax C add current session key to plaintext xorl 4(%esi),%ebx xorl 8(%esi),%ecx @@ -86,65 +88,19 @@ aes_decrypt: C Foo? xchgl %ebx,%edx - C // last round - C // first column - C a b c d - movl %eax,%edi - andl $0x000000ff,%edi - movl %ebx,%ebp - andl $0x0000ff00,%ebp - orl %ebp,%edi - movl %ecx,%ebp - andl $0x00ff0000,%ebp - orl %ebp,%edi - movl %edx,%ebp - andl $0xff000000,%ebp - orl %ebp,%edi + C last round + + AES_LAST_ROUND(a,b,c,d) pushl %edi - C // second column - C b c d a - movl %eax,%edi - andl $0xff000000,%edi - movl %ebx,%ebp - andl $0x000000ff,%ebp - orl %ebp,%edi - movl %ecx,%ebp - andl $0x0000ff00,%ebp - orl %ebp,%edi - movl %edx,%ebp - andl $0x00ff0000,%ebp - orl %ebp,%edi + AES_LAST_ROUND(b,c,d,a) pushl %edi - C // third column - C c d a b - movl %eax,%edi - andl $0x00ff0000,%edi - movl %ebx,%ebp - andl $0xff000000,%ebp - orl %ebp,%edi - movl %ecx,%ebp - andl $0x000000ff,%ebp - orl %ebp,%edi - movl %edx,%ebp - andl $0x0000ff00,%ebp - orl %ebp,%edi + AES_LAST_ROUND(c,d,a,b) pushl %edi - C // fourth column - C d a b c - movl %eax,%edi - andl $0x0000ff00,%edi - movl %ebx,%ebp - andl $0x00ff0000,%ebp - orl %ebp,%edi - movl %ecx,%ebp - andl $0xff000000,%ebp - orl %ebp,%edi - movl %edx,%ebp - andl $0x000000ff,%ebp - orl %ebp,%edi + AES_LAST_ROUND(d,a,b,c) + movl %edi,%edx popl %ecx popl %ebx