#ifndef AE_COMMON_H #define AE_COMMON_H #include #include #include #include "cipher.h" #include "parameters.h" static inline uint8_t upper_nibble(uint8_t i) { return i >> 4; } static inline uint8_t lower_nibble(uint8_t i) { return i & 0x0f; } static inline void encrypt(const uint8_t K[KEY_BYTES], const uint8_t T[TWEAK_BYTES], const uint8_t M[BLOCK_BYTES], uint8_t C[BLOCK_BYTES]) { lilliput_tbc_encrypt(K, T, M, C); } static inline void decrypt(const uint8_t K[KEY_BYTES], const uint8_t T[TWEAK_BYTES], const uint8_t C[BLOCK_BYTES], uint8_t M[BLOCK_BYTES]) { lilliput_tbc_decrypt(K, T, C, M); } static inline void xor_into(uint8_t dest[BLOCK_BYTES], const uint8_t src[BLOCK_BYTES]) { for (size_t i=0; i 1) { memset(padded, 0, pad_len-1); } } #endif /* AE_COMMON_H */