diff options
author | Niels Möller <nisse@lysator.liu.se> | 2012-03-31 21:34:44 +0200 |
---|---|---|
committer | Niels Möller <nisse@lysator.liu.se> | 2012-03-31 21:34:44 +0200 |
commit | a7bd5fa7554ec4b474c92a26339de2e87cac13e9 (patch) | |
tree | d44fee85bb6d93bfad1e90457660b08e9b40c726 /cast128.c | |
parent | 94de4dd997cd68e1df84131582d3c5f2a8632966 (diff) | |
download | nettle-a7bd5fa7554ec4b474c92a26339de2e87cac13e9.tar.gz |
Use ROTL32 in the cast128 code.
Diffstat (limited to 'cast128.c')
-rw-r--r-- | cast128.c | 30 |
1 files changed, 15 insertions, 15 deletions
@@ -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 *****/ |