MCUX CLNS
MCUX Crypto Library Normal Secure
Loading...
Searching...
No Matches
mcuxClAead_Functions.h
Go to the documentation of this file.
1/*--------------------------------------------------------------------------*/
2/* Copyright 2020-2026 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
16
17#ifndef MCUXCLAEAD_FUNCTIONS_H_
18#define MCUXCLAEAD_FUNCTIONS_H_
19
20#include <mcuxClConfig.h> // Exported features flags header
21#include <mcuxClSession_Types.h>
22#include <mcuxClKey.h>
23#include <mcuxClAead_Types.h>
24#include <mcuxClBuffer.h>
25
26#ifdef __cplusplus
27extern "C" {
28#endif
29
36
91
98 uint32_t nonceLength,
100 uint32_t inLength,
102 uint32_t adataLength,
103 mcuxCl_Buffer_t pOut,
104 uint32_t * const pOutLength,
105 mcuxCl_Buffer_t pTag,
106 uint32_t tagLength
107);
108
161
168 uint32_t nonceLength,
170 uint32_t inLength,
172 uint32_t adataLength,
174 uint32_t tagLength,
175 mcuxCl_Buffer_t pOut,
176 uint32_t * const pOutLength
177);
178
215
219 mcuxClAead_Context_t * const pContext,
223 uint32_t nonceLength,
224 uint32_t inLength,
225 uint32_t adataLength,
226 uint32_t tagLength
227); /* init encrypt */
228
266
270 mcuxClAead_Context_t * const pContext,
274 uint32_t nonceLength,
275 uint32_t inLength,
276 uint32_t adataLength,
277 uint32_t tagLength
278); /* init decrypt */
279
307 mcuxClAead_Context_t * const pContext,
309 uint32_t inLength,
310 mcuxCl_Buffer_t pOut,
311 uint32_t * const pOutLength
312); /* update */
313
336 mcuxClAead_Context_t * const pContext,
338 uint32_t adataLength
339); /* update associated data */
340
368 mcuxClAead_Context_t * const pContext,
369 mcuxCl_Buffer_t pOut,
370 uint32_t * const pOutLength,
371 mcuxCl_Buffer_t pTag
372); /* finalize encrypt/decrypt + output tag */
373
403 mcuxClAead_Context_t * const pContext,
405 mcuxCl_Buffer_t pOut,
406 uint32_t * const pOutLength
407); /* finalize decrypt + compare tag */
408
410
411#ifdef __cplusplus
412} /* extern "C" */
413#endif
414
415#endif /* MCUXCLAEAD_FUNCTION_H_ */
Type definitions for the mcuxClAead component.
Top-level include file for the mcuxClBuffer component.
Top-level include file for the mcuxClKey component.
Type definitions for the mcuxClSession component.
mcuxClAead_Status_t mcuxClAead_init_encrypt(mcuxClSession_Handle_t session, mcuxClAead_Context_t *const pContext, mcuxClKey_Handle_t key, mcuxClAead_Mode_t mode, mcuxCl_InputBuffer_t pNonce, uint32_t nonceLength, uint32_t inLength, uint32_t adataLength, uint32_t tagLength)
Multi-part authenticated encryption initialization function.
mcuxClAead_Status_t mcuxClAead_finish(mcuxClSession_Handle_t session, mcuxClAead_Context_t *const pContext, mcuxCl_Buffer_t pOut, uint32_t *const pOutLength, mcuxCl_Buffer_t pTag)
Multi-part authenticated encryption/decryption finalization function.
mcuxClAead_Status_t mcuxClAead_process_adata(mcuxClSession_Handle_t session, mcuxClAead_Context_t *const pContext, mcuxCl_InputBuffer_t pAdata, uint32_t adataLength)
Multi-part authenticated encryption/decryption processing function for the associated data (authentic...
mcuxClAead_Status_t mcuxClAead_encrypt(mcuxClSession_Handle_t session, mcuxClKey_Handle_t key, mcuxClAead_Mode_t mode, mcuxCl_InputBuffer_t pNonce, uint32_t nonceLength, mcuxCl_InputBuffer_t pIn, uint32_t inLength, mcuxCl_InputBuffer_t pAdata, uint32_t adataLength, mcuxCl_Buffer_t pOut, uint32_t *const pOutLength, mcuxCl_Buffer_t pTag, uint32_t tagLength)
One-shot authenticated encryption function.
mcuxClAead_Status_t mcuxClAead_init_decrypt(mcuxClSession_Handle_t session, mcuxClAead_Context_t *const pContext, mcuxClKey_Handle_t key, mcuxClAead_Mode_t mode, mcuxCl_InputBuffer_t pNonce, uint32_t nonceLength, uint32_t inLength, uint32_t adataLength, uint32_t tagLength)
Multi-part authenticated decryption initialization function.
mcuxClAead_Status_t mcuxClAead_process(mcuxClSession_Handle_t session, mcuxClAead_Context_t *const pContext, mcuxCl_InputBuffer_t pIn, uint32_t inLength, mcuxCl_Buffer_t pOut, uint32_t *const pOutLength)
Multi-part authenticated encryption/decryption processing function for the regular data (authenticate...
mcuxClAead_Status_t mcuxClAead_decrypt(mcuxClSession_Handle_t session, mcuxClKey_Handle_t key, mcuxClAead_Mode_t mode, mcuxCl_InputBuffer_t pNonce, uint32_t nonceLength, mcuxCl_InputBuffer_t pIn, uint32_t inLength, mcuxCl_InputBuffer_t pAdata, uint32_t adataLength, mcuxCl_InputBuffer_t pTag, uint32_t tagLength, mcuxCl_Buffer_t pOut, uint32_t *const pOutLength)
One-shot authenticated decryption function.
mcuxClAead_Status_t mcuxClAead_verify(mcuxClSession_Handle_t session, mcuxClAead_Context_t *const pContext, mcuxCl_InputBuffer_t pTag, mcuxCl_Buffer_t pOut, uint32_t *const pOutLength)
Multi-part authenticated decryption verification function.
uint32_t mcuxClAead_Status_t
AEAD status code.
Definition mcuxClAead_Types.h:110
const mcuxClAead_ModeDescriptor_t *const mcuxClAead_Mode_t
AEAD mode/algorithm type.
Definition mcuxClAead_Types.h:63
struct mcuxClAead_Context mcuxClAead_Context_t
AEAD context type.
Definition mcuxClAead_Types.h:102
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
mcuxClKey_Descriptor_t *const mcuxClKey_Handle_t
Key handle type.
Definition mcuxClKey_Types.h:91
mcuxClSession_Descriptor_t *const mcuxClSession_Handle_t
Type for mcuxClSession Handle.
Definition mcuxClSession_Types.h:98
#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