Lightweight Cryptography Primitives
 All Data Structures Files Functions Variables Typedefs Macros Pages
Macros | Functions
internal-sparkle.h File Reference

Internal implementation of the SPARKLE permutation. More...

#include "internal-util.h"

Go to the source code of this file.

Macros

#define SPARKLE_256_STATE_SIZE   8
 Size of the state for SPARKLE-256.
 
#define SPARKLE_384_STATE_SIZE   12
 Size of the state for SPARKLE-384.
 
#define SPARKLE_512_STATE_SIZE   16
 Size of the state for SPARKLE-512.
 

Functions

void sparkle_256 (uint32_t s[SPARKLE_256_STATE_SIZE], unsigned steps)
 Performs the SPARKLE-256 permutation. More...
 
void sparkle_384 (uint32_t s[SPARKLE_384_STATE_SIZE], unsigned steps)
 Performs the SPARKLE-384 permutation. More...
 
void sparkle_512 (uint32_t s[SPARKLE_512_STATE_SIZE], unsigned steps)
 Performs the SPARKLE-512 permutation. More...
 

Detailed Description

Internal implementation of the SPARKLE permutation.

References: https://www.cryptolux.org/index.php/Sparkle

Function Documentation

void sparkle_256 ( uint32_t  s[SPARKLE_256_STATE_SIZE],
unsigned  steps 
)

Performs the SPARKLE-256 permutation.

Parameters
sThe words of the SPARKLE-256 state in little-endian byte order.
stepsThe number of steps to perform, 7 or 10.
void sparkle_384 ( uint32_t  s[SPARKLE_384_STATE_SIZE],
unsigned  steps 
)

Performs the SPARKLE-384 permutation.

Parameters
sThe words of the SPARKLE-384 state in little-endian byte order.
stepsThe number of steps to perform, 7 or 11.
void sparkle_512 ( uint32_t  s[SPARKLE_512_STATE_SIZE],
unsigned  steps 
)

Performs the SPARKLE-512 permutation.

Parameters
sThe words of the SPARKLE-512 state in little-endian byte order.
stepsThe number of steps to perform, 8 or 12.