MCUX CLNS
MCUX Crypto Library Normal Secure
Loading...
Searching...
No Matches
mcuxClEcc_Functions.h
Go to the documentation of this file.
1/*--------------------------------------------------------------------------*/
2/* Copyright 2020-2024 NXP */
3/* */
4/* NXP Confidential and Proprietary. This software is owned or controlled */
5/* by NXP and may only be used strictly in accordance with the applicable */
6/* license terms. By expressly accepting such terms or by downloading, */
7/* installing, activating and/or otherwise using the software, you are */
8/* agreeing that you have read, and that you agree to comply with and are */
9/* bound by, such license terms. If you do not agree to be bound by the */
10/* applicable license terms, then you may not retain, install, activate or */
11/* otherwise use the software. */
12/*--------------------------------------------------------------------------*/
13
18
19
20#ifndef MCUXCLECC_FUNCTIONS_H_
21#define MCUXCLECC_FUNCTIONS_H_
22
23
24#include <mcuxClCore_Platform.h>
25#include <mcuxClSession.h>
26#include <mcuxClBuffer.h>
29#include <mcuxClSignature.h>
30#include <mcuxCsslAnalysis.h>
31
32#include <mcuxClEcc_Types.h>
33
34#include <mcuxClKey.h>
35
36
37#ifdef __cplusplus
38extern "C" {
39#endif
40
41/**********************************************************/
42/* Public APIs of mcuxClEcc */
43/**********************************************************/
50
68 const uint8_t *pPrivKey
69 );
70
88 const mcuxClEcc_EdDSA_DomainParams_t *pDomainParams,
90 uint32_t phflag,
91 mcuxCl_InputBuffer_t pContext,
92 uint32_t contextLen);
93
94
95
96
123 mcuxClSession_Handle_t pSession,
124 mcuxClEcc_Weier_DomainParams_t *pEccWeierDomainParams,
125 mcuxClEcc_Weier_BasicDomainParams_t *pEccWeierBasicDomainParams,
126 uint32_t options
127 );
128
159 mcuxClKey_CustomType_t customType,
161 mcuxClKey_Size_t size,
162 void *pCustomParams,
163 mcuxClKey_Encoding_t plainEncoding
164 );
165
166
196 mcuxClSession_Handle_t pSession,
197 mcuxCl_InputBuffer_t pEncodedPoint,
198 mcuxCl_Buffer_t pDecodedPoint,
200 mcuxClEcc_Weier_DomainParams_t *pEccWeierDomainParams
201 );
202
203 /* mcuxClEcc_Functions */
207
208
209#ifdef __cplusplus
210} /* extern "C" */
211#endif
212
213#endif /* MCUXCLECC_FUNCTIONS_H_ */
Top-level include file for the mcuxClBuffer component.
Definition of function identifiers for the flow protection mechanism.
Type definitions and descriptors of mcuxClEcc component.
Top-level include file for the mcuxClKey component.
Top-level include file for the mcuxClSession component.
Top-level include file for the mcuxClSignature component.
Provides the API for the CSSL flow protection mechanism.
const uint8_t * mcuxCl_InputBuffer_t
Input buffer type.
Definition mcuxClBuffer_Pointer.h:38
uint8_t * mcuxCl_Buffer_t
Input/output buffer type.
Definition mcuxClBuffer_Pointer.h:47
mcuxClEcc_Status_t mcuxClEcc_WeierECC_GenerateDomainParams(mcuxClSession_Handle_t pSession, mcuxClEcc_Weier_DomainParams_t *pEccWeierDomainParams, mcuxClEcc_Weier_BasicDomainParams_t *pEccWeierBasicDomainParams, uint32_t options)
ECC Weierstrass custom domain parameter generation function.
mcuxClEcc_Status_t mcuxClEcc_EdDSA_GenerateSignatureModeDescriptor(mcuxClSession_Handle_t pSession, const mcuxClEcc_EdDSA_DomainParams_t *pDomainParams, mcuxClSignature_ModeDescriptor_t *pSignatureMode, uint32_t phflag, mcuxCl_InputBuffer_t pContext, uint32_t contextLen)
This function implements the signature mode descriptor generation for Ed25519ctx, Ed25519ph,...
mcuxClEcc_Status_t mcuxClEcc_EdDSA_InitPrivKeyInputMode(mcuxClSession_Handle_t pSession, mcuxClKey_GenerationDescriptor_t *generationMode, const uint8_t *pPrivKey)
This function initializes an EdDSA mode descriptor for EdDSA key pair generation with private key inp...
mcuxClEcc_Status_t mcuxClEcc_WeierECC_DecodePoint(mcuxClSession_Handle_t pSession, mcuxCl_InputBuffer_t pEncodedPoint, mcuxCl_Buffer_t pDecodedPoint, mcuxClEcc_WeierECC_PointEncType_t pointEncType, mcuxClEcc_Weier_DomainParams_t *pEccWeierDomainParams)
Point decoding function.
mcuxClEcc_Status_t mcuxClEcc_WeierECC_GenerateCustomKeyType(mcuxClKey_CustomType_t customType, mcuxClKey_AlgorithmId_t algoId, mcuxClKey_Size_t size, void *pCustomParams, mcuxClKey_Encoding_t plainEncoding)
Key type constructor.
struct mcuxClEcc_EdDSA_DomainParams mcuxClEcc_EdDSA_DomainParams_t
Type for EdDSA domain parameters.
Definition mcuxClEcc_Types.h:59
const mcuxClEcc_WeierECC_PointEncDescriptor_t * mcuxClEcc_WeierECC_PointEncType_t
Weierstrass point encoding variant type.
Definition mcuxClEcc_Types.h:98
uint32_t mcuxClEcc_Status_t
Type for mcuxClEcc component return codes.
Definition mcuxClEcc_Types.h:46
struct mcuxClEcc_Weier_DomainParams mcuxClEcc_Weier_DomainParams_t
Type for Weierstrass ECC domain parameters.
Definition mcuxClEcc_Types.h:83
const mcuxClKey_EncodingDescriptor_t * mcuxClKey_Encoding_t
Key encoding mechanism type.
Definition mcuxClKey_Types.h:144
mcuxClKey_TypeDescriptor_t * mcuxClKey_CustomType_t
Custom key type handle type.
Definition mcuxClKey_Types.h:121
uint32_t mcuxClKey_Size_t
Type for algorithm based key size.
Definition mcuxClKey_Types.h:55
struct mcuxClKey_GenerationDescriptor mcuxClKey_GenerationDescriptor_t
Key generation descriptor type.
Definition mcuxClKey_Types.h:194
uint32_t mcuxClKey_AlgorithmId_t
Type for algorithm based key id.
Definition mcuxClKey_Types.h:50
mcuxClSession_Descriptor_t *const mcuxClSession_Handle_t
Type for mcuxClSession Handle.
Definition mcuxClSession_Types.h:98
struct mcuxClSignature_ModeDescriptor mcuxClSignature_ModeDescriptor_t
Signature mode/algorithm descriptor type.
Definition mcuxClSignature_Types.h:45
#define MCUX_CSSL_FP_FUNCTION_DECL(...)
Declaration of a flow protected function.
Definition mcuxCsslFlowProtection.h:166
#define MCUX_CSSL_FP_PROTECTED_TYPE(resultType)
Based on a given base type, builds a return type with flow protection.
Definition mcuxCsslFlowProtection.h:138
Structure to define basic custom domain parameters for (short) Weierstrass curves with cofactor 1.
Definition mcuxClEcc_Types.h:116