Example for the mcuxCRsa component realize RSA OAEP encrypt/decrypt operation using mcuxClCipher_crypt.
Example for the mcuxCRsa component realize RSA OAEP encrypt/decrypt operation using mcuxClCipher_crypt. Example for the mcuxCRsa component realize encrypt/decrypt operation using mcuxClCipher_crypt for:
#include <mcuxClCore_Examples.h>
#include <mcuxClExample_Session_Helper.h>
#include <mcuxClExample_ELS_Helper.h>
#define RSA_KEY_BIT_LENGTH (MCUXCLKEY_SIZE_2048)
#define RSA_KEY_BYTE_LENGTH (RSA_KEY_BIT_LENGTH / 8u)
#define RSA_PUBLIC_EXP_BYTE_LENGTH (3u)
#define INPUT_MESSAGE_LENGTH (64u)
0xBEu, 0xD8u, 0xFFu, 0x2Du, 0xBCu, 0xE9u, 0x6Eu, 0xCBu, 0x7Cu, 0xB6u, 0x86u, 0x86u, 0x6Du, 0x01u, 0x98u, 0x41u,
0x49u, 0x38u, 0x06u, 0xCAu, 0x50u, 0x8Fu, 0x5Cu, 0xF0u, 0x3Au, 0x02u, 0x90u, 0x90u, 0x5Bu, 0xC5u, 0x1Au, 0xCCu,
0xE6u, 0x69u, 0x17u, 0xF2u, 0x53u, 0x58u, 0xC0u, 0x94u, 0x93u, 0xEAu, 0x57u, 0x2Bu, 0xC1u, 0x09u, 0x69u, 0x46u,
0x81u, 0xD3u, 0x15u, 0x4Cu, 0xD5u, 0x23u, 0xBEu, 0x32u, 0x06u, 0xB6u, 0xD0u, 0xEAu, 0x30u, 0xD3u, 0xDDu, 0x65u,
0x9Bu, 0xE8u, 0xACu, 0xC7u, 0x0Bu, 0x4Cu, 0xA5u, 0x14u, 0xE9u, 0x01u, 0x9Eu, 0x4Eu, 0xEEu, 0x2Fu, 0x57u, 0x8Au,
0x64u, 0x71u, 0x59u, 0xC9u, 0x4Cu, 0x11u, 0xE2u, 0xE0u, 0xECu, 0xC9u, 0x96u, 0x75u, 0xF4u, 0x92u, 0xDFu, 0x1Eu,
0x84u, 0x78u, 0xBDu, 0xC4u, 0x3Cu, 0xC1u, 0x03u, 0x8Du, 0x3Cu, 0x4Eu, 0x70u, 0x25u, 0x22u, 0x0Au, 0x15u, 0x0Au,
0xFFu, 0x9Eu, 0x2Bu, 0x45u, 0x0Cu, 0x72u, 0x11u, 0x0Au, 0xE5u, 0x4Bu, 0x3Cu, 0xCBu, 0x8Au, 0x80u, 0x3Cu, 0x41u,
0x42u, 0xFEu, 0x78u, 0x34u, 0xF0u, 0x1Au, 0x55u, 0x37u, 0x1Bu, 0x7Du, 0x3Au, 0xEEu, 0x38u, 0x25u, 0x58u, 0x52u,
0x27u, 0x75u, 0x9Eu, 0x59u, 0x41u, 0xFAu, 0x43u, 0x11u, 0x92u, 0xB9u, 0x70u, 0x17u, 0x1Du, 0x4Bu, 0x11u, 0xDAu,
0xE0u, 0xF5u, 0xB7u, 0x77u, 0x48u, 0x93u, 0x4Eu, 0x3Bu, 0x68u, 0x60u, 0x08u, 0x86u, 0x57u, 0xD6u, 0x61u, 0xBFu,
0x4Au, 0x31u, 0x41u, 0xFAu, 0x11u, 0xFBu, 0x3Au, 0x90u, 0x3Au, 0x22u, 0xB8u, 0xE0u, 0x38u, 0x27u, 0xB9u, 0x25u,
0x8Du, 0x0Eu, 0xDEu, 0x8Au, 0xDCu, 0x65u, 0x04u, 0x7Bu, 0xDFu, 0x4Au, 0xA0u, 0x5Fu, 0x78u, 0x8Fu, 0x7Eu, 0xC5u,
0x66u, 0xFFu, 0x85u, 0x33u, 0x73u, 0x06u, 0x23u, 0x24u, 0x39u, 0x1Fu, 0x66u, 0x26u, 0x18u, 0x16u, 0x53u, 0x30u,
0x2Eu, 0x24u, 0xC4u, 0x92u, 0x39u, 0x13u, 0x14u, 0x98u, 0x53u, 0x84u, 0xEAu, 0x99u, 0xDCu, 0x40u, 0x57u, 0x30u,
0xC4u, 0x2Fu, 0xE7u, 0x89u, 0xB6u, 0x69u, 0x5Du, 0x60u, 0x0Fu, 0x4Bu, 0x1Du, 0x66u, 0x54u, 0x22u, 0x8Du, 0xB1u
};
0xC1u, 0x26u, 0x5Cu, 0x6Bu, 0xD6u, 0x5Cu, 0x5Du, 0x57u, 0xBFu, 0xA9u, 0x60u, 0x2Eu, 0xCAu, 0x66u, 0x30u, 0x46u,
0xD8u, 0x2Au, 0x16u, 0x1Eu, 0xEAu, 0xB3u, 0xD7u, 0xF2u, 0x15u, 0xABu, 0x39u, 0xD4u, 0x9Bu, 0xFCu, 0x4Au, 0xB3u,
0x67u, 0x8Au, 0xC0u, 0x17u, 0xE7u, 0x43u, 0x6Bu, 0x3Du, 0xF1u, 0xB3u, 0xA3u, 0x31u, 0x13u, 0x21u, 0x3Bu, 0x98u,
0x53u, 0x14u, 0x73u, 0x7Du, 0x10u, 0xEBu, 0x72u, 0x3Eu, 0x2Eu, 0x08u, 0xC8u, 0xC9u, 0x57u, 0xC7u, 0x45u, 0xDFu,
0x5Du, 0xD5u, 0x6Eu, 0xF4u, 0xABu, 0x99u, 0x66u, 0x8Cu, 0x5Fu, 0x48u, 0xF0u, 0xD4u, 0x95u, 0xF2u, 0xEBu, 0xCBu,
0x73u, 0x7Fu, 0x70u, 0x69u, 0x6Eu, 0x81u, 0x5Du, 0x86u, 0xACu, 0xFBu, 0xBDu, 0x02u, 0x97u, 0x5Bu, 0xD3u, 0xEBu,
0x3Au, 0x4Du, 0xBCu, 0x51u, 0xF5u, 0xA9u, 0x9Bu, 0xC0u, 0xB4u, 0xFCu, 0x6Cu, 0xF9u, 0xE2u, 0xC6u, 0xCAu, 0x5Au,
0x42u, 0x6Bu, 0x82u, 0x10u, 0xD8u, 0x47u, 0x8Cu, 0xFCu, 0x9Eu, 0x4Bu, 0x11u, 0x8Au, 0xF3u, 0xE1u, 0x4Eu, 0x23u
};
0xFCu, 0xF2u, 0xDBu, 0xEFu, 0x1Au, 0x9Eu, 0x4Eu, 0xD5u, 0x74u, 0x1Du, 0xF0u, 0x08u, 0x58u, 0xD4u, 0xEBu, 0xDEu,
0x88u, 0x45u, 0xADu, 0xC0u, 0xD3u, 0xA6u, 0xA2u, 0x36u, 0x93u, 0xE7u, 0x3Bu, 0x68u, 0x51u, 0x18u, 0x63u, 0x16u,
0x79u, 0x8Du, 0x4Fu, 0x08u, 0x2Eu, 0xE1u, 0x7Eu, 0xDCu, 0x6Fu, 0x41u, 0x53u, 0x64u, 0xF1u, 0xE0u, 0x3Au, 0xDFu,
0xD4u, 0x7Du, 0x98u, 0xF8u, 0x93u, 0x23u, 0xEEu, 0x52u, 0xC4u, 0x2Eu, 0x31u, 0x50u, 0xFAu, 0x68u, 0x73u, 0xA0u,
0x93u, 0xAFu, 0xCFu, 0xA4u, 0x21u, 0xAEu, 0x43u, 0x0Au, 0x3Fu, 0x97u, 0xCAu, 0x58u, 0x61u, 0x60u, 0xB7u, 0xE5u,
0x78u, 0x35u, 0xD8u, 0xACu, 0x6Fu, 0x11u, 0xBEu, 0x96u, 0xEBu, 0xA9u, 0xA9u, 0x0Cu, 0x5Au, 0xE4u, 0x63u, 0x48u,
0xBDu, 0x00u, 0x26u, 0xEBu, 0xD7u, 0xDEu, 0x6Au, 0xBDu, 0x0Bu, 0xB8u, 0xA3u, 0x8Au, 0x34u, 0x12u, 0x88u, 0xC9u,
0x84u, 0x4Du, 0xD3u, 0xA9u, 0x0Au, 0x5Eu, 0xEDu, 0xA9u, 0x2Fu, 0x1Eu, 0x2Bu, 0x09u, 0x2Du, 0x10u, 0x70u, 0x1Bu
};
0x82u, 0xABu, 0x62u, 0x21u, 0x2Eu, 0x5Fu, 0x44u, 0x62u, 0xE5u, 0xEEu, 0x3Fu, 0x7Cu, 0xC8u, 0x3Fu, 0x03u, 0xF0u,
0x19u, 0xB3u, 0xB7u, 0x4Du, 0x69u, 0x39u, 0x0Cu, 0x21u, 0xE1u, 0xD8u, 0xFAu, 0x01u, 0xC5u, 0x19u, 0x94u, 0xABu,
0xF4u, 0xA3u, 0xA0u, 0xBBu, 0x4Bu, 0x20u, 0x88u, 0x3Fu, 0xDAu, 0xF1u, 0xCDu, 0xB8u, 0x98u, 0x99u, 0x86u, 0x08u,
0xD2u, 0x43u, 0xE6u, 0xB1u, 0xB8u, 0xADu, 0xA0u, 0x97u, 0x42u, 0x6Bu, 0x7Cu, 0xF3u, 0x01u, 0xE8u, 0x75u, 0x73u,
0xDCu, 0xB6u, 0x55u, 0x1Fu, 0x3Fu, 0xACu, 0x42u, 0xFDu, 0x3Au, 0x45u, 0x4Du, 0x70u, 0x74u, 0x95u, 0x68u, 0x42u,
0x36u, 0xBCu, 0x03u, 0x9Fu, 0xC0u, 0x3Bu, 0xD2u, 0xBBu, 0x16u, 0xF2u, 0x23u, 0xF7u, 0xC9u, 0xD0u, 0x3Cu, 0xF9u,
0x49u, 0x73u, 0x67u, 0xB1u, 0x07u, 0x02u, 0x9Cu, 0xB5u, 0x6Du, 0x7Bu, 0xCCu, 0x79u, 0xEDu, 0x9Au, 0xD1u, 0x30u,
0xE8u, 0xF8u, 0x74u, 0x80u, 0xD2u, 0xE0u, 0xEDu, 0x17u, 0xC6u, 0x3Bu, 0x40u, 0xFEu, 0x01u, 0x69u, 0xEEu, 0x83u
};
0xB0u, 0xBEu, 0x7Du, 0xA1u, 0x10u, 0x07u, 0x67u, 0xECu, 0x4Cu, 0x6Bu, 0x92u, 0xCAu, 0x32u, 0x4Fu, 0xECu, 0xD4u,
0x1Cu, 0x82u, 0x1Bu, 0x8Bu, 0xAEu, 0x18u, 0x34u, 0x26u, 0x50u, 0xA8u, 0x74u, 0xE1u, 0x4Au, 0x30u, 0xF1u, 0x23u,
0xC6u, 0x21u, 0x50u, 0x04u, 0xD6u, 0xC5u, 0x27u, 0xA0u, 0x9Du, 0x78u, 0x96u, 0xEDu, 0xE4u, 0xF8u, 0x9Au, 0x0Au,
0xC6u, 0x6Eu, 0x50u, 0x51u, 0xF8u, 0x76u, 0x55u, 0xD3u, 0xADu, 0x52u, 0xDDu, 0x90u, 0xC8u, 0xB7u, 0xEDu, 0x7Bu,
0x59u, 0x56u, 0xB2u, 0x8Eu, 0xECu, 0x1Du, 0xD8u, 0xA8u, 0x33u, 0x91u, 0x3Bu, 0x89u, 0x0Fu, 0xD9u, 0xC6u, 0x05u,
0x68u, 0x3Eu, 0xAFu, 0xBCu, 0xA5u, 0x0Bu, 0x50u, 0x12u, 0x22u, 0x6Eu, 0xF5u, 0x39u, 0x35u, 0xD5u, 0x79u, 0xEEu,
0x5Cu, 0x69u, 0xDBu, 0xC8u, 0x55u, 0x99u, 0x0Bu, 0x1Au, 0x37u, 0x33u, 0x77u, 0xCAu, 0x5Cu, 0xE2u, 0x4Au, 0x84u,
0x0Cu, 0x97u, 0x58u, 0xFBu, 0x37u, 0xCCu, 0xE6u, 0xE1u, 0x9Du, 0x93u, 0xC5u, 0xDCu, 0x6Eu, 0x89u, 0x9Au, 0xDBu
};
0x66u, 0xB2u, 0x11u, 0x6Fu, 0x95u, 0xF8u, 0x21u, 0x42u, 0xC3u, 0xAEu, 0x71u, 0xBDu, 0x49u, 0x1Du, 0x2Eu, 0xF9u,
0x8Du, 0xE8u, 0xEFu, 0xBEu, 0x98u, 0xB3u, 0xD2u, 0x36u, 0xD5u, 0x34u, 0x48u, 0x2Bu, 0xF8u, 0x3Eu, 0xB1u, 0x85u,
0xF4u, 0x87u, 0x3Bu, 0x16u, 0xD3u, 0xEEu, 0x2Cu, 0xCEu, 0xA9u, 0x05u, 0xDBu, 0x59u, 0x0Fu, 0x73u, 0x5Cu, 0x33u,
0xEAu, 0x70u, 0xF7u, 0xF3u, 0xF6u, 0x88u, 0x7Cu, 0xC1u, 0x1Du, 0x87u, 0xDDu, 0xA0u, 0x33u, 0x1Cu, 0xAEu, 0x6Du,
0x08u, 0xA4u, 0x5Cu, 0x3Fu, 0x41u, 0x5Cu, 0x1Cu, 0x18u, 0x7Cu, 0xB8u, 0x45u, 0x53u, 0x57u, 0x9Au, 0x91u, 0x1Fu,
0x41u, 0xF9u, 0x1Du, 0x9Au, 0x9Au, 0x1Eu, 0x1Du, 0xFCu, 0x75u, 0x36u, 0x42u, 0xE5u, 0x6Bu, 0x21u, 0x9Cu, 0x67u,
0xF2u, 0x66u, 0xFBu, 0x62u, 0xC4u, 0xE9u, 0xF8u, 0x51u, 0x1Du, 0xD9u, 0xBDu, 0xB8u, 0x25u, 0xD8u, 0xE5u, 0x60u,
0x9Du, 0x3Cu, 0xA1u, 0xDEu, 0x05u, 0xDCu, 0x29u, 0x2Cu, 0x4Au, 0x55u, 0xEDu, 0xF6u, 0xADu, 0xF2u, 0xC4u, 0xDFu
};
0x01u, 0x00u, 0x01u
};
0x61u, 0x62u, 0x63u, 0x64u, 0x65u, 0x66u, 0x67u, 0x68u, 0x69u, 0x6Au, 0x6Bu, 0x6Cu, 0x6Du, 0x6Eu, 0x6Fu, 0x70u,
0x62u, 0x63u, 0x64u, 0x65u, 0x66u, 0x67u, 0x68u, 0x69u, 0x6Au, 0x6Bu, 0x6Cu, 0x6Du, 0x6Eu, 0x6Fu, 0x70u, 0x71u,
0x63u, 0x64u, 0x65u, 0x66u, 0x67u, 0x68u, 0x69u, 0x6Au, 0x6Bu, 0x6Cu, 0x6Du, 0x6Eu, 0x6Fu, 0x70u, 0x71u, 0x72u,
0x64u, 0x65u, 0x66u, 0x67u, 0x68u, 0x69u, 0x6Au, 0x6Bu, 0x6Cu, 0x6Du, 0x6Eu, 0x6Fu, 0x70u, 0x71u, 0x72u, 0x73u
};
MCUXCLEXAMPLE_FUNCTION(mcuxClRsa_Cipher_Crypt_RSAES_PKCS1_v1_5_example)
{
{
return MCUXCLEXAMPLE_STATUS_ERROR;
}
#define CPU_WA_BUFFER_SIZE MCUXCLCORE_MAX(MCUXCLCORE_MAX(\
MCUXCLRANDOMMODES_NCINIT_WACPU_SIZE,\
MCUXCLRSA_ENCRYPT_WACPU_SIZE(RSA_KEY_BIT_LENGTH)),\
MCUXCLRSA_DECRYPT_WACPU_SIZE(RSA_KEY_BIT_LENGTH))
#define PKC_WA_BUFFER_SIZE MCUXCLCORE_MAX(MCUXCLRSA_ENCRYPT_WAPKC_SIZE(RSA_KEY_BIT_LENGTH),\
MCUXCLRSA_DECRYPT_WAPKC_SIZE(RSA_KEY_BIT_LENGTH))
MCUXCLEXAMPLE_ALLOCATE_AND_INITIALIZE_SESSION(session,
CPU_WA_BUFFER_SIZE,
PKC_WA_BUFFER_SIZE);
{
return MCUXCLEXAMPLE_STATUS_ERROR;
}
MCUX_CSSL_ANALYSIS_START_SUPPRESS_DISCARD_CONST("Required by API, elements are not modified in executed scenario")
.p.keyEntryLength = sizeof(primeP),
.q.pKeyEntryData = (uint8_t*)primeQ,
.q.keyEntryLength = sizeof(primeQ),
.qInv.pKeyEntryData = (uint8_t*)qInv,
.qInv.keyEntryLength = sizeof(qInv),
.dp.pKeyEntryData = (uint8_t*)dp,
.dp.keyEntryLength = sizeof(dp),
.dq.pKeyEntryData = (uint8_t*)dq,
.dq.keyEntryLength = sizeof(dq),
.e.pKeyEntryData = (uint8_t*)pubExp,
.e.keyEntryLength = sizeof(pubExp)
};
MCUX_CSSL_ANALYSIS_STOP_SUPPRESS_DISCARD_CONST()
MCUX_CSSL_ANALYSIS_START_SUPPRESS_DISCARD_CONST("Required by API, elements are not modified in executed scenario")
.exponent.pKeyEntryData = (uint8_t*)pubExp,
.exponent.keyEntryLength = sizeof(pubExp)
};
MCUX_CSSL_ANALYSIS_STOP_SUPPRESS_DISCARD_CONST()
uint32_t privKeyDesc[MCUXCLKEY_DESCRIPTOR_SIZE_IN_WORDS];
MCUX_CSSL_ANALYSIS_START_PATTERN_REINTERPRET_MEMORY_OF_OPAQUE_TYPES()
MCUX_CSSL_ANALYSIS_STOP_PATTERN_REINTERPRET_MEMORY_OF_OPAQUE_TYPES()
uint32_t sizeOfPrivKey = (uint32_t)sizeof(privKeyStruct);
session,
MCUX_CSSL_ANALYSIS_START_SUPPRESS_POINTER_INCOMPATIBLE("The pointer privKey points to an object of the right type, the cast was valid.")
privKey,
MCUX_CSSL_ANALYSIS_STOP_SUPPRESS_POINTER_INCOMPATIBLE()
mcuxClKey_Type_Rsa_PrivateCRT_DFA_2048,
(uint8_t *) &privKeyStruct,
sizeOfPrivKey
));
{
return MCUXCLEXAMPLE_STATUS_ERROR;
}
uint32_t pubKeyDesc[MCUXCLKEY_DESCRIPTOR_SIZE_IN_WORDS];
MCUX_CSSL_ANALYSIS_START_PATTERN_REINTERPRET_MEMORY_OF_OPAQUE_TYPES()
MCUX_CSSL_ANALYSIS_STOP_PATTERN_REINTERPRET_MEMORY_OF_OPAQUE_TYPES()
session,
MCUX_CSSL_ANALYSIS_START_SUPPRESS_POINTER_INCOMPATIBLE("The pointer pubKey is of the right type (
mcuxClKey_Handle_t)")
pubKey,
MCUX_CSSL_ANALYSIS_STOP_SUPPRESS_POINTER_INCOMPATIBLE()
mcuxClKey_Type_Rsa_Public_2048,
(uint8_t *) &pubKeyStruct,
(uint32_t)sizeof(pubKeyStruct)
));
{
return MCUXCLEXAMPLE_STATUS_ERROR;
}
uint32_t cipherModeBytes[MCUXCLRSA_CIPHER_MODE_SIZE_IN_WORD];
MCUX_CSSL_ANALYSIS_START_PATTERN_REINTERPRET_MEMORY_OF_OPAQUE_TYPES()
MCUX_CSSL_ANALYSIS_STOP_PATTERN_REINTERPRET_MEMORY_OF_OPAQUE_TYPES()
MCUX_CSSL_ANALYSIS_START_SUPPRESS_POINTER_INCOMPATIBLE("The pointer pCipherMode points to an object of the right type, the cast was valid.")
mcuxClRsa_CipherModeConstructor_RSAES_PKCS1_v1_5_Encrypt( pCipherMode);
MCUX_CSSL_ANALYSIS_STOP_SUPPRESS_POINTER_INCOMPATIBLE()
uint32_t encryptedSize = 0u;
uint32_t sizeOfPlainData = (uint32_t)sizeof(
plainData);
session,
pubKey,
pCipherMode,
MCUX_CSSL_ANALYSIS_START_PATTERN_NULL_POINTER_CONSTANT()
NULL,
MCUX_CSSL_ANALYSIS_STOP_PATTERN_NULL_POINTER_CONSTANT()
0u,
plainDataBuf,
sizeOfPlainData,
encryptedDataBuf,
&encryptedSize
));
{
return MCUXCLEXAMPLE_STATUS_ERROR;
}
if(encryptedSize != sizeof(encryptedData))
{
return MCUXCLEXAMPLE_STATUS_ERROR;
}
mcuxClRsa_CipherModeConstructor_RSAES_PKCS1_v1_5_Decrypt( pCipherMode);
uint32_t decryptedSize = 0u;
session,
privKey,
pCipherMode,
MCUX_CSSL_ANALYSIS_START_PATTERN_NULL_POINTER_CONSTANT()
NULL,
MCUX_CSSL_ANALYSIS_STOP_PATTERN_NULL_POINTER_CONSTANT()
0u,
encryptedSize,
decryptedDataBuf,
&decryptedSize
));
{
return MCUXCLEXAMPLE_STATUS_ERROR;
}
if(decryptedSize != sizeof(decryptedData))
{
return MCUXCLEXAMPLE_STATUS_ERROR;
}
if(!mcuxClExample_Session_Clean(session))
{
return MCUXCLEXAMPLE_STATUS_ERROR;
}
if(!mcuxClExample_Els_Disable())
{
return MCUXCLEXAMPLE_STATUS_ERROR;
}
{
return MCUXCLEXAMPLE_STATUS_ERROR;
}
return MCUXCLEXAMPLE_STATUS_OK;
}
#define RSA_PUBLIC_EXP_BYTE_LENGTH
The public exponent has a length of three bytes.
Definition mcuxClRsa_verify_pssverify_sha2_256_example.c:44
#define RSA_KEY_BYTE_LENGTH
Converting the key-bitlength to bytelength.
Definition mcuxClRsa_verify_pssverify_sha2_256_example.c:43
static const ALIGNED uint8_t modulus[RSA_KEY_BYTE_LENGTH]
Example value for public RSA modulus N.
Definition mcuxClRsa_verify_pssverify_sha2_256_example.c:51
static const uint8_t plainData[INPUT_MESSAGE_LENGTH]
Example plaintext to be encrypted.
Definition mcuxClRsa_Cipher_Crypt_RSAES_OAEP_example.c:107
#define INPUT_MESSAGE_LENGTH
Arbitrary size of the message to be encrypted/decrypted.
Definition mcuxClRsa_Cipher_Crypt_RSAES_OAEP_example.c:51
Provides the API for the CL buffer types.
Top-level include file for the mcuxClCipher component.
mcuxClCipher_Status_t mcuxClCipher_crypt(mcuxClSession_Handle_t session, mcuxClKey_Handle_t key, mcuxClCipher_Mode_t mode, mcuxCl_InputBuffer_t pIv, uint32_t ivLength, mcuxCl_InputBuffer_t pIn, uint32_t inLength, mcuxCl_Buffer_t pOut, uint32_t *const pOutLength)
One-shot encryption/decryption function.
Top-level include file for the ELS driver.
Top-level include file for the mcuxClKey component.
Top level header of mcuxClRandom component.
Top level header of mcuxClRandomModes component.
Top-level include file for the mcuxClRsa component.
Top-level include file for the mcuxClSession component.
#define MCUXCLBUFFER_INIT(name, info, ptr, size)
Initialize an input/output buffer (mcuxCl_Buffer_t).
Definition mcuxClBuffer.h:71
#define MCUXCLBUFFER_INIT_RO(name, info, ptr, size)
Initialize an input buffer (mcuxCl_InputBuffer_t) with plain CPU handling.
Definition mcuxClBuffer.h:88
const uint8_t * mcuxCl_InputBuffer_t
Input buffer type.
Definition mcuxClBuffer_Pointer.h:46
struct mcuxClCipher_ModeDescriptor mcuxClCipher_ModeDescriptor_t
Cipher mode/algorithm descriptor type.
Definition mcuxClCipher_Types.h:54
#define MCUXCLELS_RESET_DO_NOT_CANCEL
Set this option at mcuxClEls_ResetOption_t to abort the requested command if another ELS operation is...
Definition mcuxClEls_Common.h:119
#define MCUXCLKEY_STATUS_OK
Key operation successful.
Definition mcuxClKey_Constants.h:39
mcuxClKey_Status_t mcuxClKey_init(mcuxClSession_Handle_t pSession, mcuxClKey_Handle_t key, mcuxClKey_Type_t type, const uint8_t *pKeyData, uint32_t keyDataLength)
Initializes a key handle.
mcuxClKey_Descriptor_t *const mcuxClKey_Handle_t
Key handle type.
Definition mcuxClKey_Types.h:88
mcuxClRandom_Status_t mcuxClRandom_ncInit(mcuxClSession_Handle_t pSession)
Non-cryptographic PRNG initialization function.
mcuxClSession_Descriptor_t *const mcuxClSession_Handle_t
Type for mcuxClSession Handle.
Definition mcuxClSession_Types.h:113
#define MCUX_CSSL_FP_FUNCTION_CALL_BEGIN(...)
Call a flow protected function and check the protection token.
Definition mcuxCsslFlowProtection.h:581
#define MCUX_CSSL_FP_FUNCTION_CALLED(...)
Expectation of a called function.
Definition mcuxCsslFlowProtection.h:735
#define MCUX_CSSL_FP_FUNCTION_CALL_END(...)
End a function call section started by MCUX_CSSL_FP_FUNCTION_CALL_BEGIN.
Definition mcuxCsslFlowProtection.h:616
#define MCUXCLRANDOM_STATUS_OK
Random function returned successfully.
Definition mcuxClRandom_Constants.h:46
Structure type for Rsa plain key data.
Definition mcuxClRsa_KeyTypes.h:185
mcuxClRsa_KeyEntry_t modulus
Key entry for the modulus.
Definition mcuxClRsa_KeyTypes.h:186
Structure type for Rsa CRT key data.
Definition mcuxClRsa_KeyTypes.h:194
mcuxClRsa_KeyEntry_t p
Key entry for the prime factor P.
Definition mcuxClRsa_KeyTypes.h:195
uint8_t * pKeyEntryData
Pointer to buffer containing the key entry data in big-endian byte order.
Definition mcuxClRsa_Types.h:131
Structure for mcuxClSession Descriptor.
Definition mcuxClSession_Types.h:121