lilliput-ae-reference-implementation

Implementations of Lilliput-AE submitted to the NIST LWC standardization process
git clone https://git.kevinlegouguec.net/lilliput-ae-reference-implementation
Log | Files | Refs | README

constants.h (1265B)


      1 /*
      2 Implementation of the Lilliput-AE tweakable block cipher.
      3 
      4 Authors, hereby denoted as "the implementer":
      5     Kévin Le Gouguec,
      6     2019.
      7 
      8 For more information, feedback or questions, refer to our website:
      9 https://paclido.fr/lilliput-ae
     10 
     11 To the extent possible under law, the implementer has waived all copyright
     12 and related or neighboring rights to the source code in this file.
     13 http://creativecommons.org/publicdomain/zero/1.0/
     14 
     15 ---
     16 
     17 This file provides bit and byte lengths for input and output parameters.
     18 */
     19 
     20 #ifndef CONSTANTS_H
     21 #define CONSTANTS_H
     22 
     23 #include "parameters.h"
     24 
     25 #define TWEAKEY_LENGTH_BITS       (TWEAK_LENGTH_BITS+KEY_LENGTH_BITS)
     26 #define LANE_BITS                 64
     27 #define ROUND_TWEAKEY_LENGTH_BITS 64
     28 #define BLOCK_LENGTH_BITS         128
     29 #define NONCE_LENGTH_BITS         120
     30 #define TAG_LENGTH_BITS           128
     31 
     32 #define TWEAK_BYTES         (TWEAK_LENGTH_BITS/8)
     33 #define KEY_BYTES           (KEY_LENGTH_BITS/8)
     34 #define TWEAKEY_BYTES       (TWEAKEY_LENGTH_BITS/8)
     35 #define LANE_BYTES          (LANE_BITS/8)
     36 #define ROUND_TWEAKEY_BYTES (ROUND_TWEAKEY_LENGTH_BITS/8)
     37 #define BLOCK_BYTES         (BLOCK_LENGTH_BITS/8)
     38 #define NONCE_BYTES         (NONCE_LENGTH_BITS/8)
     39 #define TAG_BYTES           (TAG_LENGTH_BITS/8)
     40 
     41 #endif /* CONSTANTS_H */