summaryrefslogtreecommitdiff
path: root/README.md
blob: 4623c02592e99f3a6bbfb9386047780a4da3717d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Reference implementation
========================

This folder contains the reference implementation for Lilliput-AE.

It is organized as follows:

`src`
-----

Contains parameter-independent code for the reference implementation:

- `lilliput-ae.h`: main API
- `lilliput-ae-i.c`: implementation of Lilliput-Ⅰ (ΘCB3-based)
- `lilliput-ae-i.c`: implementation of Lilliput-Ⅱ (SCT-2-based)
- `ae-common.h`: internal helper functions used by both AE schemes
- `tweakey.*`: implementation of Lilliput-TBC's tweakey schedule
- `cipher.*`: implementation of the tweakable block-cipher
  Lilliput-TBC
- `constants.*`: tabulated data for
    - the tweakey schedule's permutation h
    - the tweakey schedule's multiplication sequences P~0~ to P~5~
    - Lilliput-TBC's S-box
- `parameters.h`: byte sizes for inputs and outputs (depends on
  parameter-dependent `_parameters.h` files)

Also contains some support files:

- `common.mk`: Makefile recipes to compile and test the implementation
- `debug.h`: helper functions to ease debugging and dump intermediate
  values