23 #ifndef LW_INTERNAL_ROMULUS_H
24 #define LW_INTERNAL_ROMULUS_H
43 #define romulus_set_domain(ks, domain) ((ks)->TK1[7] = (domain))
61 const unsigned char *k,
const unsigned char *npub);
71 (
unsigned char S[16],
unsigned char C[16],
const unsigned char M[16]);
81 (
unsigned char S[16],
unsigned char M[16],
const unsigned char C[16]);
92 (
unsigned char S[16],
unsigned char C[16],
93 const unsigned char M[16],
unsigned len);
104 (
unsigned char S[16],
unsigned char M[16],
105 const unsigned char C[16],
unsigned len);
void romulus_update_counter(uint8_t TK1[16])
Updates the 56-bit LFSR block counter for Romulus-N, M, and T.
Definition: internal-romulus.c:26
SKINNY-128-384+ block cipher.
void romulus_schedule_init(skinny_plus_key_schedule_t *ks, const unsigned char *k, const unsigned char *npub)
Initializes the key schedule for Romulus-N, M, or T.
Definition: internal-romulus.c:39
void romulus_rho_inverse(unsigned char S[16], unsigned char M[16], const unsigned char C[16])
Applies the inverse of the Romulus rho function.
Definition: internal-romulus.c:60
void romulus_rho_short(unsigned char S[16], unsigned char C[16], const unsigned char M[16], unsigned len)
Applies the Romulus rho function to a short block.
Definition: internal-romulus.c:72
void romulus_rho(unsigned char S[16], unsigned char C[16], const unsigned char M[16])
Applies the Romulus rho function.
Definition: internal-romulus.c:48
void romulus_generate_tag(unsigned char T[16], const unsigned char S[16])
Generates the authentication tag from the rolling Romulus state.
Definition: internal-romulus.c:99
Structure of the key schedule for SKINNY-128-384+.
Definition: internal-skinny-plus.h:55
void romulus_rho_inverse_short(unsigned char S[16], unsigned char M[16], const unsigned char C[16], unsigned len)
Applies the inverse of the Romulus rho function to a short block.
Definition: internal-romulus.c:86