diff options
author | Niels Möller <nisse@lysator.liu.se> | 2021-09-14 14:40:35 +0200 |
---|---|---|
committer | Niels Möller <nisse@lysator.liu.se> | 2021-09-14 14:40:35 +0200 |
commit | 55584f4e7ce91f3e1c3b68f900a88d2ad680ae8d (patch) | |
tree | d63d2052df3d9adad9923d3378a293facce99c1d /x86_64 | |
parent | 7a966ac3869b7b8d94fb92740415ad71bbbdeee7 (diff) | |
download | nettle-55584f4e7ce91f3e1c3b68f900a88d2ad680ae8d.tar.gz |
Change CBC-AES interface
* cbc.h (cbc_aes128_encrypt, cbc_aes192_encrypt)
(cbc_aes256_encrypt): Change interface, take cipher context
pointer and iv as separate arguments. Update C and x86_64
implementations and corresponding glue code.
Diffstat (limited to 'x86_64')
-rw-r--r-- | x86_64/aesni/cbc-aes128-encrypt.asm | 16 | ||||
-rw-r--r-- | x86_64/aesni/cbc-aes192-encrypt.asm | 16 | ||||
-rw-r--r-- | x86_64/aesni/cbc-aes256-encrypt.asm | 16 |
3 files changed, 24 insertions, 24 deletions
diff --git a/x86_64/aesni/cbc-aes128-encrypt.asm b/x86_64/aesni/cbc-aes128-encrypt.asm index 7375dadd..c780b35e 100644 --- a/x86_64/aesni/cbc-aes128-encrypt.asm +++ b/x86_64/aesni/cbc-aes128-encrypt.asm @@ -32,9 +32,10 @@ ifelse(` C Input argument define(`CTX', `%rdi') -define(`LENGTH',`%rsi') -define(`DST', `%rdx') -define(`SRC', `%rcx') +define(`IV', `%rsi') +define(`LENGTH',`%rdx') +define(`DST', `%rcx') +define(`SRC', `%r8') define(`KEY0', `%xmm0') define(`KEY1', `%xmm1') @@ -59,7 +60,7 @@ define(`BLOCK', `%xmm12') .text ALIGN(16) PROLOGUE(nettle_cbc_aes128_encrypt) - W64_ENTRY(4, 13) + W64_ENTRY(5, 13) shr $4, LENGTH test LENGTH, LENGTH jz .Lend @@ -75,7 +76,7 @@ PROLOGUE(nettle_cbc_aes128_encrypt) movups 128(CTX), KEY8 movups 144(CTX), KEY9 movups 160(CTX), KEY10 - movups 176(CTX), X C Load IV + movups (IV), X .Lblock_loop: movups (SRC), BLOCK C Cleartext block @@ -99,10 +100,9 @@ PROLOGUE(nettle_cbc_aes128_encrypt) dec LENGTH jnz .Lblock_loop - C Save IV - movups X, 176(CTX) + movups X, (IV) .Lend: - W64_EXIT(4, 13) + W64_EXIT(5, 13) ret EPILOGUE(nettle_cbc_aes128_encrypt) diff --git a/x86_64/aesni/cbc-aes192-encrypt.asm b/x86_64/aesni/cbc-aes192-encrypt.asm index 2438d91f..13825162 100644 --- a/x86_64/aesni/cbc-aes192-encrypt.asm +++ b/x86_64/aesni/cbc-aes192-encrypt.asm @@ -32,9 +32,10 @@ ifelse(` C Input argument define(`CTX', `%rdi') -define(`LENGTH',`%rsi') -define(`DST', `%rdx') -define(`SRC', `%rcx') +define(`IV', `%rsi') +define(`LENGTH',`%rdx') +define(`DST', `%rcx') +define(`SRC', `%r8') define(`KEY0', `%xmm0') define(`KEY1', `%xmm1') @@ -61,7 +62,7 @@ define(`BLOCK', `%xmm14') .text ALIGN(16) PROLOGUE(nettle_cbc_aes192_encrypt) - W64_ENTRY(4, 15) + W64_ENTRY(5, 15) shr $4, LENGTH test LENGTH, LENGTH jz .Lend @@ -79,7 +80,7 @@ PROLOGUE(nettle_cbc_aes192_encrypt) movups 160(CTX), KEY10 movups 176(CTX), KEY11 movups 192(CTX), KEY12 - movups 208(CTX), X C Load IV + movups (IV), X .Lblock_loop: movups (SRC), BLOCK C Cleartext block @@ -105,10 +106,9 @@ PROLOGUE(nettle_cbc_aes192_encrypt) dec LENGTH jnz .Lblock_loop - C Save IV - movups X, 208(CTX) + movups X, (IV) .Lend: - W64_EXIT(4, 15) + W64_EXIT(5, 15) ret EPILOGUE(nettle_cbc_aes192_encrypt) diff --git a/x86_64/aesni/cbc-aes256-encrypt.asm b/x86_64/aesni/cbc-aes256-encrypt.asm index 6b289c70..17428f19 100644 --- a/x86_64/aesni/cbc-aes256-encrypt.asm +++ b/x86_64/aesni/cbc-aes256-encrypt.asm @@ -32,9 +32,10 @@ ifelse(` C Input argument define(`CTX', `%rdi') -define(`LENGTH',`%rsi') -define(`DST', `%rdx') -define(`SRC', `%rcx') +define(`IV', `%rsi') +define(`LENGTH',`%rdx') +define(`DST', `%rcx') +define(`SRC', `%r8') define(`KEY0_7', `%xmm0') define(`KEY1', `%xmm1') @@ -63,7 +64,7 @@ define(`BLOCK', `%xmm15') .text ALIGN(16) PROLOGUE(nettle_cbc_aes256_encrypt) - W64_ENTRY(4, 16) + W64_ENTRY(5, 16) shr $4, LENGTH test LENGTH, LENGTH jz .Lend @@ -82,7 +83,7 @@ PROLOGUE(nettle_cbc_aes256_encrypt) movups 192(CTX), KEY12 movups 208(CTX), KEY13 movups 224(CTX), KEY14 - movups 240(CTX), X C Load IV + movups (IV), X .Lblock_loop: movups (SRC), BLOCK C Cleartext block @@ -112,10 +113,9 @@ PROLOGUE(nettle_cbc_aes256_encrypt) dec LENGTH jnz .Lblock_loop - C Save IV - movups X, 240(CTX) + movups X, (IV) .Lend: - W64_EXIT(4, 16) + W64_EXIT(5, 16) ret EPILOGUE(nettle_cbc_aes256_encrypt) |