|
Embedded SDK
Embedded SDK
|


Go to the source code of this file.
Functions | |
| 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].vec[j]. | |
| 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. t is computed and left in NTT domain. | |
| 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].vec[j].
| [out] | mat | Array of k polyvecl rows. |
| [in] | rho | Seed of MLDSA_SEEDBYTES bytes. |
| [in] | p | Parameter info. |
Definition at line 24 of file cx_mldsa_polymat.c.
| 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.
Expands A one element at a time and accumulates A*s
without ever storing the full matrix. Only a single
polynomial is kept on the callee stack.
| [out] | t | Output K-vector (NTT domain). |
| [in] | rho | Seed of MLDSA_SEEDBYTES bytes. |
| [in] | s | Input L-vector (must be in NTT domain). |
| [in] | p | Parameter info. |
Definition at line 46 of file cx_mldsa_polymat.c.
| 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. t is computed and left in NTT domain.
| [out] | t | Output K-vector (NTT domain). |
| [in] | mat | Matrix as array of k polyvecl rows (NTT domain). |
| [in] | s | Input L-vector (NTT domain). |
| [in] | p | Parameter info. |
Definition at line 36 of file cx_mldsa_polymat.c.