summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiels Möller <nisse@lysator.liu.se>2012-03-31 21:45:23 +0200
committerNiels Möller <nisse@lysator.liu.se>2012-03-31 21:45:23 +0200
commit5e2cbd5f0e9d42607543d0e612732346296bf586 (patch)
treee972ca8e09fb9a13dfe693480e4c51e942d481c2
parent8a56233b1ad911c1bdd1959cc2deb9c4f8afcbf1 (diff)
downloadnettle-5e2cbd5f0e9d42607543d0e612732346296bf586.tar.gz
Use ROTL32 in the sha1 code.
-rw-r--r--ChangeLog2
-rw-r--r--sha1-compress.c14
2 files changed, 7 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 497383a4..e44d8b41 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -28,6 +28,8 @@
* serpent-encrypt.c: Likewise.
* serpent-set-key.c: Likewise.
+ * sha1-compress.c (ROTL): Deleted macro, use ROTL32 instead.
+
2012-03-30 Niels Möller <nisse@lysator.liu.se>
* nettle-internal.c (nettle_salsa20): Cipher struct for
diff --git a/sha1-compress.c b/sha1-compress.c
index 99bf4afd..b9a8eb28 100644
--- a/sha1-compress.c
+++ b/sha1-compress.c
@@ -86,10 +86,6 @@
#define K3 0x8F1BBCDCL /* Rounds 40-59 */
#define K4 0xCA62C1D6L /* Rounds 60-79 */
-/* 32-bit rotate left - kludged with shifts */
-
-#define ROTL(n,X) ( ( (X) << (n) ) | ( (X) >> ( 32 - (n) ) ) )
-
/* The initial expanding function. The hash function is defined over an
80-word expanded input array W, where the first 16 are copies of the input
data, and the remaining 64 are defined by
@@ -105,15 +101,15 @@
for this information */
#define expand(W,i) ( W[ i & 15 ] = \
- ROTL( 1, ( W[ i & 15 ] ^ W[ (i - 14) & 15 ] ^ \
- W[ (i - 8) & 15 ] ^ W[ (i - 3) & 15 ] ) ) )
+ ROTL32( 1, ( W[ i & 15 ] ^ W[ (i - 14) & 15 ] ^ \
+ W[ (i - 8) & 15 ] ^ W[ (i - 3) & 15 ] ) ) )
/* The prototype SHA sub-round. The fundamental sub-round is:
- a' = e + ROTL( 5, a ) + f( b, c, d ) + k + data;
+ a' = e + ROTL32( 5, a ) + f( b, c, d ) + k + data;
b' = a;
- c' = ROTL( 30, b );
+ c' = ROTL32( 30, b );
d' = c;
e' = d;
@@ -123,7 +119,7 @@
the next 20 values from the W[] array each time */
#define subRound(a, b, c, d, e, f, k, data) \
- ( e += ROTL( 5, a ) + f( b, c, d ) + k + data, b = ROTL( 30, b ) )
+ ( e += ROTL32( 5, a ) + f( b, c, d ) + k + data, b = ROTL32( 30, b ) )
/* Perform the SHA transformation. Note that this code, like MD5, seems to
break some optimizing compilers due to the complexity of the expressions