xilsecure
Vitis Drivers API Documentation
xsecure_ellipticplat.c File Reference

Overview

This file contains the implementation of the interface functions for ECC engine specific to Versal Net platform.

MODIFICATION HISTORY:
Ver   Who  Date     Changes


5.0 dc 07/10/22 Initial release am 07/23/22 Removed Ecdsa_ModEccOrder function definition, as it is declared in Ecdsa.h file dc 09/04/22 set TRNG to HRNG mode after Private key ECC mod order 5.1 har 01/06/23 Add support to generate ephemeral key 5.2 yog 05/18/23 Updated the flow for Big Endian ECC Mode setting yog 08/07/23 Replaced trng API calls using trngpsx driver dd 10/11/23 MISRA-C violation Rule 10.3 fixed 5.3 har 11/01/23 Updated core API for ECDH kpt 11/24/23 Replace Xil_SMemSet with Xil_SecureZeroize kpt 01/09/24 Updated option for non-blocking trng reseed ss 04/05/24 Fixed doxygen warnings

 

Macros

#define XSECURE_ECC_TRNG_DF_LENGTH   (2U)
 Default length of xilsecure ecc true random number generator. More...
 
#define XSECURE_ECC_TRNG_RANDOM_NUM_GEN_LEN   (60U)
 Length of xilsecure ecc true random number generator. More...
 

Functions

EcdsaCrvInfoXSecure_EllipticGetCrvData (XSecure_EllipticCrvTyp CrvTyp)
 This function gets the curve related information. More...
 
int XSecure_EllipticPrvtKeyGenerate (XSecure_EllipticCrvTyp CrvType, XSecure_ElliptcPrivateKeyGen *PrivateKey)
 This function generates 48-byte key for P-384 curve using TRNG. More...
 
int XSecure_EllipticGenerateEphemeralKey (XSecure_EllipticCrvTyp CrvType, u32 EphemeralKeyAddr)
 This function generates 48-byte ephemeral key for P-384 curve using TRNG. More...
 
int XSecure_EllipticGenEphemeralNSign (XSecure_EllipticCrvTyp CrvType, const u8 *Hash, u32 HashLen, u8 *PrvtKey, u8 *Signature)
 This function generates the signature on provided hash using ecc. More...
 
int XSecure_EcdhGetSecret (XSecure_EllipticCrvTyp CrvType, u64 PrvtKeyAddr, u64 PubKeyAddr, u64 SharedSecretAddr)
 This is a wrapper function which calls the IPCores API to perform ECDH and generate shared secret. More...