summaryrefslogtreecommitdiff
path: root/crypto_aead/lilliputaei128v1/ref/lilliput-ae-i.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto_aead/lilliputaei128v1/ref/lilliput-ae-i.c')
-rw-r--r--crypto_aead/lilliputaei128v1/ref/lilliput-ae-i.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/crypto_aead/lilliputaei128v1/ref/lilliput-ae-i.c b/crypto_aead/lilliputaei128v1/ref/lilliput-ae-i.c
index 4c9ac31..df92721 100644
--- a/crypto_aead/lilliputaei128v1/ref/lilliput-ae-i.c
+++ b/crypto_aead/lilliputaei128v1/ref/lilliput-ae-i.c
@@ -50,15 +50,21 @@ static void _xor_arrays(size_t len, uint8_t out[len], const uint8_t a[len], cons
out[i] = a[i] ^ b[i];
}
-static void _pad10(size_t len, const uint8_t buf[len], uint8_t padded[BLOCK_BYTES])
+static void _pad10(size_t X_len, const uint8_t X[X_len], uint8_t padded[BLOCK_BYTES])
{
+ /* pad10*(X) = X || 1 || 0^{n-|X|-1} */
+
/* Assume that len<BLOCK_BYTES. */
- memcpy(padded, buf, len);
- padded[len] = 0x80;
- if (len+1 < BLOCK_BYTES)
+ size_t pad_len = BLOCK_BYTES-X_len;
+
+ memcpy(padded+pad_len, X, X_len);
+
+ padded[pad_len-1] = 0x80;
+
+ if (pad_len > 1)
{
- memset(padded+len+1, 0, BLOCK_BYTES-len-1);
+ memset(padded, 0, pad_len-1);
}
}