summaryrefslogtreecommitdiff
path: root/CHANGELOG.txt
diff options
context:
space:
mode:
authorKévin Le Gouguec <kevin.legouguec@airbus.com>2019-07-04 17:13:57 +0200
committerKévin Le Gouguec <kevin.legouguec@airbus.com>2019-07-04 17:13:57 +0200
commit3d1334d6a9eb091b457f068033071f97d8758941 (patch)
treece7a28187e7c407f6fa56bf4ff4ed29245f8b484 /CHANGELOG.txt
parent6589f3ef20f8f93168be49135764764cd0c02a23 (diff)
parentc670bbe78ea9bc18c9772ba5804f610937560d5f (diff)
downloadlilliput-ae-implem-3d1334d6a9eb091b457f068033071f97d8758941.tar.xz
Merge branch 'fix-tweakey-m4'
Diffstat (limited to 'CHANGELOG.txt')
-rw-r--r--CHANGELOG.txt71
1 files changed, 71 insertions, 0 deletions
diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index d836ba6..cc38a27 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -1,8 +1,79 @@
v1.1
====
+ref
+---
+
+### Fixes
+
+These modifications change the algorithm's output.
+
+- Change alpha coefficients in tweakey schedule to ensure lane 0 is updated between each round:
+ - lane 0: Id => M
+ - lane 1: M => M^2
+ - lane 2: M^2 => M^3
+ - lane 3: M^3 => M^4
+ - lane 4: M_R (unchanged)
+ - lane 5: M_R^2 (unchanged)
+ - lane 6: M_R^3 (unchanged)
+ (multiplications.h, tweakey.c)
+
+### Cleanups
+
+These modifications are structural and/or stylistic and do not change the algorithm's ouptut.
+
+- Introduce helper function copy_block_index() to make tweak-building functions more legible.
+ (lilliput-ae-utils.h, lilliput-i.c, lilliput-ii.c)
+
+- Initialize ΘCB3 tweak with nonce instead of copying the latter into the latter repeatedly.
+ (lilliput-i.c)
+
+- Re-write _nonlinear_layer() and _linear_layer() functions to better resemble the specification.
+ (cipher.c)
+
+- Extract tweakey multiplications into their own header file, so that other implementations can make more targeted changes.
+ (constants.h, multiplications.h, tweakey.c)
+
+add_threshold
+-------------
+
+### Fixes
+
+See reference implementation.
+
+### Cleanups
+
+See reference implementation. Further cleanups:
+
+- Use size_t to iterate on arrays in lilliput_tbc_encrypt() and lilliput_tbc_decrypt().
+ (cipher.c)
+
+- Add constant macros KEY_LANES_NB and TWEAK_LANES_NB to make tweakey schedule code more legible.
+ (tweakey.c)
+
+add_tweakeyloop
+---------------
+
+See reference implementation.
+
+add_python
+----------
+
+### Fixes
+
+See reference implementation.
+
+### Cleanups
+
+- Re-write tweakey multiplications to better resemble the specification.
+ (multiplications.py)
+
+add_vhdl
+--------
+
TODO
+
v1.0
====