diff options
Diffstat (limited to 'lib/accelerated/x86/aes-gcm-x86-ssse3.c')
-rw-r--r-- | lib/accelerated/x86/aes-gcm-x86-ssse3.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/accelerated/x86/aes-gcm-x86-ssse3.c b/lib/accelerated/x86/aes-gcm-x86-ssse3.c index 512a8cffd7..52759f9b63 100644 --- a/lib/accelerated/x86/aes-gcm-x86-ssse3.c +++ b/lib/accelerated/x86/aes-gcm-x86-ssse3.c @@ -47,8 +47,14 @@ static void x86_aes_encrypt(const void *_ctx, const uint8_t * src) { AES_KEY *ctx = (void*)_ctx; + unsigned i; + unsigned blocks = (length+15) / 16; - vpaes_encrypt(src, dst, ctx); + for (i=0;i<blocks;i++) { + vpaes_encrypt(src, dst, ctx); + dst += 16; + src += 16; + } } static void x86_aes_128_set_encrypt_key(void *_ctx, |