]> git.ipfire.org Git - thirdparty/nettle.git/commitdiff
(aes_decrypt): Use AES_STORE.
authorNiels Möller <nisse@lysator.liu.se>
Wed, 15 May 2002 10:57:48 +0000 (12:57 +0200)
committerNiels Möller <nisse@lysator.liu.se>
Wed, 15 May 2002 10:57:48 +0000 (12:57 +0200)
Rev: src/nettle/x86/aes-decrypt.asm:1.11

x86/aes-decrypt.asm

index 99f78cbf7a3b07881e015576e4424d1e69395066..e19ac708aecd71d2e656e448cb5e141dd5c8a1b8 100644 (file)
@@ -40,9 +40,9 @@ aes_decrypt:
 
        movl    24(%esp), %ebp
        testl   %ebp,%ebp
-       jz      .Ldecrypt_end
+       jz      .Lend
        
-.Ldecrypt_block_loop:
+.Lblock_loop:
        movl    20(%esp),%esi   C  address of context struct ctx
        movl    32(%esp),%ebp   C  address of plaintext
        AES_LOAD(%esi, %ebp)
@@ -53,7 +53,7 @@ aes_decrypt:
 
        subl    $1,%ebp         C  one round is complete
        addl    $16,%esi        C  point to next key
-.Ldecrypt_loop:
+.Lround_loop:
        pushl   %esi            C  save this first: we'll clobber it later
 
        C Why???
@@ -83,7 +83,7 @@ aes_decrypt:
        xorl    12(%esi),%edx
        addl    $16,%esi        C  point to next key
        decl    %ebp
-       jnz     .Ldecrypt_loop
+       jnz     .Lround_loop
 
        C Foo?
        xchgl   %ebx,%edx
@@ -109,29 +109,21 @@ aes_decrypt:
 
        C inverse S-box substitution
        mov     $4,%edi
-.Lisubst:
+.Lsubst:
        AES_SUBST_BYTE(_aes_decrypt_table)
 
        decl    %edi
-       jnz     .Lisubst
+       jnz     .Lsubst
 
-       xorl    (%esi),%eax     C  add last key to plaintext
-       xorl    4(%esi),%ebx
-       xorl    8(%esi),%ecx
-       xorl    12(%esi),%edx
-
-       C // store decrypted data back to caller's buffer
+       C Add last subkey, and store encrypted data
        movl    28(%esp),%edi
-       movl    %eax,(%edi)
-       movl    %ebx,4(%edi)
-       movl    %ecx,8(%edi)
-       movl    %edx,12(%edi)
+       AES_STORE(%esi, %edi)
        
        addl    $16, 28(%esp)   C Increment destination pointer
        subl    $16, 24(%esp)
-       jnz     .Ldecrypt_block_loop
+       jnz     .Lblock_loop
 
-.Ldecrypt_end: 
+.Lend: 
        popl    %edi
        popl    %esi
        popl    %ebp