2 The Keccak sponge function, designed by Guido Bertoni, Joan Daemen,
3 Michaƫl Peeters and Gilles Van Assche. For more information, feedback or
4 questions, please refer to our website: http://keccak.noekeon.org/
6 Implementation by the designers,
7 hereby denoted as "the implementer".
9 To the extent possible under law, the implementer has waived all copyright
10 and related or neighboring rights to the source code in this file.
11 http://creativecommons.org/publicdomain/zero/1.0/
14 #ifndef _KeccakPermutationInterface_h_
15 #define _KeccakPermutationInterface_h_
17 #include "KeccakF-1600-int-set.h"
19 void KeccakInitialize( void );
20 void KeccakInitializeState(unsigned char *state
);
21 void KeccakPermutation(unsigned char *state
);
23 void KeccakAbsorb576bits(unsigned char *state
, const unsigned char *data
);
26 void KeccakAbsorb832bits(unsigned char *state
, const unsigned char *data
);
28 #ifdef ProvideFast1024
29 void KeccakAbsorb1024bits(unsigned char *state
, const unsigned char *data
);
31 #ifdef ProvideFast1088
32 void KeccakAbsorb1088bits(unsigned char *state
, const unsigned char *data
);
34 #ifdef ProvideFast1152
35 void KeccakAbsorb1152bits(unsigned char *state
, const unsigned char *data
);
37 #ifdef ProvideFast1344
38 void KeccakAbsorb1344bits(unsigned char *state
, const unsigned char *data
);
40 void KeccakAbsorb(unsigned char *state
, const unsigned char *data
, unsigned int laneCount
);
41 #ifdef ProvideFast1024
42 void KeccakExtract1024bits(const unsigned char *state
, unsigned char *data
);
44 void KeccakExtract(const unsigned char *state
, unsigned char *data
, unsigned int laneCount
);