Skip to content
Snippets Groups Projects
Commit 67cd46aa authored by Niels Möller's avatar Niels Möller
Browse files

Use ROTL32 in the aes code.

parent f13fd113
No related branches found
No related tags found
No related merge requests found
...@@ -2,6 +2,9 @@ ...@@ -2,6 +2,9 @@
* macros.h (ROTL32): New macro, to replace (almost) all other * macros.h (ROTL32): New macro, to replace (almost) all other
rotation macros. 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> 2012-03-30 Niels Möller <nisse@lysator.liu.se>
......
...@@ -63,8 +63,6 @@ _aes_decrypt(const struct aes_ctx *ctx, ...@@ -63,8 +63,6 @@ _aes_decrypt(const struct aes_ctx *ctx,
const uint8_t *src); const uint8_t *src);
/* Macros */ /* Macros */
#define ROTBYTE(x) (((x) >> 8) | (((x) & 0xff) << 24))
#define ROTRBYTE(x) (((x) << 8) | (((x) >> 24) & 0xff))
#define SUBBYTE(x, box) (((box)[((x) & 0xff)]) | \ #define SUBBYTE(x, box) (((box)[((x) & 0xff)]) | \
((box)[(((x) >> 8) & 0xff)] << 8) | \ ((box)[(((x) >> 8) & 0xff)] << 8) | \
((box)[(((x) >> 16) & 0xff)] << 16) | \ ((box)[(((x) >> 16) & 0xff)] << 16) | \
......
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
#include <assert.h> #include <assert.h>
#include "aes-internal.h" #include "aes-internal.h"
#include "macros.h"
static unsigned static unsigned
xtime(unsigned x) xtime(unsigned x)
...@@ -83,7 +84,7 @@ aes_set_encrypt_key(struct aes_ctx *ctx, ...@@ -83,7 +84,7 @@ aes_set_encrypt_key(struct aes_ctx *ctx,
temp = ctx->keys[i-1]; temp = ctx->keys[i-1];
if (i % nk == 0) 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); rcon = (uint32_t)xtime((uint8_t)rcon&0xff);
} }
else if (nk > 6 && (i%nk) == 4) else if (nk > 6 && (i%nk) == 4)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment