From 67cd46aad27bdfee385048d1e256e8a5a03ad22d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se> Date: Sat, 31 Mar 2012 21:26:07 +0200 Subject: [PATCH] Use ROTL32 in the aes code. --- ChangeLog | 3 +++ aes-internal.h | 2 -- aes-set-encrypt-key.c | 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 483f337f..e6fc6bdd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,9 @@ * macros.h (ROTL32): New macro, to replace (almost) all other rotation macros. + * aes-set-encrypt-key.c: Include macros.h. + (aes_set_encrypt_key): Use ROTL32. + * aes-internal.h (ROTBYTE, ROTRBYTE): Deleted macros. 2012-03-30 Niels Möller <nisse@lysator.liu.se> diff --git a/aes-internal.h b/aes-internal.h index ae988e40..3bedff78 100644 --- a/aes-internal.h +++ b/aes-internal.h @@ -63,8 +63,6 @@ _aes_decrypt(const struct aes_ctx *ctx, const uint8_t *src); /* Macros */ -#define ROTBYTE(x) (((x) >> 8) | (((x) & 0xff) << 24)) -#define ROTRBYTE(x) (((x) << 8) | (((x) >> 24) & 0xff)) #define SUBBYTE(x, box) (((box)[((x) & 0xff)]) | \ ((box)[(((x) >> 8) & 0xff)] << 8) | \ ((box)[(((x) >> 16) & 0xff)] << 16) | \ diff --git a/aes-set-encrypt-key.c b/aes-set-encrypt-key.c index 71f9f9f8..dfd102f7 100644 --- a/aes-set-encrypt-key.c +++ b/aes-set-encrypt-key.c @@ -32,6 +32,7 @@ #include <assert.h> #include "aes-internal.h" +#include "macros.h" static unsigned xtime(unsigned x) @@ -83,7 +84,7 @@ aes_set_encrypt_key(struct aes_ctx *ctx, temp = ctx->keys[i-1]; if (i % nk == 0) { - temp = SUBBYTE(ROTBYTE(temp), aes_sbox) ^ rcon; + temp = SUBBYTE(ROTL32(24, temp), aes_sbox) ^ rcon; rcon = (uint32_t)xtime((uint8_t)rcon&0xff); } else if (nk > 6 && (i%nk) == 4) -- GitLab