Go to the source code of this file.
|
#define | and_not_xor(x, y, z) |
| Computes x ^= (~y & z) with a 3-share masked representation. More...
|
|
#define | ROUND_CONSTANT(round) (~(uint64_t)(((0x0F - (round)) << 4) | (round))) |
|
◆ and_not_xor
#define and_not_xor |
( |
|
x, |
|
|
|
y, |
|
|
|
z |
|
) |
| |
Value: do { \
x##_a ^= (~(y##_a) & z##_a); \
\
x##_b ^= ((~y##_b) & z##_b); \
\
x##_c ^= (y##_c | z##_c); \
} while (0)
#define ascon_mask64_rotate_share2_1(x)
Rotates 64-bit masked share 2 with respect to share 1.
#define ascon_mask64_rotate_share2_0(x)
Rotates 64-bit masked share 2 with respect to share 0.
#define ascon_mask64_unrotate_share2_0(x)
Unrotates 64-bit masked share 2 with respect to share 0.
#define ascon_mask64_rotate_share1_0(x)
Rotates 64-bit masked share 1 with respect to share 0.
#define ascon_mask64_unrotate_share1_0(x)
Unrotates 64-bit masked share 1 with respect to share 0.
#define ascon_mask64_unrotate_share2_1(x)
Unrotates 64-bit masked share 2 with respect to share 1.
Computes x ^= (~y & z) with a 3-share masked representation.
- Parameters
-
x | Output variable to XOR with. |
y | First input variable. |
z | Second input variable. |
Definition at line 36 of file ascon-x3-c64.c.
◆ ROUND_CONSTANT
#define ROUND_CONSTANT |
( |
|
round | ) |
(~(uint64_t)(((0x0F - (round)) << 4) | (round))) |
◆ ascon_x3_permute()