limb 0.2.0

2024-01-09

hasher.h(0)
limb manual
hasher.h(0)

NAME

hasher.h - generic message digest interface

SYNOPSIS

#include <limb/hasher.h>

DESCRIPTION

This header defines the required functions to compute message digests through a generic interface.

Types

The following types are defined :

hasher_init

Generic pointer function for context initialization

hasher_upate

Generic pointer function for feeding data into a hashing context

hasher_final

Generic pointer function for computing/obtaining the message digest

Constants

The following constants are defined :

ALGO_SHA1, ALGO_SHA256, ALGO_SHA512, ALGO_SHA3_224, ALGO_SHA3_256, ALGO_SHA3_384, ALGO_SHA3_512, ALGO_BLAKE3

Indices to identify each of the algorithms for which a hasher is available in the arrays algos and hashers.

NB_AGLOS

Number of elements/algorithms.

Structures

The following structures are defined :

struct hasher, hasher

A structure representing a hasher, allowing to compute a message digest through the algorithm of said hasher.

Pointers

The following pointers are defined :

algos

Pointer to an NULL-terminated array of NB_ALGOS strings naming the algorithms.

hashers

Pointer to an array of NB_ALGOS pointers to the available *hasher*s.

Functions

The following functions/macros are defined :

hasher_hash(3)

To compute the message digest through a given hasher

hinit(3)

To initialize a hasher.

hupdate(3)

To feed data into a hasher.

hfinal(3)

To obtain the hash from a hasher.

SEE ALSO

hmac.h(0), pbkdf2.h(0)

limb 0.1.0
2023-07-24
hasher.h(0)