Loading...
Searching...
No Matches

Implementation of the SHA-512 hashing function. More...

Detailed Description

Implementation of the SHA-512 hashing function.

Files

file  sha512.h
 Header definitions for the SHA512 hash function.
 

Macros

#define SHA512_DIGEST_LENGTH   (64)
 Length of SHA512 digests in bytes.
 
#define SHA512_INTERNAL_BLOCK_SIZE   (128)
 1024 Bit (128 Byte) internally used block size for sha512
 

Typedefs

typedef sha512_common_context_t sha512_context_t
 Context for cipher operations based on sha512.
 

Functions

void sha512_init (sha512_context_t *ctx)
 SHA-512 initialization.
 
static void sha512_update (sha512_context_t *ctx, const void *data, size_t len)
 Add bytes into the hash.
 
static void sha512_final (sha512_context_t *ctx, void *digest)
 SHA-512 finalization.
 
void sha512 (const void *data, size_t len, void *digest)
 A wrapper function to simplify the generation of a hash.
 

Macro Definition Documentation

◆ SHA512_DIGEST_LENGTH

#define SHA512_DIGEST_LENGTH   (64)

Length of SHA512 digests in bytes.

Definition at line 36 of file sha512.h.

◆ SHA512_INTERNAL_BLOCK_SIZE

#define SHA512_INTERNAL_BLOCK_SIZE   (128)

1024 Bit (128 Byte) internally used block size for sha512

Definition at line 41 of file sha512.h.

Typedef Documentation

◆ sha512_context_t

Context for cipher operations based on sha512.

Definition at line 46 of file sha512.h.

Function Documentation

◆ sha512()

void sha512 ( const void *  data,
size_t  len,
void *  digest 
)

A wrapper function to simplify the generation of a hash.

This is useful for generating sha512 for one single buffer in a single step.

Parameters
[in]datapointer to the buffer to generate hash from
[in]lenlength of the buffer
[out]digestoptional pointer to an array for the result, length must be SHA512_DIGEST_LENGTH

◆ sha512_final()

static void sha512_final ( sha512_context_t ctx,
void *  digest 
)
inlinestatic

SHA-512 finalization.

Pads the input data, exports the hash value, and clears the context state.

Parameters
ctxsha512_context_t handle to use, must not be NULL
[out]digestpointer to resulting digest, this is the hash of all the bytes. Length must be at least SHA512_DIGEST_LENGTH

Definition at line 76 of file sha512.h.

◆ sha512_init()

void sha512_init ( sha512_context_t ctx)

SHA-512 initialization.

Begins a SHA-512 operation.

Parameters
ctxsha512_context_t handle to init, must not be NULL

◆ sha512_update()

static void sha512_update ( sha512_context_t ctx,
const void *  data,
size_t  len 
)
inlinestatic

Add bytes into the hash.

Parameters
ctxsha512_context_t handle to use, must not be NULL
[in]dataInput data
[in]lenLength of data

Definition at line 63 of file sha512.h.