summaryrefslogtreecommitdiff
path: root/cast128.c
diff options
context:
space:
mode:
authorNiels Möller <nisse@lysator.liu.se>2012-03-31 21:34:44 +0200
committerNiels Möller <nisse@lysator.liu.se>2012-03-31 21:34:44 +0200
commita7bd5fa7554ec4b474c92a26339de2e87cac13e9 (patch)
treed44fee85bb6d93bfad1e90457660b08e9b40c726 /cast128.c
parent94de4dd997cd68e1df84131582d3c5f2a8632966 (diff)
downloadnettle-a7bd5fa7554ec4b474c92a26339de2e87cac13e9.tar.gz
Use ROTL32 in the cast128 code.
Diffstat (limited to 'cast128.c')
-rw-r--r--cast128.c30
1 files changed, 15 insertions, 15 deletions
diff --git a/cast128.c b/cast128.c
index 81c00b24..4345b74d 100644
--- a/cast128.c
+++ b/cast128.c
@@ -50,22 +50,22 @@
#define U8c(x) ( (uint8_t) ((x>>8)&0xff) )
#define U8d(x) ( (uint8_t) ((x)&0xff) )
-/* Circular left shift */
-#define ROL(x, n) ( ((x)<<(n)) | ((x)>>(32-(n))) )
-
/* CAST-128 uses three different round functions */
-#define F1(l, r, i) \
- t = ROL(ctx->keys[i] + r, ctx->keys[i+16]); \
- l ^= ((cast_sbox1[U8a(t)] ^ cast_sbox2[U8b(t)]) \
- - cast_sbox3[U8c(t)]) + cast_sbox4[U8d(t)];
-#define F2(l, r, i) \
- t = ROL(ctx->keys[i] ^ r, ctx->keys[i+16]); \
- l ^= ((cast_sbox1[U8a(t)] - cast_sbox2[U8b(t)]) \
- + cast_sbox3[U8c(t)]) ^ cast_sbox4[U8d(t)];
-#define F3(l, r, i) \
- t = ROL(ctx->keys[i] - r, ctx->keys[i+16]); \
- l ^= ((cast_sbox1[U8a(t)] + cast_sbox2[U8b(t)]) \
- ^ cast_sbox3[U8c(t)]) - cast_sbox4[U8d(t)];
+#define F1(l, r, i) do { \
+ t = ROTL32(ctx->keys[i+16], ctx->keys[i] + r); \
+ l ^= ((cast_sbox1[U8a(t)] ^ cast_sbox2[U8b(t)]) \
+ - cast_sbox3[U8c(t)]) + cast_sbox4[U8d(t)]; \
+ } while (0)
+#define F2(l, r, i) do { \
+ t = ROTL32( ctx->keys[i+16], ctx->keys[i] ^ r); \
+ l ^= ((cast_sbox1[U8a(t)] - cast_sbox2[U8b(t)]) \
+ + cast_sbox3[U8c(t)]) ^ cast_sbox4[U8d(t)]; \
+ } while (0)
+#define F3(l, r, i) do { \
+ t = ROTL32(ctx->keys[i+16], ctx->keys[i] - r); \
+ l ^= ((cast_sbox1[U8a(t)] + cast_sbox2[U8b(t)]) \
+ ^ cast_sbox3[U8c(t)]) - cast_sbox4[U8d(t)]; \
+ } while (0)
/***** Encryption Function *****/