1/*
2The Keccak sponge function, designed by Guido Bertoni, Joan Daemen,
3Michaƫl Peeters and Gilles Van Assche. For more information, feedback or
4questions, please refer to our website: http://keccak.noekeon.org/
5
6Implementation by the designers,
7hereby denoted as "the implementer".
8
9To the extent possible under law, the implementer has waived all copyright
10and related or neighboring rights to the source code in this file.
11http://creativecommons.org/publicdomain/zero/1.0/
12*/
13
14#ifndef _KeccakPermutationInterface_h_
15#define _KeccakPermutationInterface_h_
16
17#include <private/qglobal_p.h>
18
19#if QT_CONFIG(sha3_fast)
20#include "KeccakF-1600-int-set.h"
21#endif
22
23static void KeccakInitialize( void );
24static void KeccakInitializeState(unsigned char *state);
25static void KeccakPermutation(unsigned char *state);
26#ifdef ProvideFast576
27static void KeccakAbsorb576bits(unsigned char *state, const unsigned char *data);
28#endif
29#ifdef ProvideFast832
30static void KeccakAbsorb832bits(unsigned char *state, const unsigned char *data);
31#endif
32#ifdef ProvideFast1024
33static void KeccakAbsorb1024bits(unsigned char *state, const unsigned char *data);
34#endif
35#ifdef ProvideFast1088
36static void KeccakAbsorb1088bits(unsigned char *state, const unsigned char *data);
37#endif
38#ifdef ProvideFast1152
39static void KeccakAbsorb1152bits(unsigned char *state, const unsigned char *data);
40#endif
41#ifdef ProvideFast1344
42static void KeccakAbsorb1344bits(unsigned char *state, const unsigned char *data);
43#endif
44static void KeccakAbsorb(unsigned char *state, const unsigned char *data, unsigned int laneCount);
45#ifdef ProvideFast1024
46static void KeccakExtract1024bits(const unsigned char *state, unsigned char *data);
47#endif
48static void KeccakExtract(const unsigned char *state, unsigned char *data, unsigned int laneCount);
49
50#endif
51