17#ifndef CX_MLDSA_POLYMAT_H
18#define CX_MLDSA_POLYMAT_H
void MLDSA_POLYMAT_expand_and_multiply(mldsa_polyveck *t, const uint8_t rho[MLDSA_SEEDBYTES], const mldsa_polyvecl *s, const MLDSA_param_info_t *p)
On-the-fly A expansion with matrix-vector multiply.
void MLDSA_POLYMAT_expand(mldsa_polyvecl *mat, const uint8_t rho[MLDSA_SEEDBYTES], const MLDSA_param_info_t *p)
Expand the k x l matrix A from a seed rho using SHAKE128. Each polynomial A[i][j] is stored as mat[i]...
void MLDSA_POLYMAT_pointwise_montgomery(mldsa_polyveck *t, const mldsa_polyvecl *mat, const mldsa_polyvecl *s, const MLDSA_param_info_t *p)
Matrix-vector multiply: t = A * s (in NTT domain). Both A and s must already be in NTT domain....
ML-DSA (Module-Lattice Digital Signature Algorithm) public API.
ML-DSA parameter set descriptor holding all derived sizes.
Polynomial vector of up to MLDSA_MAX_K polynomials.
Polynomial vector of up to MLDSA_MAX_L polynomials.