blob: ce2710eeb22dbd6965eafb36614b4ee8c7f300c0 [file] [log] [blame]
Christian Heimes4a0270d2012-10-06 02:23:36 +02001/*
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 "KeccakF-1600-int-set.h"
18
19static void KeccakInitialize( void );
20static void KeccakInitializeState(unsigned char *state);
21static void KeccakPermutation(unsigned char *state);
22#ifdef ProvideFast576
23static void KeccakAbsorb576bits(unsigned char *state, const unsigned char *data);
24#endif
25#ifdef ProvideFast832
26static void KeccakAbsorb832bits(unsigned char *state, const unsigned char *data);
27#endif
28#ifdef ProvideFast1024
29static void KeccakAbsorb1024bits(unsigned char *state, const unsigned char *data);
30#endif
31#ifdef ProvideFast1088
32static void KeccakAbsorb1088bits(unsigned char *state, const unsigned char *data);
33#endif
34#ifdef ProvideFast1152
35static void KeccakAbsorb1152bits(unsigned char *state, const unsigned char *data);
36#endif
37#ifdef ProvideFast1344
38static void KeccakAbsorb1344bits(unsigned char *state, const unsigned char *data);
39#endif
40static void KeccakAbsorb(unsigned char *state, const unsigned char *data, unsigned int laneCount);
41#ifdef ProvideFast1024
42static void KeccakExtract1024bits(const unsigned char *state, unsigned char *data);
43#endif
44static void KeccakExtract(const unsigned char *state, unsigned char *data, unsigned int laneCount);
45
46#endif