summaryrefslogtreecommitdiff
path: root/src/add_tweakeyloop/multiplications.h
diff options
context:
space:
mode:
authorKévin Le Gouguec <kevin.legouguec@airbus.com>2019-07-01 17:20:21 +0200
committerKévin Le Gouguec <kevin.legouguec@airbus.com>2019-07-04 13:43:12 +0200
commit1ee4f19815d95de8c47e13f7c25884126ace8f55 (patch)
treee2b0e388b56f715215e43c738977412b54824c2f /src/add_tweakeyloop/multiplications.h
parent60140a6489ba780477fd92b21670e5d8e4d2e2bf (diff)
downloadlilliput-ae-implem-1ee4f19815d95de8c47e13f7c25884126ace8f55.tar.xz
Mise à jour de l'implémentation tweakeyloop
Diffstat (limited to 'src/add_tweakeyloop/multiplications.h')
-rw-r--r--src/add_tweakeyloop/multiplications.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/add_tweakeyloop/multiplications.h b/src/add_tweakeyloop/multiplications.h
index 45b9eaa..650373b 100644
--- a/src/add_tweakeyloop/multiplications.h
+++ b/src/add_tweakeyloop/multiplications.h
@@ -55,6 +55,17 @@ static void _multiply_M3(const uint8_t x[LANE_BYTES], uint8_t y[LANE_BYTES])
_multiply_M(M2_x, y);
}
+static void _multiply_M4(const uint8_t x[LANE_BYTES], uint8_t y[LANE_BYTES])
+{
+ uint8_t M_x[LANE_BYTES];
+ uint8_t M2_x[LANE_BYTES];
+ uint8_t M3_x[LANE_BYTES];
+ _multiply_M(x, M_x);
+ _multiply_M(M_x, M2_x);
+ _multiply_M(M2_x, M3_x);
+ _multiply_M(M3_x, y);
+}
+
static void _multiply_MR(const uint8_t x[LANE_BYTES], uint8_t y[LANE_BYTES])
{
y[0] = x[1];