slh_hash_msg_digest_func *msg_digest;
};
-extern const struct slh_hash _slh_hash_shake;
-extern const struct slh_hash _slh_hash_sha256;
+extern const struct slh_hash _slh_hash_shake; /* For sha3_ctx. */
+extern const struct slh_hash _slh_hash_sha256; /* For sha256_ctx. */
struct slh_merkle_ctx_public
{
extern const struct slh_dsa_params _slh_dsa_128s_params;
extern const struct slh_dsa_params _slh_dsa_128f_params;
-void
-_slh_shake_randomizer (const uint8_t *public_seed, const uint8_t *secret_prf,
- size_t msg_length, const uint8_t *msg,
- uint8_t *randomizer);
-void
-_slh_shake_msg_digest (const uint8_t *randomizer, const uint8_t *pub,
- size_t length, const uint8_t *msg,
- size_t digest_size, uint8_t *digest);
-
-void
-_slh_sha256_randomizer (const uint8_t *public_seed, const uint8_t *secret_prf,
- size_t msg_length, const uint8_t *msg,
- uint8_t *randomizer);
-void
-_slh_sha256_msg_digest (const uint8_t *randomizer, const uint8_t *pub,
- size_t length, const uint8_t *msg,
- size_t digest_size, uint8_t *digest);
-
#define _WOTS_SIGNATURE_LENGTH 35
/* 560 bytes */
#define WOTS_SIGNATURE_SIZE (_WOTS_SIGNATURE_LENGTH*_SLH_DSA_128_SIZE)
void
slh_dsa_sha2_128f_generate_keypair (uint8_t *pub, uint8_t *priv,
- void *random_ctx, nettle_random_func *random)
+ void *random_ctx, nettle_random_func *random)
{
random (random_ctx, SLH_DSA_128_SEED_SIZE, pub);
random (random_ctx, 2*SLH_DSA_128_SEED_SIZE, priv);
/* Only the "pure" and deterministic variant. */
void
slh_dsa_sha2_128s_sign (const uint8_t *pub, const uint8_t *priv,
- size_t length, const uint8_t *msg,
- uint8_t *signature)
+ size_t length, const uint8_t *msg,
+ uint8_t *signature)
{
uint8_t digest[SLH_DSA_M];
_slh_dsa_pure_rdigest (&_slh_hash_sha256,
int
slh_dsa_sha2_128s_verify (const uint8_t *pub,
- size_t length, const uint8_t *msg,
- const uint8_t *signature)
+ size_t length, const uint8_t *msg,
+ const uint8_t *signature)
{
uint8_t digest[SLH_DSA_M];
_slh_dsa_pure_digest (&_slh_hash_sha256,