From 2c12384b0aeb347607034eefb36026e6744ca610 Mon Sep 17 00:00:00 2001 From: laiwei360735 <1655919897@qq.com> Date: Tue, 9 May 2017 17:46:48 +0800 Subject: [PATCH] Create KeccakSponge.h Sponge structure --- crypto/SHA-3/Sponge/KeccakSponge.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 crypto/SHA-3/Sponge/KeccakSponge.h diff --git a/crypto/SHA-3/Sponge/KeccakSponge.h b/crypto/SHA-3/Sponge/KeccakSponge.h new file mode 100644 index 00000000..d8a95ba1 --- /dev/null +++ b/crypto/SHA-3/Sponge/KeccakSponge.h @@ -0,0 +1,25 @@ +#ifndef _KeccakSponge_h_ +#define _KeccakSponge_h_ + +#include +#include +#include "KeccakP-1600-Snp.h" +ALIGN(KeccakP1600_stateAlignment) typedef struct KeccakWidth1600_SpongeInstanceStruct { \ + unsigned char state[KeccakP1600_stateSizeInBytes]; \ + unsigned int rate; \ + unsigned int byteIOIndex; \ + int squeezing; \ + } KeccakWidth1600_SpongeInstance; + +int KeccakWidth1600_Sponge(unsigned int rate, unsigned int capacity, const unsigned char *input, + size_t inputByteLen, unsigned char suffix, unsigned char *output, size_t outputByteLen); + +int KeccakWidth1600_SpongeInitialize(KeccakWidth1600_SpongeInstance *spongeInstance, unsigned int rate, unsigned int capacity); + +int KeccakWidth1600_SpongeAbsorb(KeccakWidth1600_SpongeInstance *spongeInstance, const unsigned char *data, size_t dataByteLen); + +int KeccakWidth1600_SpongeAbsorbLastFewBits(KeccakWidth1600_SpongeInstance *spongeInstance, unsigned char delimitedData); + +int KeccakWidth1600_SpongeSqueeze(KeccakWidth1600_SpongeInstance *spongeInstance, unsigned char *data, size_t dataByteLen); + +#endif