libhasha 2.2.2
Loading...
Searching...
No Matches
blake2b.h
Go to the documentation of this file.
1
11
12#if !defined(__HASHA_BLAKE2B_H)
13#define __HASHA_BLAKE2B_H
14
15#include "internal/internal.h"
16
20#define HA_BLAKE2B_BLOCK_SIZE 128
21
25#define HA_BLAKE2B_DIGEST_SIZE ha_bB(512)
26
28
35typedef struct ha_blake2b_context
36{
37 uint64_t h[8];
38 uint64_t t[2];
39 uint64_t f[2];
41 size_t buflen;
42 size_t outlen;
44
51
60 size_t len);
61
71 ha_digest_t digest, size_t digestlen);
72
86HA_PUBFUN void ha_blake2b_hash(ha_inbuf_t data, size_t len,
87 ha_digest_t digest, size_t digestlen);
88
90
91#endif // __HASHA_BLAKE2B_H
#define HA_BLAKE2B_BLOCK_SIZE
The size of a BLAKE2B block in bytes.
Definition blake2b.h:20
HA_PUBFUN void ha_blake2b_init(ha_blake2b_context *ctx)
Initializes a BLAKE2B context.
HA_PUBFUN void ha_blake2b_update(ha_blake2b_context *ctx, ha_inbuf_t data, size_t len)
Updates the BLAKE2B hash state with input data.
HA_PUBFUN void ha_blake2b_final(ha_blake2b_context *ctx, ha_digest_t digest, size_t digestlen)
Finalizes the BLAKE2B hash and produces the digest.
HA_PUBFUN void ha_blake2b_hash(ha_inbuf_t data, size_t len, ha_digest_t digest, size_t digestlen)
Computes the BLAKE2B hash in a one-shot operation.
#define HA_PUBFUN
Definition hadefs.h:34
#define HA_EXTERN_C_END
Definition hadefs.h:78
#define HA_EXTERN_C_BEG
Definition hadefs.h:70
BLAKE2B hashing context structure.
Definition blake2b.h:36
uint64_t f[2]
Definition blake2b.h:39
uint64_t h[8]
Definition blake2b.h:37
uint8_t buf[HA_BLAKE2B_BLOCK_SIZE]
Definition blake2b.h:40
uint64_t t[2]
Definition blake2b.h:38
__ha_out_buf_type ha_digest_t
Definition types.h:15
__ha_in_buf_type ha_inbuf_t
Definition types.h:12