19#include "hitls_build.h"
20#if defined(HITLS_CRYPTO_XMSS) || defined(HITLS_CRYPTO_SLH_DSA)
24#include "xmss_common.h"
43 const uint8_t *pubSeed;
44 const uint8_t *skSeed;
48 const CryptHashFuncs *hashFuncs;
51 const CryptAdrsOps *adrsOps;
75int32_t XmssTree_ComputeNode(uint8_t *node, uint32_t idx, uint32_t height,
void *adrs,
const TreeCtx *ctx,
76 uint8_t *authPath, uint32_t leafIdx);
94int32_t XmssTree_Sign(
const uint8_t *msg, uint32_t msgLen, uint32_t idx,
void *adrs,
const TreeCtx *ctx, uint8_t *sig,
95 uint32_t *sigLen, uint8_t *root);
113int32_t XmssTree_Verify(
const uint8_t *msg, uint32_t msgLen,
const uint8_t *sig, uint32_t sigLen, uint32_t idx,
114 void *adrs,
const TreeCtx *ctx, uint8_t *pk);
143int32_t HyperTree_Verify(
const uint8_t *msg, uint32_t msgLen,
const uint8_t *sig, uint32_t sigLen, uint64_t treeIdx,
144 uint32_t leafIdx,
const TreeCtx *ctx);
175int32_t HyperTree_Sign(
const uint8_t *msg, uint32_t msgLen, uint64_t treeIdx, uint32_t leafIdx,
const TreeCtx *ctx,
176 uint8_t *sig, uint32_t *sigLen);