20 #ifndef MCUXCLECC_TYPES_H_ 21 #define MCUXCLECC_TYPES_H_ 25 #include <mcuxClConfig.h> 28 #include <mcuxClCore_Analysis.h> 60 #define MCUXCLECC_STATUS_OK ((mcuxClEcc_Status_t) 0x55555555u) 61 #define MCUXCLECC_STATUS_INVALID_PARAMS ((mcuxClEcc_Status_t) 0x55551DE2u) 62 #define MCUXCLECC_STATUS_RNG_ERROR ((mcuxClEcc_Status_t) 0x555527D8u) 63 #define MCUXCLECC_STATUS_INVALID_SIGNATURE ((mcuxClEcc_Status_t) 0x555517E8u) 64 #define MCUXCLECC_STATUS_NEUTRAL_POINT ((mcuxClEcc_Status_t) 0x55558778u) 65 #define MCUXCLECC_STATUS_FAULT_ATTACK ((mcuxClEcc_Status_t) 0x5555F00Fu) 66 #define MCUXCLECC_STATUS_NOT_SUPPORTED ((mcuxClEcc_Status_t) 0x55550000u) 73 #define MCUXCLECC_STATUS_ERROR_SMALL_SUBGROUP ((mcuxClEcc_Status_t) 0x55554DB2u) 101 struct mcuxClEcc_EdDSA_GenerateKeyPairDescriptor;
111 struct mcuxClEcc_EdDSA_SignatureProtocolDescriptor;
144 #define mcuxClEcc_DomainParam_misc_Pack(byteLenN, byteLenP) MCUXCLPKC_PACKARGS4(0u, 0u, (uint8_t) byteLenN, (uint8_t) byteLenP) 145 #define mcuxClEcc_DomainParam_misc_byteLenP_offset 0 146 #define mcuxClEcc_DomainParam_misc_byteLenP_mask ((uint32_t) 0x000000FFu) 147 #define mcuxClEcc_DomainParam_misc_byteLenN_offset 8 148 #define mcuxClEcc_DomainParam_misc_byteLenN_mask ((uint32_t) 0x0000FF00u) 156 uint8_t * pPublicKey;
178 #define mcuxClEcc_Sign_Param_optLen_Pack(byteLenHash) ((uint32_t) (byteLenHash) & 0xFFu) 179 #define mcuxClEcc_Sign_Param_optLen_byteLenHash_offset 0 180 #define mcuxClEcc_Sign_Param_optLen_byteLenHash_mask ((uint32_t) 0x000000FFu) 187 const uint8_t * pHash;
190 const uint8_t * pPublicKey;
200 #define mcuxClEcc_Verify_Param_optLen_Pack(byteLenHash) ((uint32_t) (byteLenHash) & 0xFFu) 201 #define mcuxClEcc_Verify_Param_optLen_byteLenHash_offset 0 202 #define mcuxClEcc_Verify_Param_optLen_byteLenHash_mask ((uint32_t) 0x000000FFu) Parameter structure for function #mcuxClEcc_Sign.
Definition: mcuxClEcc_Types.h:164
const uint8_t * pPrivateKey
[in] pointer to octet string of private key, which is of the same format as base point order n.
Definition: mcuxClEcc_Types.h:168
const uint8_t * pSignature
[in] pointer to octet string of signature R and S.
Definition: mcuxClEcc_Types.h:189
struct mcuxClEcc_EdDSA_SignatureProtocolDescriptor mcuxClEcc_EdDSA_SignatureProtocolDescriptor_t
EdDSA SignatureProtocol variant descriptor type.
Definition: mcuxClEcc_Types.h:116
Parameter structure for function #mcuxClEcc_KeyGen.
Definition: mcuxClEcc_Types.h:152
uint8_t * pPrivateKey
[out] pointer to memory area, where the private key will be exported if KeyGen is executed successful...
Definition: mcuxClEcc_Types.h:155
struct mcuxClEcc_MontDH_DomainParams mcuxClEcc_MontDH_DomainParams_t
Type for MontDH domain parameters.
Definition: mcuxClEcc_Types.h:92
uint8_t * pResult
[out] pointer to memory area, where the result R = dQ will be exported if PointMult is executed succe...
Definition: mcuxClEcc_Types.h:210
const uint8_t * pHash
[in] pointer to string of message digest (hash), of which the length is byteLenHash (in optLen).
Definition: mcuxClEcc_Types.h:167
mcuxClEcc_DomainParam_t curveParam
[in] structure of pointers to curve parameters and length of parameters.
Definition: mcuxClEcc_Types.h:207
const uint8_t * pScalar
[in] pointer to octet string of scalar d, which is of the same format as base point order n.
Definition: mcuxClEcc_Types.h:208
Definitions of ECC domain parameter, key and signature sizes.
typedef MCUX_CSSL_FP_PROTECTED_TYPE(mcuxClEcc_Status_t) mcuxClEcc_Status_Protected_t
Deprecated type for mcuxClEcc component return codes.
Definition: mcuxCsslFlowProtection_example.c:137
struct mcuxClEcc_EdDSA_GenerateKeyPairDescriptor mcuxClEcc_EdDSA_GenerateKeyPairDescriptor_t
EdDSA GenerateKeyPair variant descriptor type.
Definition: mcuxClEcc_Types.h:106
const uint8_t * pPoint
[in] pointer to octet string of EC point Q, which is of the same format as base point G.
Definition: mcuxClEcc_Types.h:209
const uint8_t * pP
[in] pointer to octet string of prime modulus p, of which the length is byteLenP.
Definition: mcuxClEcc_Types.h:131
uint32_t mcuxClEcc_Status_t
Type for mcuxClEcc component return codes.
Definition: mcuxClEcc_Types.h:48
mcuxClEcc_DomainParam_t curveParam
[in] structure of pointers to curve parameters and length of parameters.
Definition: mcuxClEcc_Types.h:185
Parameter structure for function #mcuxClEcc_Verify.
Definition: mcuxClEcc_Types.h:183
uint8_t * pOutputR
[out] pointer to memory area in which signature R calculated by verify function will be exported if s...
Definition: mcuxClEcc_Types.h:192
struct mcuxClEcc_Weier_DomainParams mcuxClEcc_Weier_DomainParams_t
Type for Weierstrass ECC domain parameters.
Definition: mcuxClEcc_Types.h:120
struct mcuxClEcc_EdDSA_DomainParams mcuxClEcc_EdDSA_DomainParams_t
Type for EdDSA domain parameters.
Definition: mcuxClEcc_Types.h:96
Provides the API for the CSSL flow protection mechanism.
const uint8_t * pB
[in] pointer to octet string of curve parameter b (< p), of which the length is byteLenP.
Definition: mcuxClEcc_Types.h:130
const uint8_t * pPrecG
[in] pointer to octet string of pre-computed point of base point G, which is of the same format as ba...
Definition: mcuxClEcc_Types.h:186
uint8_t * pSignature
[out] pointer to memory area in which signature R and S will be exported if signature is generated su...
Definition: mcuxClEcc_Types.h:169
mcuxClEcc_DomainParam_t curveParam
[in] structure of pointers to curve parameters and length of parameters.
Definition: mcuxClEcc_Types.h:154
mcuxClEcc_DomainParam_t curveParam
[in] structure of pointers to curve parameters and length of parameters.
Definition: mcuxClEcc_Types.h:166
Parameter structure for function #mcuxClEcc_PointMult.
Definition: mcuxClEcc_Types.h:205
const uint8_t * pA
[in] pointer to octet string of curve parameter a (< p), of which the length is byteLenP.
Definition: mcuxClEcc_Types.h:129
Parameter structure of elliptic curve of the form, y^2 = x^3 + a*x + b modulo prime p.
Definition: mcuxClEcc_Types.h:127