Embedded SDK
Embedded SDK
Loading...
Searching...
No Matches
cx_mldsa_polymat.h
Go to the documentation of this file.
1/*****************************************************************************
2 * (c) 2026 Ledger SAS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *****************************************************************************/
16
17#ifndef CX_MLDSA_POLYMAT_H
18#define CX_MLDSA_POLYMAT_H
19
20#include "cx_mldsa_polyvec.h"
21#include "lcx_mldsa.h"
22
32 const uint8_t rho[MLDSA_SEEDBYTES],
33 const MLDSA_param_info_t *p);
34
46 const mldsa_polyvecl *mat,
47 const mldsa_polyvecl *s,
48 const MLDSA_param_info_t *p);
49
63 const uint8_t rho[MLDSA_SEEDBYTES],
64 const mldsa_polyvecl *s,
65 const MLDSA_param_info_t *p);
66
67#endif /* 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....
#define MLDSA_SEEDBYTES
Definition lcx_mldsa.h:40
ML-DSA (Module-Lattice Digital Signature Algorithm) public API.
ML-DSA parameter set descriptor holding all derived sizes.
Definition lcx_mldsa.h:179
Polynomial vector of up to MLDSA_MAX_K polynomials.
Polynomial vector of up to MLDSA_MAX_L polynomials.