summaryrefslogtreecommitdiff
path: root/src/add_tweakeyunrolled
diff options
context:
space:
mode:
authorKévin Le Gouguec <kevin.legouguec@airbus.com>2019-02-20 14:51:56 +0100
committerKévin Le Gouguec <kevin.legouguec@airbus.com>2019-02-20 17:21:58 +0100
commit96ea916b2600a07f12818a1c4438eed1be7a5356 (patch)
tree3666560df91f5faf2a566c756e5e1dd27ce291ec /src/add_tweakeyunrolled
parent5689a35ba9a6821601ec71792a19bc6034be2dad (diff)
downloadlilliput-ae-implem-96ea916b2600a07f12818a1c4438eed1be7a5356.tar.xz
Adaptation du code de α₂
Diffstat (limited to 'src/add_tweakeyunrolled')
-rw-r--r--src/add_tweakeyunrolled/tweakey.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/add_tweakeyunrolled/tweakey.c b/src/add_tweakeyunrolled/tweakey.c
index 348de51..a5b88a8 100644
--- a/src/add_tweakeyunrolled/tweakey.c
+++ b/src/add_tweakeyunrolled/tweakey.c
@@ -96,12 +96,15 @@ static void _multiply_M(const uint8_t x[LANE_BYTES], uint8_t y[LANE_BYTES])
static void _multiply_M2(const uint8_t x[LANE_BYTES], uint8_t y[LANE_BYTES])
{
+ uint8_t x_M_5 = x[5]<<3 ^ x[4];
+ uint8_t x_M_4 = x[4]>>3 ^ x[3];
+
y[7] = x[5];
- y[6] = x[5]<<3 ^ x[4];
- y[5] = x[5]<<6 ^ _M1(x[4]) ^ x[3];
- y[4] = x[4]>>6 ^ x[3]>>3 ^ x[2];
- y[3] = x[6]<<2 ^ x[1];
- y[2] = x[5]<<2 ^ x[0];
+ y[6] = x_M_5;
+ y[5] = x_M_5<<3 ^ x_M_4;
+ y[4] = x_M_4>>3 ^ x[2];
+ y[3] = x[6]<<2 ^ x[1];
+ y[2] = x[5]<<2 ^ x[0];
y[1] = x[7];
y[0] = x[6];
}