23 #ifndef LW_INTERNAL_SKINNY_PLUS_H
24 #define LW_INTERNAL_SKINNY_PLUS_H
45 #define SKINNY_PLUS_BLOCK_SIZE 16
50 #define SKINNY_PLUS_ROUNDS 40
60 #if SKINNY_PLUS_VARIANT == SKINNY_PLUS_VARIANT_TINY
66 #elif SKINNY_PLUS_VARIANT == SKINNY_PLUS_VARIANT_FULL
94 const unsigned char *tk3);
108 const unsigned char *input);
122 const unsigned char *input);
140 (
const unsigned char key[48],
unsigned char *output,
141 const unsigned char *input);
159 (
const unsigned char key[48],
unsigned char *output,
160 const unsigned char *input);
void skinny_plus_decrypt(const skinny_plus_key_schedule_t *ks, unsigned char *output, const unsigned char *input)
Decrypts a 128-bit block with SKINNY-128-384+.
Definition: internal-skinny-plus.c:852
void skinny_plus_init_without_tk1(skinny_plus_key_schedule_t *ks, const unsigned char *tk2, const unsigned char *tk3)
Initializes the key schedule for SKINNY-128-384+ without TK1.
Definition: internal-skinny-plus.c:820
void skinny_plus_encrypt_tk_full(const unsigned char key[48], unsigned char *output, const unsigned char *input)
Encrypts a 128-bit block with SKINNY-128-384+ and a fully specified tweakey value.
Definition: internal-skinny-plus.c:876
void skinny_plus_init(skinny_plus_key_schedule_t *ks, const unsigned char key[48])
Initializes the key schedule for SKINNY-128-384+.
Definition: internal-skinny-plus.c:810
void skinny_plus_encrypt(const skinny_plus_key_schedule_t *ks, unsigned char *output, const unsigned char *input)
Encrypts a 128-bit block with SKINNY-128-384+.
Definition: internal-skinny-plus.c:828
void skinny_plus_decrypt_tk_full(const unsigned char key[48], unsigned char *output, const unsigned char *input)
Decrypts a 128-bit block with SKINNY-128-384+ and a fully specified tweakey value.
Definition: internal-skinny-plus.c:901
Structure of the key schedule for SKINNY-128-384+.
Definition: internal-skinny-plus.h:55
#define SKINNY_PLUS_ROUNDS
Number of rounds for SKINNY-128-384+.
Definition: internal-skinny-plus.h:50
Configures the variant of SKINNY-128-384+ to use.