diff options
| author | Kévin Le Gouguec <kevin.legouguec@airbus.com> | 2018-11-26 16:56:57 +0100 |
|---|---|---|
| committer | Kévin Le Gouguec <kevin.legouguec@airbus.com> | 2018-11-26 16:56:57 +0100 |
| commit | 77b6bd8e98f1917d01b4addd3166e3bfc938f141 (patch) | |
| tree | 8c99fc19403d792ab7d5eff5458629af6ed424ad /crypto_aead/lilliputaei128v1/ref | |
| parent | 96a7d3976141519ac9f0c6eacbd0d34204426bc1 (diff) | |
| download | lilliput-ae-implem-77b6bd8e98f1917d01b4addd3166e3bfc938f141.tar.xz | |
Correction de pad10*
Tests toujours en vrac, vu que Léo rembourre des bits et moi des
octets.
Diffstat (limited to 'crypto_aead/lilliputaei128v1/ref')
| -rw-r--r-- | crypto_aead/lilliputaei128v1/ref/lilliput-ae-i.c | 16 |
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); } } |
