MCUX CLNS
MCUX Crypto Library Normal Secure
Loading...
Searching...
No Matches
mcuxClEcc_KeyEncodingMechanisms.h
Go to the documentation of this file.
1/*--------------------------------------------------------------------------*/
2/* Copyright 2024-2025 NXP */
3/* */
4/* SPDX-License-Identifier: BSD-3-Clause */
5/* */
6/* Redistribution and use in source and binary forms, with or without */
7/* modification, are permitted provided that the following conditions are */
8/* met: */
9/* */
10/* 1. Redistributions of source code must retain the above copyright */
11/* notice, this list of conditions and the following disclaimer. */
12/* */
13/* 2. Redistributions in binary form must reproduce the above copyright */
14/* notice, this list of conditions and the following disclaimer in the */
15/* documentation and/or other materials provided with the distribution. */
16/* */
17/* 3. Neither the name of the copyright holder nor the names of its */
18/* contributors may be used to endorse or promote products derived from */
19/* this software without specific prior written permission. */
20/* */
21/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS */
22/* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED */
23/* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A */
24/* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */
25/* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */
26/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED */
27/* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR */
28/* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
29/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
30/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS */
31/* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
32/*--------------------------------------------------------------------------*/
33
38
39#ifndef MCUXCLECC_KEYENCODINGMECHANISMS_H_
40#define MCUXCLECC_KEYENCODINGMECHANISMS_H_
41
42#include <mcuxClKey_Types.h>
43
44#ifdef __cplusplus
45extern "C" {
46#endif
47
48MCUX_CSSL_ANALYSIS_START_SUPPRESS_DECLARED_BUT_NEVER_REFERENCED("Key encoding types are provided as external API for the user/customer, and never used internally.")
49
50/**********************************************************/
51/* WeierECC key encoding */
52/**********************************************************/
53
54
61#define mcuxClEcc_Encoding_WeierECC_PrivateKey_Plain &mcuxClEcc_EncodingDescriptor_WeierECC_PrivateKey_Plain
62
70#define mcuxClEcc_Encoding_WeierECC_PublicKey_Plain &mcuxClEcc_EncodingDescriptor_WeierECC_PublicKey_Plain
71
72#ifdef MCUXCL_FEATURE_ECC_MONTDH
73/**********************************************************/
74/* MontDH key encoding */
75/**********************************************************/
76
80extern const mcuxClKey_EncodingDescriptor_t mcuxClEcc_EncodingDescriptor_MontDH_PrivateKey_Plain;
84#define mcuxClEcc_Encoding_MontDH_PrivateKey_Plain &mcuxClEcc_EncodingDescriptor_MontDH_PrivateKey_Plain
85
89extern const mcuxClKey_EncodingDescriptor_t mcuxClEcc_EncodingDescriptor_MontDH_PublicKey_Plain;
93#define mcuxClEcc_Encoding_MontDH_PublicKey_Plain &mcuxClEcc_EncodingDescriptor_MontDH_PublicKey_Plain
94#endif /* MCUXCL_FEATURE_ECC_MONTDH */
95
96/**********************************************************/
97/* EdDSA key encoding */
98/**********************************************************/
99
107#define mcuxClEcc_Encoding_EdDSA_PrivateKey_Plain &mcuxClEcc_EncodingDescriptor_EdDSA_PrivateKey_Plain
108
116#define mcuxClEcc_Encoding_EdDSA_PublicKey_Plain &mcuxClEcc_EncodingDescriptor_EdDSA_PublicKey_Plain
117
118MCUX_CSSL_ANALYSIS_STOP_SUPPRESS_DECLARED_BUT_NEVER_REFERENCED()
119
120
121#ifdef __cplusplus
122} /* extern "C" */
123#endif
124
125#endif /* MCUXCLECC_KEYENCODINGMECHANISMS_H_ */
const mcuxClKey_EncodingDescriptor_t mcuxClEcc_EncodingDescriptor_WeierECC_PublicKey_Plain
Key encoding descriptor for a WeierECC public key.
const mcuxClKey_EncodingDescriptor_t mcuxClEcc_EncodingDescriptor_EdDSA_PublicKey_Plain
Key encoding descriptor for a EdDSA public key.
const mcuxClKey_EncodingDescriptor_t mcuxClEcc_EncodingDescriptor_EdDSA_PrivateKey_Plain
Key encoding descriptor for a EdDSA private key.
const mcuxClKey_EncodingDescriptor_t mcuxClEcc_EncodingDescriptor_WeierECC_PrivateKey_Plain
Key encoding descriptor for a WeierECC private key.
Type definitions for the mcuxClKey component.
struct mcuxClKey_EncodingDescriptor mcuxClKey_EncodingDescriptor_t
Key encoding mechanism descriptor type.
Definition mcuxClKey_Types.h:157