diff options
Diffstat (limited to 'crypto_aead/lilliputaei128v1/ref/tweakey.c')
| -rw-r--r-- | crypto_aead/lilliputaei128v1/ref/tweakey.c | 38 |
1 files changed, 33 insertions, 5 deletions
diff --git a/crypto_aead/lilliputaei128v1/ref/tweakey.c b/crypto_aead/lilliputaei128v1/ref/tweakey.c index 340a85b..7cc92c3 100644 --- a/crypto_aead/lilliputaei128v1/ref/tweakey.c +++ b/crypto_aead/lilliputaei128v1/ref/tweakey.c @@ -1,21 +1,49 @@ +#include <string.h> + #include "tweakey.h" +static void _dump_buffer(FILE* output, size_t len, const uint8_t buf[len], int indent) +{ + for (size_t line=0; line<len/8; line++) + { + fprintf(output, "%*s", indent, ""); + for (size_t b=0; b<8; b++) + { + /* start with MSB */ + size_t byte_index = len-(1+line*8+b); + fprintf(output, "%*s", 5, ""); + fprintf(output, "%02x", buf[byte_index]); + } + fprintf(output, "\n"); + } + fprintf(output, "\n"); +} + + void tweakey_state_init( tweakey_state *TK, - const uint8_t key[KEY_LENGTH_BITS/8], - const uint8_t tweak[TWEAK_LENGTH_BITS/8], + const uint8_t key[KEY_BYTES], + const uint8_t tweak[TWEAK_BYTES], FILE* debug ) { - + memcpy(TK->TK, tweak, TWEAK_BYTES); + memcpy(TK->TK+TWEAK_BYTES, key, KEY_BYTES); + + fprintf(debug, " Tweak is :\n"); + _dump_buffer(debug, TWEAK_BYTES, tweak, 5); + fprintf(debug, " Key is :\n"); + _dump_buffer(debug, KEY_BYTES, key, 5); + fprintf(debug, " Tweakey is :\n"); + _dump_buffer(debug, sizeof(TK->TK), TK->TK, 5); } void tweakey_state_extract( const tweakey_state *TK, - uint8_t round_tweakey[ROUND_TWEAKEY_BITS/8], /* output */ - uint8_t i /* round constant */ + uint8_t round_tweakey[ROUND_TWEAKEY_BYTES], /* output */ + uint8_t i /* round constant */ ) { |
