53 lines
1.9 KiB
C
53 lines
1.9 KiB
C
/**
|
|
* \file lib/sha3.h
|
|
*
|
|
* \brief header file for SHA3 routines
|
|
*/
|
|
|
|
|
|
|
|
#define SHA3_256_DIGEST_LEN 32
|
|
#define SHA3_512_DIGEST_LEN 64
|
|
#define SHA3_256_BLOCK_LEN 136
|
|
#define SHA3_512_BLOCK_LEN 72
|
|
#define SHA3_256_B64_LEN 43
|
|
#define SHA3_512_B64_LEN 86
|
|
#define SHA3_256_DIGEST_STR_LEN (SHA3_256_DIGEST_LEN * 2 + 1)
|
|
#define SHA3_512_DIGEST_STR_LEN (SHA3_512_DIGEST_LEN * 2 + 1)
|
|
|
|
void Keccak(unsigned int rate, unsigned int capacity, const unsigned char *input, unsigned long long int inputByteLen, unsigned char delimitedSuffix, unsigned char *output, unsigned long long int outputByteLen);
|
|
|
|
/**
|
|
* \brief Function to compute SHAKE128 on the input message with any output length.
|
|
*
|
|
* Not currently in use
|
|
void FIPS202_SHAKE128(const unsigned char *input, unsigned int inputByteLen, unsigned char *output, int outputByteLen);
|
|
*/
|
|
|
|
/**
|
|
* \brief Function to compute SHAKE256 on the input message with any output length.
|
|
*
|
|
* Not currently in use
|
|
void FIPS202_SHAKE256(const unsigned char *input, unsigned int inputByteLen, unsigned char *output, int outputByteLen);
|
|
*/
|
|
|
|
/**
|
|
* \brief Function to compute SHA3-224 on the input message. The output length is fixed to 28 bytes.
|
|
void FIPS202_SHA3_224(const unsigned char *input, unsigned int inputByteLen, unsigned char *output);
|
|
*/
|
|
|
|
/**
|
|
* \brief Function to compute SHA3-256 on the input message. The output length is fixed to 32 bytes.
|
|
*/
|
|
void FIPS202_SHA3_256(const unsigned char *input, unsigned int inputByteLen, unsigned char *output);
|
|
|
|
/**
|
|
* \brief Function to compute SHA3-384 on the input message. The output length is fixed to 48 bytes.
|
|
void FIPS202_SHA3_384(const unsigned char *input, unsigned int inputByteLen, unsigned char *output);
|
|
*/
|
|
|
|
/**
|
|
* \brief Function to compute SHA3-512 on the input message. The output length is fixed to 64 bytes.
|
|
*/
|
|
void FIPS202_SHA3_512(const unsigned char *input, unsigned int inputByteLen, unsigned char *output);
|