Lightweight Cryptography Primitives
|
Masked implementation of the ASCON permutation. More...
Go to the source code of this file.
Data Structures | |
struct | ascon_masked_state_t |
Structure of the internal state of the masked ASCON permutation. More... | |
Functions | |
void | ascon_permute_masked (ascon_masked_state_t *state, uint8_t first_round) |
Permutes the masked ASCON state. More... | |
void | ascon_mask (ascon_masked_state_t *output, const ascon_state_t *input) |
Converts an unmasked ASCON state into a masked state. More... | |
void | ascon_unmask (ascon_state_t *output, const ascon_masked_state_t *input) |
Converts a masked ASCON state into an unmasked state. More... | |
void | ascon_mask_sliced (ascon_masked_state_t *output, const ascon_state_t *input) |
Converts an unmasked sliced ASCON state into a masked state. More... | |
void | ascon_unmask_sliced (ascon_state_t *output, const ascon_masked_state_t *input) |
Converts a masked ASCON state into an unmasked sliced state. More... | |
Masked implementation of the ASCON permutation.
References: http://competitions.cr.yp.to/round3/asconv12.pdf, http://ascon.iaik.tugraz.at/
void ascon_mask | ( | ascon_masked_state_t * | output, |
const ascon_state_t * | input | ||
) |
Converts an unmasked ASCON state into a masked state.
output | The output masked state in host byte order. |
input | The input unmasked state, in big-endian byte order. |
void ascon_mask_sliced | ( | ascon_masked_state_t * | output, |
const ascon_state_t * | input | ||
) |
Converts an unmasked sliced ASCON state into a masked state.
output | The output masked state in host byte order. |
input | The input unmasked state, sliced, in host byte order. |
void ascon_permute_masked | ( | ascon_masked_state_t * | state, |
uint8_t | first_round | ||
) |
Permutes the masked ASCON state.
state | The masked ASCON state to be permuted. |
first_round | The first round (of 12) to be performed; 0, 4, or 6. |
The input and output state will be in host byte order.
void ascon_unmask | ( | ascon_state_t * | output, |
const ascon_masked_state_t * | input | ||
) |
Converts a masked ASCON state into an unmasked state.
output | The output unmasked state, in big-endian byte order. |
input | The input masked state in host byte order. |
void ascon_unmask_sliced | ( | ascon_state_t * | output, |
const ascon_masked_state_t * | input | ||
) |
Converts a masked ASCON state into an unmasked sliced state.
output | The output unmasked state, sliced, in host byte order. |
input | The input masked state in host byte order. |