34 lines
1.1 KiB
C
34 lines
1.1 KiB
C
#ifndef SPX_HARAKA_H
|
|
#define SPX_HARAKA_H
|
|
|
|
/* load constants */
|
|
void load_constants_port();
|
|
|
|
/* Tweak constants with seed */
|
|
void tweak_constants(const unsigned char *pk_seed, const unsigned char *sk_seed,
|
|
unsigned long long seed_length);
|
|
|
|
/* Haraka Sponge */
|
|
void haraka_S(unsigned char *out, unsigned long long outlen,
|
|
const unsigned char *in, unsigned long long inlen);
|
|
|
|
/* Applies the 512-bit Haraka permutation to in. */
|
|
void haraka512_perm(unsigned char *out, const unsigned char *in);
|
|
|
|
/* Implementation of Haraka-512 */
|
|
void haraka512_port(unsigned char *out, const unsigned char *in);
|
|
|
|
/* Applies the 512-bit Haraka permutation to in, using zero key. */
|
|
void haraka512_perm_zero(unsigned char *out, const unsigned char *in);
|
|
|
|
/* Implementation of Haraka-512, using zero key */
|
|
void haraka512_port_zero(unsigned char *out, const unsigned char *in);
|
|
|
|
/* Implementation of Haraka-256 */
|
|
void haraka256_port(unsigned char *out, const unsigned char *in);
|
|
|
|
/* Implementation of Haraka-256 using sk.seed constants */
|
|
void haraka256_sk(unsigned char *out, const unsigned char *in);
|
|
|
|
#endif
|