MCUX CLNS
MCUX Crypto Library Normal Secure
 
Loading...
Searching...
No Matches
mcuxClRsa_ModeConstructors.h
1/*--------------------------------------------------------------------------*/
2/* Copyright 2022-2024 NXP */
3/* */
4/* NXP Proprietary. 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 */
10/* license terms, then you may not retain, install, activate or otherwise */
11/* use the software. */
12/*--------------------------------------------------------------------------*/
13
14#ifndef MCUXCLRSA_MODECONSTRUCTORS_H_
15#define MCUXCLRSA_MODECONSTRUCTORS_H_
16
17#include <mcuxClConfig.h> // Exported features flags header
19
20
21#if defined(MCUXCL_FEATURE_CIPHER_RSA_ENCRYPT) || defined(MCUXCL_FEATURE_CIPHER_RSA_DECRYPT)
22#include <mcuxClCipher_Types.h>
23#endif /* defined(MCUXCL_FEATURE_CIPHER_RSA_ENCRYPT) || defined(MCUXCL_FEATURE_CIPHER_RSA_DECRYPT) */
24
25#include <mcuxClKey_Types.h>
26#include <mcuxClHash_Types.h>
27#include <mcuxClBuffer.h>
28
29#ifdef __cplusplus
30extern "C" {
31#endif
32
33/**********************************************************/
34/* Descriptors of mcuxClRsa APIs */
35/**********************************************************/
43#if defined(MCUXCL_FEATURE_CIPHER_RSA_ENCRYPT) || defined(MCUXCL_FEATURE_CIPHER_RSA_DECRYPT)
51#ifdef MCUXCL_FEATURE_RSA_RSAES_OAEP
60MCUX_CSSL_FP_FUNCTION_DECL(mcuxClRsa_CipherModeConstructor_RSAES_OAEP_Encrypt)
61void mcuxClRsa_CipherModeConstructor_RSAES_OAEP_Encrypt(
63 mcuxClHash_Algo_t hashAlgorithm
64);
65
74MCUX_CSSL_FP_FUNCTION_DECL(mcuxClRsa_CipherModeConstructor_RSAES_OAEP_Decrypt)
75void mcuxClRsa_CipherModeConstructor_RSAES_OAEP_Decrypt(
77 mcuxClHash_Algo_t hashAlgorithm
78);
79
80#endif /* MCUXCL_FEATURE_RSA_RSAES_OAEP */
81
82#ifdef MCUXCL_FEATURE_RSA_RSAES_PKCS1v15
90MCUX_CSSL_FP_FUNCTION_DECL(mcuxClRsa_CipherModeConstructor_RSAES_PKCS1_v1_5_Encrypt)
91void mcuxClRsa_CipherModeConstructor_RSAES_PKCS1_v1_5_Encrypt(
93);
94
102MCUX_CSSL_FP_FUNCTION_DECL(mcuxClRsa_CipherModeConstructor_RSAES_PKCS1_v1_5_Decrypt)
103void mcuxClRsa_CipherModeConstructor_RSAES_PKCS1_v1_5_Decrypt(
105);
106
107#endif /* MCUXCL_FEATURE_RSA_RSAES_PKCS1v15 */
108
110#endif /* defined(MCUXCL_FEATURE_CIPHER_RSA_ENCRYPT) || defined(MCUXCL_FEATURE_CIPHER_RSA_DECRYPT) */
111
125MCUX_CSSL_FP_FUNCTION_DECL(mcuxClRsa_Public_KeyType_ModeConstructor)
126MCUX_CSSL_FP_PROTECTED_TYPE(mcuxClRsa_Status_t) mcuxClRsa_Public_KeyType_ModeConstructor(
128 mcuxClKey_Size_t keySize
129);
143MCUX_CSSL_FP_FUNCTION_DECL(mcuxClRsa_PrivatePlain_KeyType_ModeConstructor)
144MCUX_CSSL_FP_PROTECTED_TYPE(mcuxClRsa_Status_t) mcuxClRsa_PrivatePlain_KeyType_ModeConstructor(
146 mcuxClKey_Size_t keySize
147);
161MCUX_CSSL_FP_FUNCTION_DECL(mcuxClRsa_PrivateCRT_KeyType_ModeConstructor)
162MCUX_CSSL_FP_PROTECTED_TYPE(mcuxClRsa_Status_t) mcuxClRsa_PrivateCRT_KeyType_ModeConstructor(
164 mcuxClKey_Size_t keySize
165);
179MCUX_CSSL_FP_FUNCTION_DECL(mcuxClRsa_PrivateCRT_DFA_KeyType_ModeConstructor)
180MCUX_CSSL_FP_PROTECTED_TYPE(mcuxClRsa_Status_t) mcuxClRsa_PrivateCRT_DFA_KeyType_ModeConstructor(
182 mcuxClKey_Size_t keySize
183);
186#ifdef __cplusplus
187} /* extern "C" */
188#endif
189
190#endif /* MCUXCLRSA_MODECONSTRUCTORS_H_ */
Provides the API for the CL buffer types.
Type definitions for the mcuxClCipher component.
Type definitions for the mcuxClHash component.
Type definitions for the mcuxClKey component.
Provides the API for the CSSL flow protection mechanism.
struct mcuxClCipher_ModeDescriptor mcuxClCipher_ModeDescriptor_t
Cipher mode/algorithm descriptor type.
Definition mcuxClCipher_Types.h:54
const mcuxClHash_AlgorithmDescriptor_t *const mcuxClHash_Algo_t
Hash mode/algorithm type.
Definition mcuxClHash_Types.h:50
uint32_t mcuxClKey_Size_t
Type for algorithm based key size.
Definition mcuxClKey_Types.h:57
struct mcuxClKey_TypeDescriptor mcuxClKey_TypeDescriptor_t
Key type descriptor type.
Definition mcuxClKey_Types.h:104
uint32_t mcuxClRsa_Status_t
Type for RSA status codes.
Definition mcuxClRsa_Types.h:116
#define MCUX_CSSL_FP_FUNCTION_DECL(...)
Declaration of a flow protected function.
Definition mcuxCsslFlowProtection.h:125
#define MCUX_CSSL_FP_PROTECTED_TYPE(resultType)
Based on a given base type, builds a return type with flow protection.
Definition mcuxCsslFlowProtection.h:81