23 #ifndef SKINNY64_CIPHER_h
24 #define SKINNY64_CIPHER_h
47 #define SKINNY64_BLOCK_SIZE 8
52 #define SKINNY64_MAX_ROUNDS 40
285 (
Skinny64CTR_t *ctr,
const void *tweak,
unsigned tweak_size);
327 (
void *output,
const void *input,
size_t size,
Skinny64CTR_t *ctr);
void skinny64_ctr_cleanup(Skinny64CTR_t *ctr)
Cleans up a CTR control block for Skinny-64.
int skinny64_set_tweak(Skinny64TweakedKey_t *ks, const void *tweak, unsigned tweak_size)
Changes the tweak value for a previously-initialized key schedule.
int skinny64_ctr_set_key(Skinny64CTR_t *ctr, const void *key, unsigned size)
Sets the key schedule for a Skinny64 block cipher in CTR mode.
int skinny64_set_key(Skinny64Key_t *ks, const void *key, unsigned size)
Sets the key schedule for a Skinny64 block cipher.
int skinny64_ctr_init(Skinny64CTR_t *ctr)
Initializes Skinny-64 in CTR mode.
int skinny64_ctr_encrypt(void *output, const void *input, size_t size, Skinny64CTR_t *ctr)
Encrypt a block of data using Skinny-64 in CTR mode.
int skinny64_set_tweaked_key(Skinny64TweakedKey_t *ks, const void *key, unsigned key_size)
Sets the key schedule for a Skinny64 block cipher, and prepare for tweaked encryption.
Key schedule for Skinny64 block ciphers when a tweak is in use.
void skinny64_ecb_decrypt(void *output, const void *input, const Skinny64Key_t *ks)
Decrypts a single block using the Skinny64 block cipher in ECB mode.
#define SKINNY64_MAX_ROUNDS
Maximum number of rounds for Skinny64 block ciphers.
void skinny64_ecb_encrypt(void *output, const void *input, const Skinny64Key_t *ks)
Encrypts a single block using the Skinny64 block cipher in ECB mode.
int skinny64_ctr_set_counter(Skinny64CTR_t *ctr, const void *counter, unsigned size)
Sets the counter value in a Skinny-64 CTR control block.
Key schedule for Skinny64 block ciphers.
Union that describes a 32-bit 2x4 array of cells.
#define SKINNY64_BLOCK_SIZE
Size of a block for Skinny64 block ciphers.
State information for Skinny-64 in CTR mode.
int skinny64_ctr_set_tweak(Skinny64CTR_t *ctr, const void *tweak, unsigned tweak_size)
Changes the tweak value for a previously-initialized key schedule.
Union that describes a 64-bit 4x4 array of cells.
int skinny64_ctr_set_tweaked_key(Skinny64CTR_t *ctr, const void *key, unsigned key_size)
Sets the key schedule for a Skinny64 block cipher in CTR mode, and prepare for tweaked encryption...