diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 54 |
1 files changed, 54 insertions, 0 deletions
@@ -30,3 +30,57 @@ Also contains some support files: - `debug.h`: helper functions to ease debugging and dump intermediate values +`crypto_aead` +------------- + +Contains parameter-dependent code. There is one subfolder per member +of the Lilliput-AE family, named according to NIST's requirements: + +> The second-level directory name is a lowercase version of the name +> of the algorithm, including the version number and a family member +> identifier (if multiple family members in submission). […] Dashes, +> dots, slashes, and other punctuation marks are omitted; the +> directory name consists solely of digits (0123456789) and lowercase +> ASCII letters (acbdefghijklmnopqrstuvwxyz). + + +The subfolders are thus named `lilliputae${mode}${keybits}v1`: + +- mode is either i (for ΘCB3) or ii (for SCT-2) +- keybits is either 128, 192 or 256. + +Each subfolders contains: + +- a `ref` directory, containing parameter-dependent code for the + reference implementation and tests for these specific parameters +- other directories with additional implementations, named `add_*` + +TODO: the tests for a given family member should be moved up alongside +`ref` and `add_*` folders since they should apply to all +implementations. Also, the "parameter-dependent" code has been reduced +to a header with three constants; maybe the whole `crypto_aead` folder +could be removed. + +`nist` +------ + +Contains code to + +- generate the directory structure required by NIST +- compile each member of the Lilliput-AE family against NIST's + `genkat_aead.c` +- generate test vectors +- package code and test vectors together into `results/crypto_aead` + +The code can be run with `make nist`. + +`traces` +-------- + +Contains patches to add print statements for inputs, outputs and +intermediate values. `make traces` will + +- apply the patches +- run the trace programs +- collect traces +- revert the patches |
