25#ifndef CX_MLDSA_LOWRAM_H
26#define CX_MLDSA_LOWRAM_H
28#ifdef HAVE_MLDSA_OPTIMIZATION
35#define MLDSA_WCOMP_BYTES 768U
38#define MLDSA_CCOMP_BYTES 68U
41#define MLDSA_MAX_OMEGA 80U
51void MLDSA_LOWRAM_polyw_pack(uint8_t buf[MLDSA_WCOMP_BYTES],
const mldsa_poly *w);
59void MLDSA_LOWRAM_polyw_unpack(
mldsa_poly *w,
const uint8_t buf[MLDSA_WCOMP_BYTES]);
68void MLDSA_LOWRAM_polyw_add_idx(uint8_t buf[MLDSA_WCOMP_BYTES], int32_t a, uint32_t idx);
78 const uint8_t buf[MLDSA_WCOMP_BYTES],
90void MLDSA_LOWRAM_challenge_compress(uint8_t ccomp[MLDSA_CCOMP_BYTES],
101void MLDSA_LOWRAM_challenge_decompress(
mldsa_poly *cp,
102 const uint8_t ccomp[MLDSA_CCOMP_BYTES],
117 const uint8_t ccomp[MLDSA_CCOMP_BYTES],
133 const uint8_t ccomp[MLDSA_CCOMP_BYTES],
149void MLDSA_LOWRAM_expand_aij_accum(uint8_t wcomp[MLDSA_WCOMP_BYTES],
187 const uint8_t wcomp[MLDSA_WCOMP_BYTES],
188 const uint8_t *w1_packed,
209 const uint8_t wcomp[MLDSA_WCOMP_BYTES],
210 const uint8_t *w1_packed,
224void MLDSA_LOWRAM_use_hint_indices(
mldsa_poly *b,
226 const uint8_t *h_indices,
256void MLDSA_LOWRAM_sample_gamma1_add(
mldsa_poly *a,
ML-DSA (Module-Lattice Digital Signature Algorithm) public API.
Polynomial with MLDSA_N int32_t coefficients.