MCUX CLNS
MCUX Crypto Library Normal Secure
mcuxClEcc_Constants.h
Go to the documentation of this file.
1 /*--------------------------------------------------------------------------*/
2 /* Copyright 2021-2023 NXP */
3 /* */
4 /* NXP Confidential. This software is owned or controlled by NXP and may */
5 /* only be used strictly in accordance with the applicable license terms. */
6 /* By expressly accepting such terms or by downloading, installing, */
7 /* activating and/or otherwise using the software, you are agreeing that */
8 /* you have read, and that you agree to comply with and are bound by, such */
9 /* license terms. If you do not agree to be bound by the applicable license */
10 /* terms, then you may not retain, install, activate or otherwise use the */
11 /* software. */
12 /*--------------------------------------------------------------------------*/
13 
19 /* TODO: domain parameters are not verified, and will be verified in CLNS-5817 */
20 
21 #ifndef MCUXCLECC_CONSTANTS_H_
22 #define MCUXCLECC_CONSTANTS_H_
23 
24 #include <mcuxClConfig.h> // Exported features flags header
25 #include <mcuxClEcc_Types.h>
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
39 /* Curve25519 domain parameters */
40 extern const mcuxClEcc_MontDH_DomainParams_t mcuxClEcc_MontDH_DomainParams_Curve25519;
41 
42 /* Curve448 domain parameters */
43 extern const mcuxClEcc_MontDH_DomainParams_t mcuxClEcc_MontDH_DomainParams_Curve448;
44 
45 /* secp160k1 domain parameters */
46 extern const mcuxClEcc_Weier_DomainParams_t mcuxClEcc_Weier_DomainParams_secp160k1;
47 
48 /* secp192k1 domain parameters */
49 extern const mcuxClEcc_Weier_DomainParams_t mcuxClEcc_Weier_DomainParams_secp192k1;
50 
51 /* sec224k1 domain parameters */
52 extern const mcuxClEcc_Weier_DomainParams_t mcuxClEcc_Weier_DomainParams_secp224k1;
53 
54 /* secp256k1 domain parameters */
55 extern const mcuxClEcc_Weier_DomainParams_t mcuxClEcc_Weier_DomainParams_secp256k1;
56 
57 /* secp192r1 (nistp192r1, ansix9p192r1) domain parameters */
58 extern const mcuxClEcc_Weier_DomainParams_t mcuxClEcc_Weier_DomainParams_secp192r1;
59 #define mcuxClEcc_Weier_DomainParams_NIST_P192 mcuxClEcc_Weier_DomainParams_secp192r1
60 #define mcuxClEcc_Weier_DomainParams_ansix9p192r1 mcuxClEcc_Weier_DomainParams_secp192r1
61 
62 /* secp224r1 (nistp224r1, ansix9p224r1) domain parameters */
63 extern const mcuxClEcc_Weier_DomainParams_t mcuxClEcc_Weier_DomainParams_secp224r1;
64 #define mcuxClEcc_Weier_DomainParams_NIST_P224 mcuxClEcc_Weier_DomainParams_secp224r1
65 #define mcuxClEcc_Weier_DomainParams_ansix9p224r1 mcuxClEcc_Weier_DomainParams_secp224r1
66 
67 /* secp256r1 (nistp256r1, ansix9p256r1) domain parameters */
68 extern const mcuxClEcc_Weier_DomainParams_t mcuxClEcc_Weier_DomainParams_secp256r1;
69 #define mcuxClEcc_Weier_DomainParams_NIST_P256 mcuxClEcc_Weier_DomainParams_secp256r1
70 #define mcuxClEcc_Weier_DomainParams_ansix9p256r1 mcuxClEcc_Weier_DomainParams_secp256r1
71 
72 /* secp384r1 (nistp384r1, ansix9p384r1) domain parameters */
73 extern const mcuxClEcc_Weier_DomainParams_t mcuxClEcc_Weier_DomainParams_secp384r1;
74 #define mcuxClEcc_Weier_DomainParams_NIST_P384 mcuxClEcc_Weier_DomainParams_secp384r1
75 #define mcuxClEcc_Weier_DomainParams_ansix9p384r1 mcuxClEcc_Weier_DomainParams_secp384r1
76 
77 /* secp521r1 (nistp521r1, ansix9p521r1) domain parameters */
78 extern const mcuxClEcc_Weier_DomainParams_t mcuxClEcc_Weier_DomainParams_secp521r1;
79 #define mcuxClEcc_Weier_DomainParams_NIST_P521 mcuxClEcc_Weier_DomainParams_secp521r1
80 #define mcuxClEcc_Weier_DomainParams_ansix9p521r1 mcuxClEcc_Weier_DomainParams_secp521r1
81 
82 /* brainpoolP160r1 domain parameters */
83 extern const mcuxClEcc_Weier_DomainParams_t mcuxClEcc_Weier_DomainParams_brainpoolP160r1;
84 
85 /* brainpoolP192r1 domain parameters */
86 extern const mcuxClEcc_Weier_DomainParams_t mcuxClEcc_Weier_DomainParams_brainpoolP192r1;
87 
88 /* brainpoolP224r1 domain parameters */
89 extern const mcuxClEcc_Weier_DomainParams_t mcuxClEcc_Weier_DomainParams_brainpoolP224r1;
90 
91 /* brainpoolP256r1 domain parameters */
92 extern const mcuxClEcc_Weier_DomainParams_t mcuxClEcc_Weier_DomainParams_brainpoolP256r1;
93 
94 /* brainpoolP320r1 domain parameters */
95 extern const mcuxClEcc_Weier_DomainParams_t mcuxClEcc_Weier_DomainParams_brainpoolP320r1;
96 
97 /* brainpoolP384r1 domain parameters */
98 extern const mcuxClEcc_Weier_DomainParams_t mcuxClEcc_Weier_DomainParams_brainpoolP384r1;
99 
100 /* brainpoolP512r1 domain parameters */
101 extern const mcuxClEcc_Weier_DomainParams_t mcuxClEcc_Weier_DomainParams_brainpoolP512r1;
102 
103 /* brainpoolP160t1 domain parameters */
104 extern const mcuxClEcc_Weier_DomainParams_t mcuxClEcc_Weier_DomainParams_brainpoolP160t1;
105 
106 /* brainpoolP192t1 domain parameters */
107 extern const mcuxClEcc_Weier_DomainParams_t mcuxClEcc_Weier_DomainParams_brainpoolP192t1;
108 
109 /* brainpoolP224t1 domain parameters */
110 extern const mcuxClEcc_Weier_DomainParams_t mcuxClEcc_Weier_DomainParams_brainpoolP224t1;
111 
112 /* brainpoolP256t1 domain parameters */
113 extern const mcuxClEcc_Weier_DomainParams_t mcuxClEcc_Weier_DomainParams_brainpoolP256t1;
114 
115 /* brainpoolP320t1 domain parameters */
116 extern const mcuxClEcc_Weier_DomainParams_t mcuxClEcc_Weier_DomainParams_brainpoolP320t1;
117 
118 /* brainpoolP384t1 domain parameters */
119 extern const mcuxClEcc_Weier_DomainParams_t mcuxClEcc_Weier_DomainParams_brainpoolP384t1;
120 
121 /* brainpoolP512t1 domain parameters */
122 extern const mcuxClEcc_Weier_DomainParams_t mcuxClEcc_Weier_DomainParams_brainpoolP512t1;
123 
124 
125 /* Ed25519 domain parameters */
126 extern const mcuxClEcc_EdDSA_DomainParams_t mcuxClEcc_EdDSA_DomainParams_Ed25519;
127 
128 /* Ed448 domain parameters */
129 extern const mcuxClEcc_EdDSA_DomainParams_t mcuxClEcc_EdDSA_DomainParams_Ed448;
130 
131 /* phflag values for EdDSA */
132 #define MCUXCLECC_EDDSA_PHFLAG_ZERO 0u
133 #define MCUXCLECC_EDDSA_PHFLAG_ONE 1u
134  /* mcuxClEcc_Constants */
138 
139 #ifdef __cplusplus
140 } /* extern "C" */
141 #endif
142 
143 #endif /* MCUXCLECC_CONSTANTS_H_ */
struct mcuxClEcc_Weier_DomainParams mcuxClEcc_Weier_DomainParams_t
Type for Weierstrass ECC domain parameters.
Definition: mcuxClEcc_Types.h:120
struct mcuxClEcc_MontDH_DomainParams mcuxClEcc_MontDH_DomainParams_t
Type for MontDH domain parameters.
Definition: mcuxClEcc_Types.h:92
struct mcuxClEcc_EdDSA_DomainParams mcuxClEcc_EdDSA_DomainParams_t
Type for EdDSA domain parameters.
Definition: mcuxClEcc_Types.h:96
Type definitions of mcuxClEcc component.