AM64x MCU+ SDK  12.01.00
asym_crypt.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2024 Texas Instruments Incorporated
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  *
8  * Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  *
11  * Redistributions in binary form must reproduce the above copyright
12  * notice, this list of conditions and the following disclaimer in the
13  * documentation and/or other materials provided with the
14  * distribution.
15  *
16  * Neither the name of Texas Instruments Incorporated nor the names of
17  * its contributors may be used to endorse or promote products derived
18  * from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 
48 #ifndef ASYM_CRYPT_H_
49 #define ASYM_CRYPT_H_
50 
51 /* ========================================================================== */
52 /* Include Files */
53 /* ========================================================================== */
54 
55 #include <stdint.h>
56 #include <kernel/dpl/SystemP.h>
58 
59 #if defined (SOC_AM64X) || defined (SOC_AM243X)\
60  || defined(SOC_AM263X) || defined(SOC_AM263PX)\
61  || defined (SOC_AM273X) || defined (SOC_AWR294X)
62 #include <security_common/drivers/crypto/pka/pka.h>
63 #endif
64 
65 #if defined(SOC_F29H85X) || defined (SOC_AM261X) || defined(SOC_F29P32X)
66 #include <security_common/drivers/crypto/pke/hw_include/pke_hw/inc/pke.h>
67 #include <security_common/drivers/crypto/pke/hw_include/pke_hw/src/pke4_driver.h>
68 #include <security_common/drivers/crypto/pke/hw_include/pke_hw/inc/pke_dpasl.h>
69 #endif
70 
71 #ifdef __cplusplus
72 extern "C" {
73 #endif
74 
75 /* ========================================================================== */
76 /* Macros & Typedefs */
77 /* ========================================================================== */
78 
87 typedef uint32_t AsymCrypt_Return_t;
88 #define ASYM_CRYPT_RETURN_SUCCESS (0xCEF6A572U)
89 #define ASYM_CRYPT_RETURN_FAILURE (0xD20341DDU)
98 typedef uint32_t AsymCrypt_EdCurveType_t;
99 #define ASYM_CRYPT_CURVE_TYPE_EDDSA_25519 (0xBE2479A0U)
100 #define ASYM_CRYPT_CURVE_TYPE_EDDSA_448 (0x57138CAFU)
103 typedef void *AsymCrypt_Handle;
104 
106 #define RSA_MAX_LENGTH (130U)
107 
109 #define ECDSA_MAX_LENGTH (18U)
110 
115 #define EC_PARAM_MAXLEN (68U)
116 
120 #define ASYM_CRYPT_LEN(bytelen) (((bytelen) / 4U) + 1U)
121 
123 #define RSA_KEY_E_MAXLEN (8U)
124 
125 #define RSA_KEY_N_MAXLEN (520U)
126 
127 #define RSA_KEY_PQ_MAXLEN ((RSA_KEY_N_MAXLEN / 2U) + 4U)
128 
129 #define RSA_SIG_MAXLEN (RSA_KEY_N_MAXLEN)
130 
132 #define EDDSA_MAX_KEY_LEN (57U)
133 
135 #define EDDSA_MAX_BIGINT_LEN (ASYM_CRYPT_LEN(EDDSA_MAX_KEY_LEN - 1U))
136 
138 #define EDDSA_ED25519_KEY_LEN (32U)
139 
141 #define EDDSA_ED448_KEY_LEN (57U)
142 
144 #define EDDSA_ED25519_HASH_LEN (64U)
145 
147 #define EDDSA_ED448_HASH_LEN (114U)
148 
150 #define DEVTYPE_HSSE (0x0AU)
151 
152 /* ========================================================================== */
153 /* Structure Declarations */
154 /* ========================================================================== */
155 
168 };
169 
200 };
201 
213 };
214 
234  struct AsymCrypt_ECPoint g;
235 };
236 
259  struct AsymCrypt_ECPoint g;
260 };
261 
273 };
274 
286 };
287 
310  struct AsymCrypt_EddsaPoint g;
311 };
312 
324 };
325 
337 };
338 
350 };
351 
352 /* ========================================================================== */
353 /* Global Variables */
354 /* ========================================================================== */
355 
356 /* ========================================================================== */
357 /* Function Definitions */
358 /* ========================================================================== */
359 
369 typedef AsymCrypt_Return_t (*AsymCrypt_ExecuteShaCallback)(uint8_t *in_addr, uint32_t length, uint8_t *sha_addr);
370 
378 
385 
401  const uint32_t m[RSA_MAX_LENGTH],
402  const struct AsymCrypt_RSAPrivkey *k,
403  uint32_t result[RSA_MAX_LENGTH]);
404 
419  const uint32_t m[RSA_MAX_LENGTH],
420  const struct AsymCrypt_RSAPubkey *k,
421  uint32_t result[RSA_MAX_LENGTH]);
422 
436  struct AsymCrypt_RSAPrivkey *k,
437  uint32_t keybitsize);
438 
452  const struct AsymCrypt_RSAPrivkey *privKey,
453  struct AsymCrypt_RSAPubkey *pubKey,
454  uint32_t keybitsize);
455 
471  const struct AsymCrypt_ECPrimeCurveP *cp,
472  const uint32_t priv[ECDSA_MAX_LENGTH],
473  const uint32_t k[ECDSA_MAX_LENGTH],
474  const uint32_t h[ECDSA_MAX_LENGTH],
475  struct AsymCrypt_ECDSASig *sig,
476  uint32_t curveId);
477 
493  const struct AsymCrypt_ECPrimeCurveP *cp,
494  const struct AsymCrypt_ECPoint *pub,
495  const struct AsymCrypt_ECDSASig *sig,
496  const uint32_t h[ECDSA_MAX_LENGTH],
497  uint32_t curveId);
498 
511  const struct AsymCrypt_ECPrimeCurveP *cp,
512  uint32_t priv[ECDSA_MAX_LENGTH],
513  uint32_t curveType);
514 
528  const struct AsymCrypt_ECPrimeCurveP *cp,
529  struct AsymCrypt_ECPoint *pub,
530  const uint32_t priv[ECDSA_MAX_LENGTH],
531  uint32_t curveType);
532 
548  uint8_t privKey[EDDSA_MAX_KEY_LEN],
549  uint8_t pubKey[EDDSA_MAX_KEY_LEN],
550  AsymCrypt_EdCurveType_t input_curve);
551 
569  const struct AsymCrypt_EddsaKey *key,
570  const uint8_t *ptrData,
571  const uint32_t dataSizeByte,
572  struct AsymCrypt_EddsaSig *sig,
573  AsymCrypt_EdCurveType_t input_curve);
574 
592  const uint8_t pubKey[EDDSA_MAX_KEY_LEN],
593  const uint8_t *ptrData,
594  const uint32_t dataSizeByte,
595  const struct AsymCrypt_EddsaSig *sig,
596  AsymCrypt_EdCurveType_t input_curve);
597 
612  const struct AsymCrypt_ECPrimeCurveP *cp,
613  const uint32_t priv[ECDSA_MAX_LENGTH],
614  const struct AsymCrypt_ECPoint *pubKey,
615  struct AsymCrypt_ECPoint *ecShSecret,
616  uint32_t curveType);
617 
631  const uint32_t priv[ECDSA_MAX_LENGTH],
632  const uint32_t k[ECDSA_MAX_LENGTH],
633  const uint32_t h[ECDSA_MAX_LENGTH],
634  struct AsymCrypt_SM2DSASig *sig);
635 
649  const struct AsymCrypt_ECPoint *pub,
650  const struct AsymCrypt_SM2DSASig *sig,
651  const uint32_t h[ECDSA_MAX_LENGTH]);
652 
663  uint32_t priv[ECDSA_MAX_LENGTH]);
664 
676  struct AsymCrypt_ECPoint *pub,
677  const uint32_t priv[ECDSA_MAX_LENGTH]);
678 
679 #ifdef __cplusplus
680 }
681 #endif
682 
683 #endif /* ASYM_CRYPT_H_ */
684 
AsymCrypt_ExecuteShaCallback
AsymCrypt_Return_t(* AsymCrypt_ExecuteShaCallback)(uint8_t *in_addr, uint32_t length, uint8_t *sha_addr)
This callback implemented to configure a SHA for EDDSA algorithms.
Definition: asym_crypt.h:369
AsymCrypt_EcdhGenSharedSecret
AsymCrypt_Return_t AsymCrypt_EcdhGenSharedSecret(AsymCrypt_Handle handle, const struct AsymCrypt_ECPrimeCurveP *cp, const uint32_t priv[ECDSA_MAX_LENGTH], const struct AsymCrypt_ECPoint *pubKey, struct AsymCrypt_ECPoint *ecShSecret, uint32_t curveType)
ECDH shared secret generation function.
AsymCrypt_EdCurveParam::d
uint32_t d[ASYM_CRYPT_LEN(EDDSA_MAX_KEY_LEN)]
Definition: asym_crypt.h:308
AsymCrypt_RSAPrivkey::n
uint32_t n[ASYM_CRYPT_LEN(RSA_KEY_N_MAXLEN)]
Definition: asym_crypt.h:185
AsymCrypt_RSAPrivkey::e
uint32_t e[ASYM_CRYPT_LEN(RSA_KEY_E_MAXLEN)]
Definition: asym_crypt.h:187
AsymCrypt_ECPrimeCurveP::b
uint32_t b[ASYM_CRYPT_LEN(EC_PARAM_MAXLEN)]
Definition: asym_crypt.h:232
RSA_KEY_N_MAXLEN
#define RSA_KEY_N_MAXLEN
Definition: asym_crypt.h:125
AsymCrypt_close
AsymCrypt_Return_t AsymCrypt_close(AsymCrypt_Handle handle)
Function to close a AsymCrypt module specified by the AsymCrypt handle.
AsymCrypt_RSAPubkey::n
uint32_t n[ASYM_CRYPT_LEN(RSA_KEY_N_MAXLEN)]
Definition: asym_crypt.h:165
AsymCrypt_EddsaSig::R
uint8_t R[EDDSA_MAX_KEY_LEN]
Definition: asym_crypt.h:321
AsymCrypt_ECDSASig::s
uint32_t s[ASYM_CRYPT_LEN(EC_PARAM_MAXLEN)]
Definition: asym_crypt.h:272
index
uint16_t index
Definition: tisci_rm_proxy.h:3
ECDSA_MAX_LENGTH
#define ECDSA_MAX_LENGTH
Definition: asym_crypt.h:109
SystemP.h
AsymCrypt_ECPrimeCurveP::prime
uint32_t prime[ASYM_CRYPT_LEN(EC_PARAM_MAXLEN)]
Definition: asym_crypt.h:226
AsymCrypt_EdCurveParam::prime
uint32_t prime[ASYM_CRYPT_LEN(EDDSA_MAX_KEY_LEN)]
Definition: asym_crypt.h:300
AsymCrypt_EdCurveType_t
uint32_t AsymCrypt_EdCurveType_t
ASYM EDDSA Curve Type.
Definition: asym_crypt.h:98
AsymCrypt_ECPrimeCurveP::order
uint32_t order[ASYM_CRYPT_LEN(EC_PARAM_MAXLEN)]
Definition: asym_crypt.h:228
AsymCrypt_SM2DSASig
SM2DSA signature.
Definition: asym_crypt.h:345
AsymCrypt_ECDSAKeyGenPublic
AsymCrypt_Return_t AsymCrypt_ECDSAKeyGenPublic(AsymCrypt_Handle handle, const struct AsymCrypt_ECPrimeCurveP *cp, struct AsymCrypt_ECPoint *pub, const uint32_t priv[ECDSA_MAX_LENGTH], uint32_t curveType)
ECDSA KeyGen Public Key function.
AsymCrypt_ECMontCurveP::B
uint32_t B[ASYM_CRYPT_LEN(EC_PARAM_MAXLEN)]
Definition: asym_crypt.h:257
AsymCrypt_RSAPrivkey::coefficient
uint32_t coefficient[ASYM_CRYPT_LEN(RSA_KEY_PQ_MAXLEN)]
Definition: asym_crypt.h:199
AsymCrypt_ECMontCurveP::prime
uint32_t prime[ASYM_CRYPT_LEN(EC_PARAM_MAXLEN)]
Definition: asym_crypt.h:249
crypto_util.h
This file contains the prototype of crypto_util driver APIs.
AsymCrypt_ECDSASig::r
uint32_t r[ASYM_CRYPT_LEN(EC_PARAM_MAXLEN)]
Definition: asym_crypt.h:270
AsymCrypt_ECPoint::x
uint32_t x[ASYM_CRYPT_LEN(EC_PARAM_MAXLEN)]
Definition: asym_crypt.h:210
RSA_KEY_E_MAXLEN
#define RSA_KEY_E_MAXLEN
Definition: asym_crypt.h:123
AsymCrypt_EddsaSig::s
uint8_t s[EDDSA_MAX_KEY_LEN]
Definition: asym_crypt.h:323
AsymCrypt_RSAPubkey
RSA public key. All values are in biginteger format (size followed by word value array,...
Definition: asym_crypt.h:163
AsymCrypt_ECPrimeCurveP::a
uint32_t a[ASYM_CRYPT_LEN(EC_PARAM_MAXLEN)]
Definition: asym_crypt.h:230
AsymCrypt_RSAPrivkey::q
uint32_t q[ASYM_CRYPT_LEN(RSA_KEY_PQ_MAXLEN)]
Definition: asym_crypt.h:193
AsymCrypt_EddsaPoint
Point on Eddsa Elliptical Curve.
Definition: asym_crypt.h:281
AsymCrypt_SM2DSAKeyGenPublic
AsymCrypt_Return_t AsymCrypt_SM2DSAKeyGenPublic(AsymCrypt_Handle handle, struct AsymCrypt_ECPoint *pub, const uint32_t priv[ECDSA_MAX_LENGTH])
SM2DSA KeyGen Public Key function.
AsymCrypt_SM2DSAVerify
AsymCrypt_Return_t AsymCrypt_SM2DSAVerify(AsymCrypt_Handle handle, const struct AsymCrypt_ECPoint *pub, const struct AsymCrypt_SM2DSASig *sig, const uint32_t h[ECDSA_MAX_LENGTH])
SM2DSA verify primitive function.
AsymCrypt_RSAKeyGenPublic
AsymCrypt_Return_t AsymCrypt_RSAKeyGenPublic(AsymCrypt_Handle handle, const struct AsymCrypt_RSAPrivkey *privKey, struct AsymCrypt_RSAPubkey *pubKey, uint32_t keybitsize)
This Function performs Encryption or Verification operations.
AsymCrypt_EddsaSign
AsymCrypt_Return_t AsymCrypt_EddsaSign(AsymCrypt_Handle handle, AsymCrypt_ExecuteShaCallback shaCbFxn, const struct AsymCrypt_EddsaKey *key, const uint8_t *ptrData, const uint32_t dataSizeByte, struct AsymCrypt_EddsaSig *sig, AsymCrypt_EdCurveType_t input_curve)
EDDSA Signing primitive function.
AsymCrypt_EddsaPoint::x
uint32_t x[ASYM_CRYPT_LEN(EDDSA_MAX_KEY_LEN)]
Definition: asym_crypt.h:283
RSA_KEY_PQ_MAXLEN
#define RSA_KEY_PQ_MAXLEN
Definition: asym_crypt.h:127
AsymCrypt_ECMontCurveP::A
uint32_t A[ASYM_CRYPT_LEN(EC_PARAM_MAXLEN)]
Definition: asym_crypt.h:255
AsymCrypt_EdCurveParam::order
uint32_t order[ASYM_CRYPT_LEN(EDDSA_MAX_KEY_LEN)]
Definition: asym_crypt.h:302
AsymCrypt_Handle
void * AsymCrypt_Handle
Handle to the AsymCrypt driver.
Definition: asym_crypt.h:103
AsymCrypt_SM2DSASign
AsymCrypt_Return_t AsymCrypt_SM2DSASign(AsymCrypt_Handle handle, const uint32_t priv[ECDSA_MAX_LENGTH], const uint32_t k[ECDSA_MAX_LENGTH], const uint32_t h[ECDSA_MAX_LENGTH], struct AsymCrypt_SM2DSASig *sig)
SM2DSA sign primitive function.
AsymCrypt_SM2DSASig::s
uint32_t s[ASYM_CRYPT_LEN(EC_PARAM_MAXLEN)]
Definition: asym_crypt.h:349
AsymCrypt_ECMontCurveP::g
struct AsymCrypt_ECPoint g
Definition: asym_crypt.h:259
AsymCrypt_EddsaVerify
AsymCrypt_Return_t AsymCrypt_EddsaVerify(AsymCrypt_Handle handle, AsymCrypt_ExecuteShaCallback shaCbFxn, const uint8_t pubKey[EDDSA_MAX_KEY_LEN], const uint8_t *ptrData, const uint32_t dataSizeByte, const struct AsymCrypt_EddsaSig *sig, AsymCrypt_EdCurveType_t input_curve)
ECDSA verify primitive function.
AsymCrypt_RSAKeyGenPrivate
AsymCrypt_Return_t AsymCrypt_RSAKeyGenPrivate(AsymCrypt_Handle handle, struct AsymCrypt_RSAPrivkey *k, uint32_t keybitsize)
This Function performs Encryption or Verification operations.
AsymCrypt_RSAPrivkey::p
uint32_t p[ASYM_CRYPT_LEN(RSA_KEY_PQ_MAXLEN)]
Definition: asym_crypt.h:191
AsymCrypt_ECPoint
EC Point, also the public key.
Definition: asym_crypt.h:208
AsymCrypt_EddsaKey::pubKey
uint8_t pubKey[EDDSA_MAX_KEY_LEN]
Definition: asym_crypt.h:336
AsymCrypt_SM2DSASig::r
uint32_t r[ASYM_CRYPT_LEN(EC_PARAM_MAXLEN)]
Definition: asym_crypt.h:347
AsymCrypt_EdCurveParam::g
struct AsymCrypt_EddsaPoint g
Definition: asym_crypt.h:310
AsymCrypt_ECDSASign
AsymCrypt_Return_t AsymCrypt_ECDSASign(AsymCrypt_Handle handle, const struct AsymCrypt_ECPrimeCurveP *cp, const uint32_t priv[ECDSA_MAX_LENGTH], const uint32_t k[ECDSA_MAX_LENGTH], const uint32_t h[ECDSA_MAX_LENGTH], struct AsymCrypt_ECDSASig *sig, uint32_t curveId)
ECDSA sign primitive function.
AsymCrypt_RSAPublic
AsymCrypt_Return_t AsymCrypt_RSAPublic(AsymCrypt_Handle handle, const uint32_t m[RSA_MAX_LENGTH], const struct AsymCrypt_RSAPubkey *k, uint32_t result[RSA_MAX_LENGTH])
This Function performs Encryption or Verification operations.
AsymCrypt_EddsaPoint::y
uint32_t y[ASYM_CRYPT_LEN(EDDSA_MAX_KEY_LEN)]
Definition: asym_crypt.h:285
AsymCrypt_ECMontCurveP::order
uint32_t order[ASYM_CRYPT_LEN(EC_PARAM_MAXLEN)]
Definition: asym_crypt.h:251
AsymCrypt_SM2DSAKeyGenPrivate
AsymCrypt_Return_t AsymCrypt_SM2DSAKeyGenPrivate(AsymCrypt_Handle handle, uint32_t priv[ECDSA_MAX_LENGTH])
SM2DSA KeyGen Private Key function.
EDDSA_MAX_KEY_LEN
#define EDDSA_MAX_KEY_LEN
Definition: asym_crypt.h:132
AsymCrypt_RSAPubkey::e
uint32_t e[ASYM_CRYPT_LEN(RSA_KEY_E_MAXLEN)]
Definition: asym_crypt.h:167
AsymCrypt_EddsaKey::privKey
uint8_t privKey[EDDSA_MAX_KEY_LEN]
Definition: asym_crypt.h:334
AsymCrypt_EdCurveParam::cofactor
uint32_t cofactor[ASYM_CRYPT_LEN(EDDSA_MAX_KEY_LEN)]
Definition: asym_crypt.h:304
AsymCrypt_ECPoint::y
uint32_t y[ASYM_CRYPT_LEN(EC_PARAM_MAXLEN)]
Definition: asym_crypt.h:212
AsymCrypt_EddsaKey
Eddsa EDDSA Private key - Public key pair in uint8 array form.
Definition: asym_crypt.h:332
AsymCrypt_ECPrimeCurveP::g
struct AsymCrypt_ECPoint g
Definition: asym_crypt.h:234
AsymCrypt_RSAPrivkey::dq
uint32_t dq[ASYM_CRYPT_LEN(RSA_KEY_PQ_MAXLEN)]
Definition: asym_crypt.h:197
AsymCrypt_RSAPrivkey
RSA private key. All values are in biginteger format (size followed by word value array,...
Definition: asym_crypt.h:183
AsymCrypt_ECMontCurveP::cofactor
uint32_t cofactor[ASYM_CRYPT_LEN(EC_PARAM_MAXLEN)]
Definition: asym_crypt.h:253
AsymCrypt_ECDSAVerify
AsymCrypt_Return_t AsymCrypt_ECDSAVerify(AsymCrypt_Handle handle, const struct AsymCrypt_ECPrimeCurveP *cp, const struct AsymCrypt_ECPoint *pub, const struct AsymCrypt_ECDSASig *sig, const uint32_t h[ECDSA_MAX_LENGTH], uint32_t curveId)
ECDSA verify primitive function.
AsymCrypt_EddsaSig
Eddsa EDDSA signature.
Definition: asym_crypt.h:319
AsymCrypt_Return_t
uint32_t AsymCrypt_Return_t
ASYM CRYPTO Driver Error code.
Definition: asym_crypt.h:87
AsymCrypt_open
AsymCrypt_Handle AsymCrypt_open(uint32_t index)
Function to Open AsymCrypt instance, enable AsymCrypt engine, Initialize clocks.
ASYM_CRYPT_LEN
#define ASYM_CRYPT_LEN(bytelen)
Definition: asym_crypt.h:120
AsymCrypt_EdCurveParam
Structure to hold Edward Curve Eddsa parameters.
Definition: asym_crypt.h:298
AsymCrypt_EddsaGetPubKey
AsymCrypt_Return_t AsymCrypt_EddsaGetPubKey(AsymCrypt_Handle handle, AsymCrypt_ExecuteShaCallback shaCbFxn, uint8_t privKey[EDDSA_MAX_KEY_LEN], uint8_t pubKey[EDDSA_MAX_KEY_LEN], AsymCrypt_EdCurveType_t input_curve)
ECDSA KeyGen Public Key function.
AsymCrypt_ECPrimeCurveP
EC prime curve parameters.
Definition: asym_crypt.h:224
AsymCrypt_ECMontCurveP
EC Montogomery curve parameters.
Definition: asym_crypt.h:247
AsymCrypt_RSAPrivate
AsymCrypt_Return_t AsymCrypt_RSAPrivate(AsymCrypt_Handle handle, const uint32_t m[RSA_MAX_LENGTH], const struct AsymCrypt_RSAPrivkey *k, uint32_t result[RSA_MAX_LENGTH])
This Function performs Decryption or Signing operations.
AsymCrypt_RSAPrivkey::dp
uint32_t dp[ASYM_CRYPT_LEN(RSA_KEY_PQ_MAXLEN)]
Definition: asym_crypt.h:195
RSA_MAX_LENGTH
#define RSA_MAX_LENGTH
Definition: asym_crypt.h:106
AsymCrypt_ECDSASig
ECDSA signature.
Definition: asym_crypt.h:268
EC_PARAM_MAXLEN
#define EC_PARAM_MAXLEN
Definition: asym_crypt.h:115
AsymCrypt_RSAPrivkey::d
uint32_t d[ASYM_CRYPT_LEN(RSA_KEY_N_MAXLEN)]
Definition: asym_crypt.h:189
AsymCrypt_ECDSAKeyGenPrivate
AsymCrypt_Return_t AsymCrypt_ECDSAKeyGenPrivate(AsymCrypt_Handle handle, const struct AsymCrypt_ECPrimeCurveP *cp, uint32_t priv[ECDSA_MAX_LENGTH], uint32_t curveType)
ECDSA KeyGen Private Key function.
AsymCrypt_EdCurveParam::a
uint32_t a[ASYM_CRYPT_LEN(EDDSA_MAX_KEY_LEN)]
Definition: asym_crypt.h:306