aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/aes128.asm
diff options
context:
space:
mode:
Diffstat (limited to 'src/aes128.asm')
-rw-r--r--src/aes128.asm13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/aes128.asm b/src/aes128.asm
index 06a0275..5d62621 100644
--- a/src/aes128.asm
+++ b/src/aes128.asm
@@ -32,6 +32,11 @@ inverted_key_schedule oword 11 dup(0)
ret
@raw_aes128ecb_encrypt@32 endp
+@raw_aes128cbc_encrypt@36 proc
+ pxor xmm0, [ecx]
+ jmp @raw_aes128ecb_encrypt@32
+@raw_aes128cbc_encrypt@36 endp
+
@raw_aes128ecb_decrypt@32 proc
call expand_keys128
pxor xmm0, [inverted_key_schedule]
@@ -48,6 +53,14 @@ inverted_key_schedule oword 11 dup(0)
ret
@raw_aes128ecb_decrypt@32 endp
+@raw_aes128cbc_decrypt@36 proc
+ push ecx
+ call @raw_aes128ecb_decrypt@32
+ pop ecx
+ pxor xmm0, [ecx]
+ ret
+@raw_aes128cbc_decrypt@36 endp
+
expand_keys128 proc
; A "word" (in terms of the FIPS 187 standard) is a 32-bit block.
; Words are denoted by `w[N]`.