|
Lightweight Cryptography Primitives
|
Masked version of the GIFT-128 block cipher. More...
Go to the source code of this file.
Data Structures | |
| struct | gift128b_masked_key_schedule_t |
| Structure of the key schedule for masked GIFT-128 (bit-sliced). More... | |
Macros | |
| #define | GIFT128_MASKED_BLOCK_SIZE 16 |
| Size of a GIFT-128 block in bytes. | |
| #define | GIFT128_MASKED_ROUND_KEYS 80 |
| Number of round keys for the GIFT-128 key schedule. | |
Functions | |
| void | gift128b_init_masked (gift128b_masked_key_schedule_t *ks, const unsigned char *key) |
| Initializes the key schedule for masked GIFT-128 (bit-sliced). More... | |
| void | gift128b_encrypt_preloaded_masked (const gift128b_masked_key_schedule_t *ks, mask_uint32_t output[4], const mask_uint32_t input[4]) |
| Encrypts a block with masked GIFT-128 (bit-sliced and pre-loaded). More... | |
| void | gift128b_decrypt_preloaded_masked (const gift128b_masked_key_schedule_t *ks, mask_uint32_t output[4], const mask_uint32_t input[4]) |
| Decrypts a block with masked GIFT-128 (bit-sliced and pre-loaded). More... | |
Masked version of the GIFT-128 block cipher.
| void gift128b_decrypt_preloaded_masked | ( | const gift128b_masked_key_schedule_t * | ks, |
| mask_uint32_t | output[4], | ||
| const mask_uint32_t | input[4] | ||
| ) |
Decrypts a block with masked GIFT-128 (bit-sliced and pre-loaded).
| ks | Points to the masked GIFT-128 key schedule. |
| output | Output buffer which must be at least 16 bytes in length. |
| input | Input buffer which must be at least 16 bytes in length. |
The input and output buffers can be the same buffer for in-place decryption.
This version assumes that the input has already been pre-loaded from big-endian into host byte order in the supplied word array. The output is delivered in the same way.
| void gift128b_encrypt_preloaded_masked | ( | const gift128b_masked_key_schedule_t * | ks, |
| mask_uint32_t | output[4], | ||
| const mask_uint32_t | input[4] | ||
| ) |
Encrypts a block with masked GIFT-128 (bit-sliced and pre-loaded).
| ks | Points to the masked GIFT-128 key schedule. |
| output | Output buffer which must be at least 16 bytes in length. |
| input | Input buffer which must be at least 16 bytes in length. |
The input and output buffers can be the same buffer for in-place encryption.
This version assumes that the input has already been pre-loaded from big-endian into host byte order in the supplied word array. The output is delivered in the same way.
| void gift128b_init_masked | ( | gift128b_masked_key_schedule_t * | ks, |
| const unsigned char * | key | ||
| ) |
Initializes the key schedule for masked GIFT-128 (bit-sliced).
| ks | Points to the key schedule to initialize. |
| key | Points to the 16 bytes of the key data. |
1.8.6