From c7d0d0ae09fac5c2656ef5a2e635db12025921c6 Mon Sep 17 00:00:00 2001 From: Andy Polyakov Date: Wed, 4 May 2011 20:57:43 +0000 Subject: [PATCH] xts128.c: minor optimizaton. --- crypto/modes/xts128.c | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/crypto/modes/xts128.c b/crypto/modes/xts128.c index e7f1641070..9cf27a25e9 100644 --- a/crypto/modes/xts128.c +++ b/crypto/modes/xts128.c @@ -107,14 +107,15 @@ int CRYPTO_xts128_encrypt(const XTS128_CONTEXT *ctx, const unsigned char iv[16], tweak.u[1] = (tweak.u[1]<<1)|carry; } else { - unsigned int carry,c; + size_t c; - for (carry=0,i=0;i<16;++i) { - c = tweak.c[i]; - tweak.c[i] = (c<<1)|carry; - carry = c>>7; + for (c=0,i=0;i<16;++i) { + /*+ substitutes for |, because c is 1 bit */ + c += ((size_t)tweak.c[i])<<1; + tweak.c[i] = (u8)c; + c = c>>8; } - tweak.c[0] ^= 0x87&(0-carry); + tweak.c[0] ^= (u8)(0x87&(0-c)); } } if (enc) { @@ -142,14 +143,15 @@ int CRYPTO_xts128_encrypt(const XTS128_CONTEXT *ctx, const unsigned char iv[16], tweak1.u[1] = (tweak.u[1]<<1)|carry; } else { - unsigned int carry,c; + size_t c; - for (carry=0,i=0;i<16;++i) { - c = tweak.c[i]; - tweak1.c[i] = (c<<1)|carry; - carry = c>>7; + for (c=0,i=0;i<16;++i) { + /*+ substitutes for |, because c is 1 bit */ + c += ((size_t)tweak.c[i])<<1; + tweak1.c[i] = (u8)c; + c = c>>8; } - tweak1.c[0] ^= 0x87&(0-carry); + tweak1.c[0] ^= (u8)(0x87&(0-c)); } #if defined(STRICT_ALIGNMENT) memcpy(scratch.c,inp,16); -- 2.25.1