From 8bd45c63ca4bd6b399a5743e445df1498c0de07a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se>
Date: Wed, 15 May 2002 11:36:50 +0200
Subject: [PATCH] (aes_decrypt): Use AES_LAST_ROUND.

Rev: src/nettle/x86/aes-decrypt.asm:1.8
---
 x86/aes-decrypt.asm | 62 +++++++--------------------------------------
 1 file changed, 9 insertions(+), 53 deletions(-)

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
-- 
GitLab