summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKévin Le Gouguec <kevin.legouguec@airbus.com>2018-12-11 11:28:51 +0100
committerKévin Le Gouguec <kevin.legouguec@airbus.com>2018-12-11 11:29:47 +0100
commitff1a325d96799d009e3813b7f7ff488a47508ca6 (patch)
treebe2b19e65a16c41f0ab35d0f4d63f56163445547 /src
parent935351af35068d97611788b2092ef9acd337ca30 (diff)
downloadlilliput-ae-implem-ff1a325d96799d009e3813b7f7ff488a47508ca6.tar.xz
Renommage des vecteurs du key schedule
Plus facile pour suivre la spec.
Diffstat (limited to 'src')
-rw-r--r--src/tweakey.c80
1 files changed, 40 insertions, 40 deletions
diff --git a/src/tweakey.c b/src/tweakey.c
index d202dc4..6905372 100644
--- a/src/tweakey.c
+++ b/src/tweakey.c
@@ -43,16 +43,16 @@ void tweakey_state_extract(
}
-static void _multiply_M(const uint8_t old[LANE_BYTES], uint8_t new[LANE_BYTES])
+static void _multiply_M(const uint8_t X[LANE_BYTES], uint8_t Y[LANE_BYTES])
{
- new[7] = old[6];
- new[6] = old[5];
- new[5] = old[4] ^ old[5]<<3;
- new[4] = old[3] ^ old[4]>>3;
- new[3] = old[2];
- new[2] = old[1] ^ old[6]<<2;
- new[1] = old[0];
- new[0] = old[7];
+ Y[7] = X[6];
+ Y[6] = X[5];
+ Y[5] = X[4] ^ X[5]<<3;
+ Y[4] = X[3] ^ X[4]>>3;
+ Y[3] = X[2];
+ Y[2] = X[1] ^ X[6]<<2;
+ Y[1] = X[0];
+ Y[0] = X[7];
}
static const uint8_t M_1[256] = {
@@ -90,58 +90,58 @@ static const uint8_t M_1[256] = {
0xdf, 0xd7, 0xcf, 0xc7, 0xff, 0xf7, 0xef, 0xe7
};
-static void _multiply_M2(const uint8_t old[LANE_BYTES], uint8_t new[LANE_BYTES])
+static void _multiply_M2(const uint8_t X[LANE_BYTES], uint8_t Y[LANE_BYTES])
{
- new[7] = old[5];
- new[6] = old[4] ^ old[5]<<3;
- new[5] = old[3] ^ M_1[old[4]] ^ old[5]<<6;
- new[4] = old[2] ^ old[3]>>3 ^ old[4]>>6;
- new[3] = old[6]<<2 ^ old[1];
- new[2] = old[5]<<2 ^ old[0];
- new[1] = old[7];
- new[0] = old[6];
+ Y[7] = X[5];
+ Y[6] = X[4] ^ X[5]<<3;
+ Y[5] = X[3] ^ M_1[X[4]] ^ X[5]<<6;
+ Y[4] = X[2] ^ X[3]>>3 ^ X[4]>>6;
+ Y[3] = X[6]<<2 ^ X[1];
+ Y[2] = X[5]<<2 ^ X[0];
+ Y[1] = X[7];
+ Y[0] = X[6];
}
-static void _multiply_M3(const uint8_t old[LANE_BYTES], uint8_t new[LANE_BYTES])
+static void _multiply_M3(const uint8_t X[LANE_BYTES], uint8_t Y[LANE_BYTES])
{
uint8_t tmp[LANE_BYTES];
- memcpy(tmp, old, LANE_BYTES);
+ memcpy(tmp, X, LANE_BYTES);
- _multiply_M2(old, tmp);
- _multiply_M(tmp, new);
+ _multiply_M2(X, tmp);
+ _multiply_M(tmp, Y);
}
-static void _multiply_MR(const uint8_t old[LANE_BYTES], uint8_t new[LANE_BYTES])
+static void _multiply_MR(const uint8_t X[LANE_BYTES], uint8_t Y[LANE_BYTES])
{
- new[0] = old[1];
- new[1] = old[2];
- new[2] = old[3] ^ old[4]<<3;
- new[3] = old[4];
- new[4] = old[5] ^ old[6]>>3;
- new[5] = old[6] ^ old[3]>>2;
- new[6] = old[7];
- new[7] = old[0];
+ Y[0] = X[1];
+ Y[1] = X[2];
+ Y[2] = X[3] ^ X[4]<<3;
+ Y[3] = X[4];
+ Y[4] = X[5] ^ X[6]>>3;
+ Y[5] = X[6] ^ X[3]>>2;
+ Y[6] = X[7];
+ Y[7] = X[0];
}
-static void _multiply_MR2(const uint8_t old[LANE_BYTES], uint8_t new[LANE_BYTES])
+static void _multiply_MR2(const uint8_t X[LANE_BYTES], uint8_t Y[LANE_BYTES])
{
uint8_t tmp[LANE_BYTES];
- memcpy(tmp, old, LANE_BYTES);
+ memcpy(tmp, X, LANE_BYTES);
- _multiply_MR(old, tmp);
- _multiply_MR(tmp, new);
+ _multiply_MR(X, tmp);
+ _multiply_MR(tmp, Y);
}
-static void _multiply_MR3(const uint8_t old[LANE_BYTES], uint8_t new[LANE_BYTES])
+static void _multiply_MR3(const uint8_t X[LANE_BYTES], uint8_t Y[LANE_BYTES])
{
uint8_t tmp[LANE_BYTES];
- memcpy(tmp, old, LANE_BYTES);
+ memcpy(tmp, X, LANE_BYTES);
- _multiply_MR2(old, tmp);
- _multiply_MR(tmp, new);
+ _multiply_MR2(X, tmp);
+ _multiply_MR(tmp, Y);
}
-typedef void (*matrix_multiplication)(const uint8_t old[LANE_BYTES], uint8_t new[LANE_BYTES]);
+typedef void (*matrix_multiplication)(const uint8_t X[LANE_BYTES], uint8_t Y[LANE_BYTES]);
static const matrix_multiplication ALPHAS[6] = {
_multiply_M,