16#ifndef CRYPT_SLH_DSA_FORS_H
17#define CRYPT_SLH_DSA_FORS_H
19#include "hitls_build.h"
20#ifdef HITLS_CRYPTO_SLH_DSA
23#include "crypt_slh_dsa.h"
24#include "slh_dsa_local.h"
37int32_t ForsSign(
const uint8_t *md, uint32_t mdLen, SlhDsaAdrs *adrs,
const CryptSlhDsaCtx *ctx, uint8_t *sig,
52int32_t ForsPkFromSig(
const uint8_t *sig, uint32_t sigLen,
const uint8_t *md, uint32_t mdLen, SlhDsaAdrs *adrs,
53 const CryptSlhDsaCtx *ctx, uint8_t *pk);
64int32_t ForsGenPrvKey(
const SlhDsaAdrs *adrs, uint32_t idx,
const CryptSlhDsaCtx *ctx, uint8_t *sk);
76int32_t ForsNode(uint32_t idx, uint32_t height, SlhDsaAdrs *adrs,
const CryptSlhDsaCtx *ctx, uint8_t *node);