diff options
| author | Kévin Le Gouguec <kevin.legouguec@airbus.com> | 2019-02-20 15:25:23 +0100 |
|---|---|---|
| committer | Kévin Le Gouguec <kevin.legouguec@airbus.com> | 2019-02-20 17:22:19 +0100 |
| commit | cc2e0ab73ec7d971f8cdb36fc91895b79823ad9a (patch) | |
| tree | 6fe42bf79e5a9be75adb8764f3a4eb5886623267 /src/add_tweakeyunrolled | |
| parent | 96ea916b2600a07f12818a1c4438eed1be7a5356 (diff) | |
| download | lilliput-ae-implem-cc2e0ab73ec7d971f8cdb36fc91895b79823ad9a.tar.xz | |
Adaptation du code de α₃
Diffstat (limited to 'src/add_tweakeyunrolled')
| -rw-r--r-- | src/add_tweakeyunrolled/tweakey.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/add_tweakeyunrolled/tweakey.c b/src/add_tweakeyunrolled/tweakey.c index a5b88a8..7f80a2a 100644 --- a/src/add_tweakeyunrolled/tweakey.c +++ b/src/add_tweakeyunrolled/tweakey.c @@ -67,11 +67,6 @@ static uint8_t _M1(uint8_t x) return x<<3 ^ x>>3; } -static uint8_t _M2(uint8_t x) -{ - return x<<6 ^ (x>>3)<<3 ^ x>>6; -} - static uint8_t _M3(uint8_t x) { return (uint8_t)(x<<3) >> 3; @@ -111,12 +106,17 @@ static void _multiply_M2(const uint8_t x[LANE_BYTES], uint8_t y[LANE_BYTES]) static void _multiply_M3(const uint8_t x[LANE_BYTES], uint8_t y[LANE_BYTES]) { - y[7] = x[5]<<3 ^ x[4]; - y[6] = x[5]<<6 ^ _M1(x[4]) ^ x[3]; - y[5] = _M2(x[4]) ^ _M1(x[3]) ^ x[2]; - y[4] = x[6]<<2 ^ x[3]>>6 ^ x[2]>>3 ^ x[1]; + uint8_t x_M_5 = x[5]<<3 ^ x[4]; + uint8_t x_M_4 = x[4]>>3 ^ x[3]; + uint8_t x_M2_5 = x_M_5<<3 ^ x_M_4; + uint8_t x_M2_4 = x_M_4>>3 ^ x[2]; + + y[7] = x_M_5; + y[6] = x_M2_5; + y[5] = x_M2_5<<3 ^ x_M2_4; + y[4] = x_M2_4>>3 ^ x[6]<<2 ^ x[1]; y[3] = x[5]<<2 ^ x[0]; - y[2] = x[7] ^ x[5]<<5 ^ x[4]<<2; + y[2] = x_M_5<<2 ^ x[7]; y[1] = x[6]; y[0] = x[5]; } |
