MCUX CLNS
MCUX Crypto Library Normal Secure
mcuxClRsa_Functions.h
Go to the documentation of this file.
1 /*--------------------------------------------------------------------------*/
2 /* Copyright 2020-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 #ifndef MCUXCLRSA_FUNCTIONS_H_
20 #define MCUXCLRSA_FUNCTIONS_H_
21 
22 #include <mcuxClConfig.h> // Exported features flags header
23 #include <mcuxClSession.h>
24 #include <mcuxCsslFlowProtection.h>
26 #include <mcuxClKey.h>
27 #include <mcuxClRsa_Types.h>
28 #include <mcuxClCore_Buffer.h>
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
118 MCUX_CSSL_FP_FUNCTION_DECL(mcuxClRsa_sign)
120  mcuxClSession_Handle_t pSession,
121  const mcuxClRsa_Key * const pKey,
122  mcuxCl_InputBuffer_t pMessageOrDigest,
123  const uint32_t messageLength,
124  const mcuxClRsa_SignVerifyMode pPaddingMode,
125  const uint32_t saltLength,
126  const uint32_t options,
127  mcuxCl_Buffer_t pSignature
128 );
129 
201 MCUX_CSSL_FP_FUNCTION_DECL(mcuxClRsa_verify)
203  mcuxClSession_Handle_t pSession,
204  const mcuxClRsa_Key * const pKey,
205  mcuxCl_InputBuffer_t pMessageOrDigest,
206  const uint32_t messageLength,
207  mcuxCl_Buffer_t pSignature,
208  const mcuxClRsa_SignVerifyMode pVerifyMode,
209  const uint32_t saltLength,
210  const uint32_t options,
212 );
213 
214 
215 
281 MCUX_CSSL_FP_FUNCTION_DECL(mcuxClRsa_KeyGeneration_Crt)
282 MCUX_CSSL_FP_PROTECTED_TYPE(mcuxClRsa_Status_t) mcuxClRsa_KeyGeneration_Crt(
283  mcuxClSession_Handle_t pSession,
284  mcuxClKey_Type_t type,
285  mcuxClKey_Protection_t protection,
286  mcuxClKey_Handle_t privKey,
287  uint8_t * pPrivData,
288  uint32_t * const pPrivDataLength,
289  mcuxClKey_Handle_t pubKey,
290  uint8_t * pPubData,
291  uint32_t * const pPubDataLength
292  );
293 
294 
360 MCUX_CSSL_FP_FUNCTION_DECL(mcuxClRsa_KeyGeneration_Plain)
361 MCUX_CSSL_FP_PROTECTED_TYPE(mcuxClRsa_Status_t) mcuxClRsa_KeyGeneration_Plain(
362  mcuxClSession_Handle_t pSession,
363  mcuxClKey_Type_t type,
364  mcuxClKey_Protection_t protection,
365  mcuxClKey_Handle_t privKey,
366  uint8_t * pPrivData,
367  uint32_t * const pPrivDataLength,
368  mcuxClKey_Handle_t pubKey,
369  uint8_t * pPubData,
370  uint32_t * const pPubDataLength
371  );
372 
373  /* mcuxClRsa_Functions */
377 
378 #ifdef __cplusplus
379 } /* extern "C" */
380 #endif
381 
382 #endif /* MCUXCLRSA_FUNCTIONS_H_ */
383 
Structure type for Rsa key, specifying key type and key entries.
Definition: mcuxClRsa_Types.h:143
mcuxClSession_Descriptor_t *const mcuxClSession_Handle_t
Type for mcuxClSession Handle.
Definition: mcuxClSession_Types.h:124
const mcuxClKey_ProtectionDescriptor_t * mcuxClKey_Protection_t
Key protection mechanism type.
Definition: mcuxClKey_Types.h:140
mcuxClKey_Descriptor_t *const mcuxClKey_Handle_t
Key handle type.
Definition: mcuxClKey_Types.h:87
#define MCUX_CSSL_FP_FUNCTION_DECL(...)
Declaration of a flow protected function.
Definition: mcuxCsslFlowProtection.h:125
uint8_t *const mcuxCl_Buffer_t
Generic buffer typeThis type provides a pointer to the memory location that can be used for both read...
Definition: mcuxClCore_Buffer.h:51
MCUXCLELS_API mcuxClEls_KeyIndex_t uint8_t * pOutput
< [out] The memory address of the exported key
Definition: mcuxClEls_KeyManagement.h:295
Top-level include file for the mcuxClKey component.
Type definitions for the mcuxClRsa component.
Definition of function identifiers for the flow protection mechanism.
uint32_t mcuxClRsa_Status_t
Type for RSA status codes.
Definition: mcuxClRsa_Types.h:115
const uint8_t *const mcuxCl_InputBuffer_t
Input buffer typeThis type provides a pointer to the memory location that should be used to read inpu...
Definition: mcuxClCore_Buffer.h:42
const mcuxClKey_TypeDescriptor_t * mcuxClKey_Type_t
Key type handle type.
Definition: mcuxClKey_Types.h:110
mcuxClRsa_SignVerifyMode_t * mcuxClRsa_SignVerifyMode
Pointer type to Sign/Verify mode.
Definition: mcuxClRsa_Types.h:184
MCUX_CSSL_FP_PROTECTED_TYPE(mcuxClRsa_Status_t) mcuxClRsa_sign(mcuxClSession_Handle_t pSession
RSA sign operation.
Definition: mcuxCsslFlowProtection_example.c:137
Top-level include file for the mcuxClSession component.
Provides the API for the CSSL flow protection mechanism.