]> git.ipfire.org Git - thirdparty/nettle.git/commitdiff
(aes_decrypt): Use AES_LAST_ROUND.
authorNiels Möller <nisse@lysator.liu.se>
Wed, 15 May 2002 09:36:50 +0000 (11:36 +0200)
committerNiels Möller <nisse@lysator.liu.se>
Wed, 15 May 2002 09:36:50 +0000 (11:36 +0200)
Rev: src/nettle/x86/aes-decrypt.asm:1.8

x86/aes-decrypt.asm

index b98e49128449552fa565d1222f493421ea378dce..a56a5fa0be0f0ef45e287f9eee01f87f14eb182f 100644 (file)
@@ -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