#pragma once #include #include /* debug */ #include #define TWEAK_LENGTH_BITS 192 #define KEY_LENGTH_BITS 128 #define ROUND_TWEAKEY_BITS 64 struct tweakey_state { FILE* debug; }; typedef struct tweakey_state tweakey_state; void tweakey_state_init( tweakey_state *TK, const uint8_t key[KEY_LENGTH_BITS/8], const uint8_t tweak[TWEAK_LENGTH_BITS/8], FILE* debug ); void tweakey_state_extract( const tweakey_state *TK, uint8_t round_tweakey[ROUND_TWEAKEY_BITS/8], /* output */ uint8_t i /* round constant */ ); void tweakey_state_update(tweakey_state *TK);