xts128.c: minor optimizaton.
This commit is contained in:
parent
c9adde0699
commit
c7d0d0ae09
@ -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;
|
tweak.u[1] = (tweak.u[1]<<1)|carry;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
unsigned int carry,c;
|
size_t c;
|
||||||
|
|
||||||
for (carry=0,i=0;i<16;++i) {
|
for (c=0,i=0;i<16;++i) {
|
||||||
c = tweak.c[i];
|
/*+ substitutes for |, because c is 1 bit */
|
||||||
tweak.c[i] = (c<<1)|carry;
|
c += ((size_t)tweak.c[i])<<1;
|
||||||
carry = c>>7;
|
tweak.c[i] = (u8)c;
|
||||||
|
c = c>>8;
|
||||||
}
|
}
|
||||||
tweak.c[0] ^= 0x87&(0-carry);
|
tweak.c[0] ^= (u8)(0x87&(0-c));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (enc) {
|
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;
|
tweak1.u[1] = (tweak.u[1]<<1)|carry;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
unsigned int carry,c;
|
size_t c;
|
||||||
|
|
||||||
for (carry=0,i=0;i<16;++i) {
|
for (c=0,i=0;i<16;++i) {
|
||||||
c = tweak.c[i];
|
/*+ substitutes for |, because c is 1 bit */
|
||||||
tweak1.c[i] = (c<<1)|carry;
|
c += ((size_t)tweak.c[i])<<1;
|
||||||
carry = c>>7;
|
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)
|
#if defined(STRICT_ALIGNMENT)
|
||||||
memcpy(scratch.c,inp,16);
|
memcpy(scratch.c,inp,16);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user