29#ifndef OCRYPTO_SHAKE_H
30#define OCRYPTO_SHAKE_H
44typedef ocrypto_sha3_ctx ocrypto_shake_ctx;
65 ocrypto_shake_ctx *ctx);
82 ocrypto_shake_ctx *ctx,
83 const uint8_t *in,
size_t in_len);
100 ocrypto_shake_ctx *ctx,
101 const uint8_t *in,
size_t in_len);
121 ocrypto_shake_ctx *ctx,
122 uint8_t *r,
size_t r_len);
142 ocrypto_shake_ctx *ctx,
143 uint8_t *r,
size_t r_len);
160 ocrypto_shake_ctx *ctx,
161 uint8_t *r,
size_t r_len);
178 ocrypto_shake_ctx *ctx,
179 uint8_t *r,
size_t r_len);
193 uint8_t *r,
size_t r_len,
194 const uint8_t *in,
size_t in_len);
207 uint8_t *r,
size_t r_len,
208 const uint8_t *in,
size_t in_len);
void ocrypto_shake128_final(ocrypto_shake_ctx *ctx, uint8_t *r, size_t r_len)
void ocrypto_shake256_update(ocrypto_shake_ctx *ctx, const uint8_t *in, size_t in_len)
void ocrypto_shake256(uint8_t *r, size_t r_len, const uint8_t *in, size_t in_len)
void ocrypto_shake128(uint8_t *r, size_t r_len, const uint8_t *in, size_t in_len)
void ocrypto_shake128_update(ocrypto_shake_ctx *ctx, const uint8_t *in, size_t in_len)
void ocrypto_shake256_final(ocrypto_shake_ctx *ctx, uint8_t *r, size_t r_len)
void ocrypto_shake256_ext(ocrypto_shake_ctx *ctx, uint8_t *r, size_t r_len)
void ocrypto_shake128_ext(ocrypto_shake_ctx *ctx, uint8_t *r, size_t r_len)
void ocrypto_shake_init(ocrypto_shake_ctx *ctx)
SHA3 algorithms, with 224, 256, 384 and 512 bit outputs.