diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2018-02-06 03:59:17 +0100 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2018-02-06 08:37:22 +0100 |
commit | 0cbc2324d3f4a703b1c9d98405a5d8ac6bc731d5 (patch) | |
tree | 144414c588a13274c5dfb693b62f8c16f6d0406c | |
parent | a46a56808a23c7fda7cd75f72aa6e8f1e9001844 (diff) | |
download | gnutls-0cbc2324d3f4a703b1c9d98405a5d8ac6bc731d5.tar.gz |
accelerated: aarch64: fix GCM counter increment
Ensure that we restrict the GCM counter to the 4 bytes assigned to it.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
-rw-r--r-- | lib/accelerated/aarch64/aes-gcm-aarch64.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/accelerated/aarch64/aes-gcm-aarch64.c b/lib/accelerated/aarch64/aes-gcm-aarch64.c index 8d2bc1dce2..677f213f12 100644 --- a/lib/accelerated/aarch64/aes-gcm-aarch64.c +++ b/lib/accelerated/aarch64/aes-gcm-aarch64.c @@ -37,6 +37,7 @@ #include <byteswap.h> #define GCM_BLOCK_SIZE 16 +#define INC32(block) INCREMENT(4, block + GCM_BLOCK_SIZE - 4) /* GCM mode */ @@ -169,7 +170,7 @@ ctr32_encrypt_blocks_inplace(const unsigned char *in, unsigned char *out, out += 16; in += 16; - INCREMENT(16, ctr); + INC32(ctr); } } @@ -192,7 +193,7 @@ ctr32_encrypt_blocks(const unsigned char *in, unsigned char *out, out += 16; in += 16; - INCREMENT(16, ctr); + INC32(ctr); } } |