Embedded SDK
Embedded SDK
Loading...
Searching...
No Matches
cx_mldsa_internal.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#ifndef CX_MLDSA_INTERNAL_H
17#define CX_MLDSA_INTERNAL_H
18
19#include "lcx_mldsa.h"
20
28
29cx_err_t MLDSA_internal_sign_core(uint8_t *sig,
30 size_t sig_len,
31 size_t *sig_actual_len,
32 const MLDSA_formatted_message_t *formatted_mprime,
33 const uint8_t *precomputed_mu,
34 uint8_t *rnd,
35 size_t rnd_len,
36 const uint8_t *sk,
37 size_t sk_len,
38 MLDSA_param_t param);
39
40cx_err_t MLDSA_internal_verify_core(const uint8_t *sig,
41 size_t sig_len,
42 const MLDSA_formatted_message_t *formatted_mprime,
43 const uint8_t *precomputed_mu,
44 const uint8_t *pk,
45 size_t pk_len,
46 MLDSA_param_t param);
47
60cx_err_t MLDSA_internal_keygen(uint8_t *pk,
61 size_t pk_len,
62 uint8_t *sk,
63 size_t sk_len,
64 const uint8_t seed[MLDSA_SEEDBYTES],
65 MLDSA_param_t param);
66
86cx_err_t MLDSA_internal_sign(uint8_t *sig,
87 size_t sig_len,
88 size_t *sig_actual_len,
89 const uint8_t *mu,
90 uint8_t *rnd,
91 size_t rnd_len,
92 const uint8_t *sk,
93 size_t sk_len,
94 MLDSA_param_t param);
95
112cx_err_t MLDSA_internal_verify(const uint8_t *sig,
113 size_t sig_len,
114 const uint8_t *mu,
115 const uint8_t *pk,
116 size_t pk_len,
117 MLDSA_param_t param);
118
119#endif /* CX_MLDSA_INTERNAL_H */
cx_err_t MLDSA_internal_verify(const uint8_t *sig, size_t sig_len, const uint8_t *mu, const uint8_t *pk, size_t pk_len, MLDSA_param_t param)
Internal ML-DSA signature verification (FIPS 204, Algorithms 3 & 8).
cx_err_t MLDSA_internal_keygen(uint8_t *pk, size_t pk_len, uint8_t *sk, size_t sk_len, const uint8_t seed[MLDSA_SEEDBYTES], MLDSA_param_t param)
Generates an ML-DSA key pair from a seed (deterministic).
cx_err_t MLDSA_internal_sign(uint8_t *sig, size_t sig_len, size_t *sig_actual_len, const uint8_t *mu, uint8_t *rnd, size_t rnd_len, const uint8_t *sk, size_t sk_len, MLDSA_param_t param)
Internal ML-DSA signature generation (FIPS 204, Algorithms 2 & 7).
cx_err_t MLDSA_internal_verify_core(const uint8_t *sig, size_t sig_len, const MLDSA_formatted_message_t *formatted_mprime, const uint8_t *precomputed_mu, const uint8_t *pk, size_t pk_len, MLDSA_param_t param)
Core ML-DSA verification routine (FIPS 204, Algorithms 3 & 8).
Definition cx_mldsa.c:594
struct MLDSA_formatted_message_s MLDSA_formatted_message_t
cx_err_t MLDSA_internal_sign_core(uint8_t *sig, size_t sig_len, size_t *sig_actual_len, const MLDSA_formatted_message_t *formatted_mprime, const uint8_t *precomputed_mu, uint8_t *rnd, size_t rnd_len, const uint8_t *sk, size_t sk_len, MLDSA_param_t param)
Core ML-DSA signing routine (FIPS 204, Algorithms 2 & 7).
Definition cx_mldsa.c:316
#define MLDSA_SEEDBYTES
Definition lcx_mldsa.h:40
#define MLDSA_PREHASH_OID_LEN
Definition lcx_mldsa.h:275
ML-DSA (Module-Lattice Digital Signature Algorithm) public API.
enum MLDSA_param_e MLDSA_param_t
ML-DSA parameter set selector.
uint8_t prefix[2U+255U+MLDSA_PREHASH_OID_LEN]