Header definitions for the SHA-3 hash function. More...

Detailed Description

Header definitions for the SHA-3 hash function.

Author
Implementation by the Keccak, Keyak and Ketje Teams (https://keccak.team/)
RIOT OS adaptations by Mathias Tausig

Definition in file sha3.h.

#include <stdlib.h>
+ Include dependency graph for sha3.h:

Go to the source code of this file.

Data Structures

struct  keccak_state_t
 Context for operations on a sponge with keccak permutation. More...
 

Macros

#define SHA3_256_DIGEST_LENGTH   32
 Length of SHA3-256 digests in bytes.
 
#define SHA3_384_DIGEST_LENGTH   48
 Length of SHA3-384 digests in bytes.
 
#define SHA3_512_DIGEST_LENGTH   64
 Length of SHA3-512 digests in bytes.
 

Functions

void Keccak_init (keccak_state_t *ctx, unsigned int rate, unsigned int capacity, unsigned char delimitedSuffix)
 Initialise a sponge based on a keccak-1600 permutation. More...
 
void Keccak_update (keccak_state_t *ctx, const unsigned char *input, unsigned long long int inputByteLen)
 Absorbs data into a sponge. More...
 
void Keccak_final (keccak_state_t *ctx, unsigned char *output, unsigned long long int outputByteLen)
 Squeeze data from a sponge. More...
 
void sha3_256_init (keccak_state_t *ctx)
 SHA3-256 initialization. More...
 
void sha3_update (keccak_state_t *ctx, const void *data, size_t len)
 Add bytes into the hash. More...
 
void sha3_256_final (keccak_state_t *ctx, void *digest)
 SHA3-256 finalization. More...
 
void sha3_384_init (keccak_state_t *ctx)
 SHA3-384 initialization. More...
 
void sha3_384_final (keccak_state_t *ctx, void *digest)
 SHA3-384 finalization. More...
 
void sha3_512_init (keccak_state_t *ctx)
 SHA3-512 initialization. More...
 
void sha3_512_final (keccak_state_t *ctx, void *digest)
 SHA3-512 finalization. More...
 
void sha3_256 (void *digest, const void *data, size_t len)
 A wrapper function to simplify the generation of a hash, this is useful for generating SHA3-256 from one buffer. More...
 
void sha3_384 (void *digest, const void *data, size_t len)
 A wrapper function to simplify the generation of a hash, this is useful for generating SHA3-384 from one buffer. More...
 
void sha3_512 (void *digest, const void *data, size_t len)
 A wrapper function to simplify the generation of a hash, this is useful for generating SHA3-512 from one buffer. More...