summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKévin Le Gouguec <kevin.legouguec@airbus.com>2019-02-12 10:29:31 +0100
committerKévin Le Gouguec <kevin.legouguec@airbus.com>2019-02-12 10:33:27 +0100
commitff3c6e7f52c8eae698d11a55b8153dd4c61fad87 (patch)
treefee0b19ae759ad01f08ffc2684cfdda56653d0f9 /src
parentd2df2fbd5e21d1d12dda02e6553d3129d16498a3 (diff)
downloadlilliput-ae-implem-ff3c6e7f52c8eae698d11a55b8153dd4c61fad87.tar.xz
Ajout d'une déclaration de (renonciation aux) droits d'auteur
Avec une phrase de documentation en prime pour chaque fichier. Cf. issue #2.
Diffstat (limited to 'src')
-rw-r--r--src/add_tweakeyloop/tweakey.c19
-rw-r--r--src/add_tweakeysequences/tweakey.c20
-rw-r--r--src/i-128/parameters.h17
-rw-r--r--src/i-192/parameters.h17
-rw-r--r--src/i-256/parameters.h17
-rw-r--r--src/ii-128/parameters.h17
-rw-r--r--src/ii-192/parameters.h17
-rw-r--r--src/ii-256/parameters.h17
-rw-r--r--src/ref/cipher.c17
-rw-r--r--src/ref/cipher.h17
-rw-r--r--src/ref/constants.h17
-rw-r--r--src/ref/lilliput-ae-i.c17
-rw-r--r--src/ref/lilliput-ae-ii.c17
-rw-r--r--src/ref/lilliput-ae-utils.h17
-rw-r--r--src/ref/lilliput-ae.h18
-rw-r--r--src/ref/tweakey.c19
-rw-r--r--src/ref/tweakey.h17
17 files changed, 297 insertions, 0 deletions
diff --git a/src/add_tweakeyloop/tweakey.c b/src/add_tweakeyloop/tweakey.c
index 6b1232e..57708d6 100644
--- a/src/add_tweakeyloop/tweakey.c
+++ b/src/add_tweakeyloop/tweakey.c
@@ -1,3 +1,22 @@
+/*
+Implementation of the Lilliput-AE tweakable block cipher.
+
+Author: Kévin Le Gouguec, 2019.
+
+For more information, feedback or questions, refer to our website:
+https://paclido.fr/lilliput-ae
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+
+---
+
+This file provides an implementation of Lilliput-TBC's tweakey schedule,
+where multiplications by matrices M and M_R to the power n is performed by
+applying functions for M and M_R n times.
+*/
+
#include <stdint.h>
#include <string.h>
diff --git a/src/add_tweakeysequences/tweakey.c b/src/add_tweakeysequences/tweakey.c
index 9f71622..3ff6bb5 100644
--- a/src/add_tweakeysequences/tweakey.c
+++ b/src/add_tweakeysequences/tweakey.c
@@ -1,3 +1,23 @@
+/*
+Implementation of the Lilliput-AE tweakable block cipher.
+
+Author: Kévin Le Gouguec, 2019.
+
+For more information, feedback or questions, refer to our website:
+https://paclido.fr/lilliput-ae
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+
+---
+
+This file provides an implementation of Lilliput-TBC's tweakey schedule,
+where multiplications by matrices M and M_R to the power n is performed by
+functions expressing the exponentiated matrices with shifts and XORs, with
+8×8 matrices M_1, M_2, M_3 and M_4 pre-computed as lookup tables.
+*/
+
#include <stdint.h>
#include <string.h>
diff --git a/src/i-128/parameters.h b/src/i-128/parameters.h
index c1165b1..b4c2f02 100644
--- a/src/i-128/parameters.h
+++ b/src/i-128/parameters.h
@@ -1,3 +1,20 @@
+/*
+Implementation of the Lilliput-AE tweakable block cipher.
+
+Author: Kévin Le Gouguec, 2019.
+
+For more information, feedback or questions, refer to our website:
+https://paclido.fr/lilliput-ae
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+
+---
+
+This file defines constants specific to Lilliput-I-128.
+*/
+
#ifndef PARAMETERS_H
#define PARAMETERS_H
diff --git a/src/i-192/parameters.h b/src/i-192/parameters.h
index 295c8b0..aa1ea31 100644
--- a/src/i-192/parameters.h
+++ b/src/i-192/parameters.h
@@ -1,3 +1,20 @@
+/*
+Implementation of the Lilliput-AE tweakable block cipher.
+
+Author: Kévin Le Gouguec, 2019.
+
+For more information, feedback or questions, refer to our website:
+https://paclido.fr/lilliput-ae
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+
+---
+
+This file defines constants specific to Lilliput-I-192.
+*/
+
#ifndef PARAMETERS_H
#define PARAMETERS_H
diff --git a/src/i-256/parameters.h b/src/i-256/parameters.h
index 782611b..5a9c029 100644
--- a/src/i-256/parameters.h
+++ b/src/i-256/parameters.h
@@ -1,3 +1,20 @@
+/*
+Implementation of the Lilliput-AE tweakable block cipher.
+
+Author: Kévin Le Gouguec, 2019.
+
+For more information, feedback or questions, refer to our website:
+https://paclido.fr/lilliput-ae
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+
+---
+
+This file defines constants specific to Lilliput-I-256.
+*/
+
#ifndef PARAMETERS_H
#define PARAMETERS_H
diff --git a/src/ii-128/parameters.h b/src/ii-128/parameters.h
index bf3936d..aa73123 100644
--- a/src/ii-128/parameters.h
+++ b/src/ii-128/parameters.h
@@ -1,3 +1,20 @@
+/*
+Implementation of the Lilliput-AE tweakable block cipher.
+
+Author: Kévin Le Gouguec, 2019.
+
+For more information, feedback or questions, refer to our website:
+https://paclido.fr/lilliput-ae
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+
+---
+
+This file defines constants specific to Lilliput-II-128.
+*/
+
#ifndef PARAMETERS_H
#define PARAMETERS_H
diff --git a/src/ii-192/parameters.h b/src/ii-192/parameters.h
index bfb541e..531d56d 100644
--- a/src/ii-192/parameters.h
+++ b/src/ii-192/parameters.h
@@ -1,3 +1,20 @@
+/*
+Implementation of the Lilliput-AE tweakable block cipher.
+
+Author: Kévin Le Gouguec, 2019.
+
+For more information, feedback or questions, refer to our website:
+https://paclido.fr/lilliput-ae
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+
+---
+
+This file defines constants specific to Lilliput-II-192.
+*/
+
#ifndef PARAMETERS_H
#define PARAMETERS_H
diff --git a/src/ii-256/parameters.h b/src/ii-256/parameters.h
index 1255859..77d2f99 100644
--- a/src/ii-256/parameters.h
+++ b/src/ii-256/parameters.h
@@ -1,3 +1,20 @@
+/*
+Implementation of the Lilliput-AE tweakable block cipher.
+
+Author: Kévin Le Gouguec, 2019.
+
+For more information, feedback or questions, refer to our website:
+https://paclido.fr/lilliput-ae
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+
+---
+
+This file defines constants specific to Lilliput-II-256.
+*/
+
#ifndef PARAMETERS_H
#define PARAMETERS_H
diff --git a/src/ref/cipher.c b/src/ref/cipher.c
index 48fc35c..48144d4 100644
--- a/src/ref/cipher.c
+++ b/src/ref/cipher.c
@@ -1,3 +1,20 @@
+/*
+Implementation of the Lilliput-AE tweakable block cipher.
+
+Author: Kévin Le Gouguec, 2019.
+
+For more information, feedback or questions, refer to our website:
+https://paclido.fr/lilliput-ae
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+
+---
+
+This file provides the implementation for Lilliput-TBC.
+*/
+
#include <stdint.h>
#include <string.h>
diff --git a/src/ref/cipher.h b/src/ref/cipher.h
index 0746189..8e4bd16 100644
--- a/src/ref/cipher.h
+++ b/src/ref/cipher.h
@@ -1,3 +1,20 @@
+/*
+Implementation of the Lilliput-AE tweakable block cipher.
+
+Author: Kévin Le Gouguec, 2019.
+
+For more information, feedback or questions, refer to our website:
+https://paclido.fr/lilliput-ae
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+
+---
+
+This file provides the interface for Lilliput-TBC.
+*/
+
#ifndef CIPHER_H
#define CIPHER_H
diff --git a/src/ref/constants.h b/src/ref/constants.h
index 063c8af..6f17b40 100644
--- a/src/ref/constants.h
+++ b/src/ref/constants.h
@@ -1,3 +1,20 @@
+/*
+Implementation of the Lilliput-AE tweakable block cipher.
+
+Author: Kévin Le Gouguec, 2019.
+
+For more information, feedback or questions, refer to our website:
+https://paclido.fr/lilliput-ae
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+
+---
+
+This file provides bit and byte lengths for input and output parameters.
+*/
+
#ifndef CONSTANTS_H
#define CONSTANTS_H
diff --git a/src/ref/lilliput-ae-i.c b/src/ref/lilliput-ae-i.c
index 7770c24..2754fbb 100644
--- a/src/ref/lilliput-ae-i.c
+++ b/src/ref/lilliput-ae-i.c
@@ -1,3 +1,20 @@
+/*
+Implementation of the Lilliput-AE tweakable block cipher.
+
+Author: Kévin Le Gouguec, 2019.
+
+For more information, feedback or questions, refer to our website:
+https://paclido.fr/lilliput-ae
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+
+---
+
+This file implements Lilliput-AE's nonce-respecting mode based on ΘCB3.
+*/
+
#include <stdbool.h>
#include <stdint.h>
#include <string.h>
diff --git a/src/ref/lilliput-ae-ii.c b/src/ref/lilliput-ae-ii.c
index 6da73ac..862892c 100644
--- a/src/ref/lilliput-ae-ii.c
+++ b/src/ref/lilliput-ae-ii.c
@@ -1,3 +1,20 @@
+/*
+Implementation of the Lilliput-AE tweakable block cipher.
+
+Author: Kévin Le Gouguec, 2019.
+
+For more information, feedback or questions, refer to our website:
+https://paclido.fr/lilliput-ae
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+
+---
+
+This file implements Lilliput-AE's nonce-misuse-resistant mode based on SCT-2.
+*/
+
#include <stdbool.h>
#include <stdint.h>
#include <string.h>
diff --git a/src/ref/lilliput-ae-utils.h b/src/ref/lilliput-ae-utils.h
index b9ef1dd..6b60adc 100644
--- a/src/ref/lilliput-ae-utils.h
+++ b/src/ref/lilliput-ae-utils.h
@@ -1,3 +1,20 @@
+/*
+Implementation of the Lilliput-AE tweakable block cipher.
+
+Author: Kévin Le Gouguec, 2019.
+
+For more information, feedback or questions, refer to our website:
+https://paclido.fr/lilliput-ae
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+
+---
+
+This file provides functions used by both authenticated encryption modes.
+*/
+
#ifndef LILLIPUT_AE_UTILS_H
#define LILLIPUT_AE_UTILS_H
diff --git a/src/ref/lilliput-ae.h b/src/ref/lilliput-ae.h
index 24bd7de..f2d7c82 100644
--- a/src/ref/lilliput-ae.h
+++ b/src/ref/lilliput-ae.h
@@ -1,3 +1,21 @@
+/*
+Implementation of the Lilliput-AE tweakable block cipher.
+
+Author: Kévin Le Gouguec, 2019.
+
+For more information, feedback or questions, refer to our website:
+https://paclido.fr/lilliput-ae
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+
+---
+
+This file provides the interface for both Lilliput-I and Lilliput-II,
+implemented by lilliput-ae-i.c and lilliput-ae-ii.c respectively.
+*/
+
#ifndef LILLIPUT_AE_H
#define LILLIPUT_AE_H
diff --git a/src/ref/tweakey.c b/src/ref/tweakey.c
index e5faf2a..39e5980 100644
--- a/src/ref/tweakey.c
+++ b/src/ref/tweakey.c
@@ -1,3 +1,22 @@
+/*
+Implementation of the Lilliput-AE tweakable block cipher.
+
+Author: Kévin Le Gouguec, 2019.
+
+For more information, feedback or questions, refer to our website:
+https://paclido.fr/lilliput-ae
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+
+---
+
+This file provides an implementation of Lilliput-TBC's tweakey schedule,
+where multiplications by matrices M and M_R to the power n is performed by
+functions expressing the exponentiated matrices with shifts and XORs.
+*/
+
#include <stdint.h>
#include <string.h>
diff --git a/src/ref/tweakey.h b/src/ref/tweakey.h
index d2612cd..e461b43 100644
--- a/src/ref/tweakey.h
+++ b/src/ref/tweakey.h
@@ -1,3 +1,20 @@
+/*
+Implementation of the Lilliput-AE tweakable block cipher.
+
+Author: Kévin Le Gouguec, 2019.
+
+For more information, feedback or questions, refer to our website:
+https://paclido.fr/lilliput-ae
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+
+---
+
+This file provides the interface for Lilliput-TBC's tweakey schedule.
+*/
+
#ifndef TWEAKEY_H
#define TWEAKEY_H