|
Embedded SDK
Embedded SDK
|


Go to the source code of this file.
Classes | |
| struct | mldsa_polyvecl |
| Polynomial vector of up to MLDSA_MAX_L polynomials. More... | |
| struct | mldsa_polyveck |
| Polynomial vector of up to MLDSA_MAX_K polynomials. More... | |
Functions | |
| void | MLDSA_POLYVEC_ntt_l (mldsa_polyvecl *v, uint8_t l) |
| Apply NTT to all polynomials in an L-vector. | |
| void | MLDSA_POLYVEC_ntt_k (mldsa_polyveck *v, uint8_t k) |
| Apply NTT to all polynomials in a K-vector. | |
| void | MLDSA_POLYVEC_invntt_tomont_k (mldsa_polyveck *v, uint8_t k) |
| Apply inverse NTT to all polynomials in a K-vector. | |
| void | MLDSA_POLYVEC_pointwise_acc_montgomery (mldsa_poly *w, const mldsa_polyvecl *u, const mldsa_polyvecl *v, uint8_t l) |
| Inner product of L-vectors in NTT domain with accumulation. | |
| void | MLDSA_POLYVEC_add_k (mldsa_polyveck *a, const mldsa_polyveck *b, uint8_t k) |
| Add K-vector b to K-vector a. | |
| void | MLDSA_POLYVEC_sub_k (mldsa_polyveck *a, const mldsa_polyveck *b, uint8_t k) |
| Subtract K-vector b from K-vector a. | |
| void | MLDSA_POLYVEC_reduce_k (mldsa_polyveck *v, uint8_t k) |
| Apply reduce to all polynomials in a K-vector. | |
| void | MLDSA_POLYVEC_caddq_k (mldsa_polyveck *v, uint8_t k) |
| Apply caddq to all polynomials in a K-vector. | |
| int | MLDSA_POLYVEC_chknorm_l (const mldsa_polyvecl *v, int32_t B, uint8_t l) |
| Check infinity norm of an L-vector. | |
| int | MLDSA_POLYVEC_chknorm_k (const mldsa_polyveck *v, int32_t B, uint8_t k) |
| Check infinity norm of a K-vector. | |
| void | MLDSA_POLYVEC_shiftl_k (mldsa_polyveck *v, uint8_t k) |
| Shift left all polynomials in K-vector by D bits. | |
| void | MLDSA_POLYVEC_power2round_k (mldsa_polyveck *v1, mldsa_polyveck *v0, const mldsa_polyveck *v, uint8_t k) |
| Power2round all polynomials in K-vector. | |
| void | MLDSA_POLYVEC_decompose_k (mldsa_polyveck *v1, mldsa_polyveck *v0, const mldsa_polyveck *v, int32_t gamma2, uint8_t k) |
| Decompose all polynomials in K-vector. | |
| uint32_t | MLDSA_POLYVEC_make_hint_k (mldsa_polyveck *h, const mldsa_polyveck *v0, const mldsa_polyveck *v1, int32_t gamma2, uint8_t k) |
| Make hint for K-vectors. | |
| void | MLDSA_POLYVEC_use_hint_k (mldsa_polyveck *w, const mldsa_polyveck *u, const mldsa_polyveck *h, int32_t gamma2, uint8_t k) |
| Use hint to correct high bits of K-vector. | |
| void | MLDSA_POLYVEC_pack_w1 (uint8_t *r, const mldsa_polyveck *w1, int32_t gamma2, uint8_t k) |
| Pack w1 vector. | |
| void MLDSA_POLYVEC_add_k | ( | mldsa_polyveck * | a, |
| const mldsa_polyveck * | b, | ||
| uint8_t | k | ||
| ) |
Add K-vector b to K-vector a.
Definition at line 57 of file cx_mldsa_polyvec.c.
| void MLDSA_POLYVEC_caddq_k | ( | mldsa_polyveck * | v, |
| uint8_t | k | ||
| ) |
Apply caddq to all polynomials in a K-vector.
Definition at line 78 of file cx_mldsa_polyvec.c.
| int MLDSA_POLYVEC_chknorm_k | ( | const mldsa_polyveck * | v, |
| int32_t | B, | ||
| uint8_t | k | ||
| ) |
Check infinity norm of a K-vector.
Definition at line 95 of file cx_mldsa_polyvec.c.
| int MLDSA_POLYVEC_chknorm_l | ( | const mldsa_polyvecl * | v, |
| int32_t | B, | ||
| uint8_t | l | ||
| ) |
Check infinity norm of an L-vector.
Definition at line 85 of file cx_mldsa_polyvec.c.
| void MLDSA_POLYVEC_decompose_k | ( | mldsa_polyveck * | v1, |
| mldsa_polyveck * | v0, | ||
| const mldsa_polyveck * | v, | ||
| int32_t | gamma2, | ||
| uint8_t | k | ||
| ) |
Decompose all polynomials in K-vector.
Definition at line 122 of file cx_mldsa_polyvec.c.
| void MLDSA_POLYVEC_invntt_tomont_k | ( | mldsa_polyveck * | v, |
| uint8_t | k | ||
| ) |
Apply inverse NTT to all polynomials in a K-vector.
Definition at line 39 of file cx_mldsa_polyvec.c.
| uint32_t MLDSA_POLYVEC_make_hint_k | ( | mldsa_polyveck * | h, |
| const mldsa_polyveck * | v0, | ||
| const mldsa_polyveck * | v1, | ||
| int32_t | gamma2, | ||
| uint8_t | k | ||
| ) |
Make hint for K-vectors.
| [out] | h | Hint K-vector. |
| [in] | v0 | Low bits K-vector. |
| [in] | v1 | High bits K-vector. |
| [in] | gamma2 | Low-order rounding range. |
| [in] | k | Number of polynomials. |
Definition at line 133 of file cx_mldsa_polyvec.c.
| void MLDSA_POLYVEC_ntt_k | ( | mldsa_polyveck * | v, |
| uint8_t | k | ||
| ) |
Apply NTT to all polynomials in a K-vector.
Definition at line 32 of file cx_mldsa_polyvec.c.
| void MLDSA_POLYVEC_ntt_l | ( | mldsa_polyvecl * | v, |
| uint8_t | l | ||
| ) |
Apply NTT to all polynomials in an L-vector.
Definition at line 25 of file cx_mldsa_polyvec.c.
| void MLDSA_POLYVEC_pack_w1 | ( | uint8_t * | r, |
| const mldsa_polyveck * | w1, | ||
| int32_t | gamma2, | ||
| uint8_t | k | ||
| ) |
Pack w1 vector.
| [out] | r | Output byte array. |
| [in] | w1 | Input K-vector. |
| [in] | gamma2 | Low-order rounding range. |
| [in] | k | Number of polynomials. |
Definition at line 161 of file cx_mldsa_polyvec.c.
| void MLDSA_POLYVEC_pointwise_acc_montgomery | ( | mldsa_poly * | w, |
| const mldsa_polyvecl * | u, | ||
| const mldsa_polyvecl * | v, | ||
| uint8_t | l | ||
| ) |
Inner product of L-vectors in NTT domain with accumulation.
| [out] | w | Output polynomial. |
| [in] | u | First input L-vector. |
| [in] | v | Second input L-vector. |
| [in] | l | Number of polynomials. |
Definition at line 46 of file cx_mldsa_polyvec.c.
| void MLDSA_POLYVEC_power2round_k | ( | mldsa_polyveck * | v1, |
| mldsa_polyveck * | v0, | ||
| const mldsa_polyveck * | v, | ||
| uint8_t | k | ||
| ) |
Power2round all polynomials in K-vector.
| [out] | v1 | High bits output K-vector. |
| [out] | v0 | Low bits output K-vector. |
| [in] | v | Input K-vector. |
| [in] | k | Number of polynomials. |
Definition at line 112 of file cx_mldsa_polyvec.c.
| void MLDSA_POLYVEC_reduce_k | ( | mldsa_polyveck * | v, |
| uint8_t | k | ||
| ) |
Apply reduce to all polynomials in a K-vector.
Definition at line 71 of file cx_mldsa_polyvec.c.
| void MLDSA_POLYVEC_shiftl_k | ( | mldsa_polyveck * | v, |
| uint8_t | k | ||
| ) |
Shift left all polynomials in K-vector by D bits.
Definition at line 105 of file cx_mldsa_polyvec.c.
| void MLDSA_POLYVEC_sub_k | ( | mldsa_polyveck * | a, |
| const mldsa_polyveck * | b, | ||
| uint8_t | k | ||
| ) |
Subtract K-vector b from K-vector a.
Definition at line 64 of file cx_mldsa_polyvec.c.
| void MLDSA_POLYVEC_use_hint_k | ( | mldsa_polyveck * | w, |
| const mldsa_polyveck * | u, | ||
| const mldsa_polyveck * | h, | ||
| int32_t | gamma2, | ||
| uint8_t | k | ||
| ) |
Use hint to correct high bits of K-vector.
Definition at line 150 of file cx_mldsa_polyvec.c.