summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crypto/morus1280.c7
-rw-r--r--crypto/morus640.c16
2 files changed, 6 insertions, 17 deletions
diff --git a/crypto/morus1280.c b/crypto/morus1280.c
index d057cf5ac4a8..3889c188f266 100644
--- a/crypto/morus1280.c
+++ b/crypto/morus1280.c
@@ -385,14 +385,11 @@ static void crypto_morus1280_final(struct morus1280_state *state,
385 struct morus1280_block *tag_xor, 385 struct morus1280_block *tag_xor,
386 u64 assoclen, u64 cryptlen) 386 u64 assoclen, u64 cryptlen)
387{ 387{
388 u64 assocbits = assoclen * 8;
389 u64 cryptbits = cryptlen * 8;
390
391 struct morus1280_block tmp; 388 struct morus1280_block tmp;
392 unsigned int i; 389 unsigned int i;
393 390
394 tmp.words[0] = cpu_to_le64(assocbits); 391 tmp.words[0] = assoclen * 8;
395 tmp.words[1] = cpu_to_le64(cryptbits); 392 tmp.words[1] = cryptlen * 8;
396 tmp.words[2] = 0; 393 tmp.words[2] = 0;
397 tmp.words[3] = 0; 394 tmp.words[3] = 0;
398 395
diff --git a/crypto/morus640.c b/crypto/morus640.c
index 1ca76e54281b..da06ec2f6a80 100644
--- a/crypto/morus640.c
+++ b/crypto/morus640.c
@@ -384,21 +384,13 @@ static void crypto_morus640_final(struct morus640_state *state,
384 struct morus640_block *tag_xor, 384 struct morus640_block *tag_xor,
385 u64 assoclen, u64 cryptlen) 385 u64 assoclen, u64 cryptlen)
386{ 386{
387 u64 assocbits = assoclen * 8;
388 u64 cryptbits = cryptlen * 8;
389
390 u32 assocbits_lo = (u32)assocbits;
391 u32 assocbits_hi = (u32)(assocbits >> 32);
392 u32 cryptbits_lo = (u32)cryptbits;
393 u32 cryptbits_hi = (u32)(cryptbits >> 32);
394
395 struct morus640_block tmp; 387 struct morus640_block tmp;
396 unsigned int i; 388 unsigned int i;
397 389
398 tmp.words[0] = cpu_to_le32(assocbits_lo); 390 tmp.words[0] = lower_32_bits(assoclen * 8);
399 tmp.words[1] = cpu_to_le32(assocbits_hi); 391 tmp.words[1] = upper_32_bits(assoclen * 8);
400 tmp.words[2] = cpu_to_le32(cryptbits_lo); 392 tmp.words[2] = lower_32_bits(cryptlen * 8);
401 tmp.words[3] = cpu_to_le32(cryptbits_hi); 393 tmp.words[3] = upper_32_bits(cryptlen * 8);
402 394
403 for (i = 0; i < MORUS_BLOCK_WORDS; i++) 395 for (i = 0; i < MORUS_BLOCK_WORDS; i++)
404 state->s[4].words[i] ^= state->s[0].words[i]; 396 state->s[4].words[i] ^= state->s[0].words[i];