summaryrefslogtreecommitdiff
path: root/sha1-compress.c
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 /sha1-compress.c
parent8a56233b1ad911c1bdd1959cc2deb9c4f8afcbf1 (diff)
downloadnettle-5e2cbd5f0e9d42607543d0e612732346296bf586.tar.gz
Use ROTL32 in the sha1 code.
Diffstat (limited to 'sha1-compress.c')
-rw-r--r--sha1-compress.c14
1 files changed, 5 insertions, 9 deletions
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