27#if !defined(__HASHA_KECCAK_H)
28#define __HASHA_KECCAK_H
40#define HA_KECCAK_224_DIGEST_SIZE ha_bB(224)
49#define HA_KECCAK_256_DIGEST_SIZE ha_bB(256)
58#define HA_KECCAK_384_DIGEST_SIZE ha_bB(384)
67#define HA_KECCAK_512_DIGEST_SIZE ha_bB(512)
HA_PUBFUN void ha_keccak_384_final(ha_keccak_384_context *ctx, ha_digest_t digest)
Finalizes the Keccak-384 context.
HA_PUBFUN void ha_keccak_256_final(ha_keccak_256_context *ctx, ha_digest_t digest)
Finalizes the Keccak-256 context.
ha_keccak_context ha_keccak_256_context
HA_PUBFUN void ha_keccak_512_hash(ha_inbuf_t data, size_t length, ha_digest_t digest)
Computes the Keccak-512 hash in a single operation.
HA_PUBFUN void ha_keccak_final(ha_keccak_context *ctx, enum ha_pb padbyte, ha_digest_t digest, size_t digestlen)
Finalizes the Keccak-Based computation.
HA_PUBFUN void ha_keccak_512_init(ha_keccak_512_context *ctx)
Initializes the Keccak-512 context.
HA_PUBFUN void ha_keccak_512_final(ha_keccak_512_context *ctx, ha_digest_t digest)
Finalizes the Keccak-512 context.
HA_PUBFUN void ha_keccak_384_hash(ha_inbuf_t data, size_t length, ha_digest_t digest)
Computes the Keccak-384 hash in a single operation.
HA_PUBFUN void ha_keccak_256_update(ha_keccak_256_context *ctx, ha_inbuf_t data, size_t length)
Absorbs input data for Keccak-256.
HA_PUBFUN void ha_keccak_224_hash(ha_inbuf_t data, size_t length, ha_digest_t digest)
Computes the Keccak-224 hash in a single operation.
ha_keccak_context ha_keccak_224_context
ha_keccak_context ha_keccak_512_context
HA_PUBFUN void ha_keccak_224_init(ha_keccak_224_context *ctx)
Initializes the Keccak-224 context.
HA_PUBFUN void ha_keccak_hash(size_t rate, enum ha_pb padbyte, ha_inbuf_t buf, size_t len, ha_digest_t digest, size_t digestlen)
Computes the Keccak-Based hash in a one-shot operation.
HA_PUBFUN void ha_keccak_update(ha_keccak_context *ctx, ha_inbuf_t buf, size_t len)
Absorbs data into the Keccak-Based context.
HA_PUBFUN void ha_keccak_384_init(ha_keccak_384_context *ctx)
Initializes the Keccak-384 context.
HA_PUBFUN void ha_keccak_224_final(ha_keccak_224_context *ctx, ha_digest_t digest)
Finalizes the Keccak-224 context.
HA_PUBFUN void ha_keccak_init(ha_keccak_context *ctx, size_t rate)
Initializes the Keccak-Based context.
HA_PUBFUN void ha_keccak_384_update(ha_keccak_384_context *ctx, ha_inbuf_t data, size_t length)
Absorbs input data for Keccak-384.
HA_PUBFUN void ha_keccak_224_update(ha_keccak_224_context *ctx, ha_inbuf_t data, size_t length)
Absorbs input data for Keccak-224.
HA_PUBFUN void ha_keccak_512_update(ha_keccak_512_context *ctx, ha_inbuf_t data, size_t length)
Absorbs input data for Keccak-512.
HA_PUBFUN void ha_keccak_256_init(ha_keccak_256_context *ctx)
Initializes the Keccak-256 context.
HA_PUBFUN void ha_keccak_256_hash(ha_inbuf_t data, size_t length, ha_digest_t digest)
Computes the Keccak-256 hash in a single operation.
ha_keccak_context ha_keccak_384_context
Keccak hash state context.
size_t squeeze_index
The current index for squeezing data.
size_t capacity
The capacity (remaining bits).
size_t rate
The rate (number of bits processed per round).
size_t absorb_index
The current index for absorbing data.
uint8_t state[200]
The Keccak state array.
__ha_out_buf_type ha_digest_t
__ha_in_buf_type ha_inbuf_t