23 #ifndef LW_INTERNAL_GIFT128_H
24 #define LW_INTERNAL_GIFT128_H
53 #define GIFT128_BLK_SIZE 16
59 #if GIFT128_VARIANT == GIFT128_VARIANT_TINY
60 #define GIFT128_ROUND_KEYS 4
61 #elif GIFT128_VARIANT == GIFT128_VARIANT_SMALL
62 #define GIFT128_ROUND_KEYS 20
64 #define GIFT128_ROUND_KEYS 80
101 const uint32_t input[4]);
119 const uint32_t input[4]);
Structure of the key schedule for GIFT-128 (bit-sliced).
Definition: internal-gift128.h:70
#define GIFT128_ROUND_KEYS
Number of round keys for the GIFT-128 key schedule.
Definition: internal-gift128.h:64
void gift128b_init(gift128b_key_schedule_t *ks, const unsigned char *key)
Initializes the key schedule for GIFT-128 (bit-sliced).
Definition: internal-gift128.c:218
void gift128b_decrypt_preloaded(const gift128b_key_schedule_t *ks, uint32_t output[4], const uint32_t input[4])
Decrypts a 128-bit block with GIFT-128 (bit-sliced and pre-loaded).
Definition: internal-gift128.c:703
Configures the variant of GIFT-128 to use.
void gift128_nibbles_to_words(uint32_t block[4])
Converts the GIFT-128 nibble-based representation into word-based.
Definition: internal-gift128.c:952
void gift128_words_to_nibbles(uint32_t block[4])
Converts the GIFT-128 word-based representation into nibble-based.
Definition: internal-gift128.c:994
void gift128b_encrypt_preloaded(const gift128b_key_schedule_t *ks, uint32_t output[4], const uint32_t input[4])
Encrypts a 128-bit block with GIFT-128 (bit-sliced and pre-loaded).
Definition: internal-gift128.c:674