diff --git a/x86/aes-decrypt.asm b/x86/aes-decrypt.asm index 373f8866cf6f62d771665bdaf5ace9627b6ac5d3..b98e49128449552fa565d1222f493421ea378dce 100644 --- a/x86/aes-decrypt.asm +++ b/x86/aes-decrypt.asm @@ -66,44 +66,9 @@ aes_decrypt: pushl %edi AES_ROUND(_aes_decrypt_table,c,d,a,b) -C C // Third column -C C c d a b -C movl %ecx,%esi C copy first in -C andl $0x000000ff,%esi C clear all but offset -C shll $2,%esi C index in itbl1 -C movl AES_TABLE0 + _aes_decrypt_table (%esi),%edi -C movl %edx,%esi C second one -C shrl $6,%esi -C andl $0x000003fc,%esi C clear all but offset bytes -C xorl AES_TABLE1 + _aes_decrypt_table (%esi),%edi -C movl %eax,%esi C third one -C shrl $14,%esi -C andl $0x000003fc,%esi -C xorl AES_TABLE2 + _aes_decrypt_table (%esi),%edi -C movl %ebx,%esi C fourth one -C shrl $22,%esi -C andl $0x000003fc,%esi -C xorl AES_TABLE3 + _aes_decrypt_table (%esi),%edi pushl %edi C save first on stack - C // Fourth column - C b c d a - movl %ebx,%esi C copy first in - andl $0x000000ff,%esi C clear all but offset - shll $2,%esi C index in itbl1 - movl AES_TABLE0 + _aes_decrypt_table (%esi),%edi - movl %ecx,%esi C second one - shrl $6,%esi - andl $0x000003fc,%esi C clear all but offset bytes - xorl AES_TABLE1 + _aes_decrypt_table (%esi),%edi - movl %edx,%esi C third one - shrl $14,%esi - andl $0x000003fc,%esi - xorl AES_TABLE2 + _aes_decrypt_table (%esi),%edi - movl %eax,%esi C fourth one - shrl $22,%esi - andl $0x000003fc,%esi - xorl AES_TABLE3 + _aes_decrypt_table (%esi),%edi + AES_ROUND(_aes_decrypt_table,b,c,d,a) movl %edi,%edx popl %ecx