diff options
Diffstat (limited to 'lib/freebl/verified/Hacl_Chacha20Poly1305_128.c')
-rw-r--r-- | lib/freebl/verified/Hacl_Chacha20Poly1305_128.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/freebl/verified/Hacl_Chacha20Poly1305_128.c b/lib/freebl/verified/Hacl_Chacha20Poly1305_128.c index 1b98e18af..e45fcd9df 100644 --- a/lib/freebl/verified/Hacl_Chacha20Poly1305_128.c +++ b/lib/freebl/verified/Hacl_Chacha20Poly1305_128.c @@ -47,9 +47,9 @@ poly1305_padded_128(Lib_IntVector_Intrinsics_vec128 *ctx, uint32_t len, uint8_t Lib_IntVector_Intrinsics_vec128 e[5U]; for (uint32_t _i = 0U; _i < (uint32_t)5U; ++_i) e[_i] = Lib_IntVector_Intrinsics_vec128_zero; - Lib_IntVector_Intrinsics_vec128 b1 = Lib_IntVector_Intrinsics_vec128_load_le(block); + Lib_IntVector_Intrinsics_vec128 b1 = Lib_IntVector_Intrinsics_vec128_load64_le(block); Lib_IntVector_Intrinsics_vec128 - b2 = Lib_IntVector_Intrinsics_vec128_load_le(block + (uint32_t)16U); + b2 = Lib_IntVector_Intrinsics_vec128_load64_le(block + (uint32_t)16U); Lib_IntVector_Intrinsics_vec128 lo = Lib_IntVector_Intrinsics_vec128_interleave_low64(b1, b2); Lib_IntVector_Intrinsics_vec128 hi = Lib_IntVector_Intrinsics_vec128_interleave_high64(b1, b2); @@ -480,7 +480,7 @@ poly1305_padded_128(Lib_IntVector_Intrinsics_vec128 *ctx, uint32_t len, uint8_t for (uint32_t _i = 0U; _i < (uint32_t)5U; ++_i) e[_i] = Lib_IntVector_Intrinsics_vec128_zero; uint8_t tmp[16U] = { 0U }; - memcpy(tmp, last, rem1 * sizeof(last[0U])); + memcpy(tmp, last, rem1 * sizeof(uint8_t)); uint64_t u0 = load64_le(tmp); uint64_t lo = u0; uint64_t u = load64_le(tmp + (uint32_t)8U); @@ -685,7 +685,7 @@ poly1305_padded_128(Lib_IntVector_Intrinsics_vec128 *ctx, uint32_t len, uint8_t acc0[4U] = o4; } uint8_t tmp[16U] = { 0U }; - memcpy(tmp, rem, r * sizeof(rem[0U])); + memcpy(tmp, rem, r * sizeof(uint8_t)); if (r > (uint32_t)0U) { Lib_IntVector_Intrinsics_vec128 *pre = ctx + (uint32_t)5U; Lib_IntVector_Intrinsics_vec128 *acc = ctx; @@ -912,7 +912,9 @@ poly1305_do_128( ctx[_i] = Lib_IntVector_Intrinsics_vec128_zero; uint8_t block[16U] = { 0U }; Hacl_Poly1305_128_poly1305_init(ctx, k); - poly1305_padded_128(ctx, aadlen, aad); + if (aadlen != (uint32_t)0U) { + poly1305_padded_128(ctx, aadlen, aad); + } poly1305_padded_128(ctx, mlen, m); store64_le(block, (uint64_t)aadlen); store64_le(block + (uint32_t)8U, (uint64_t)mlen); |