xilsecure
Vitis Drivers API Documentation
xsecure_kat.c File Reference

Overview

This file contains known answer tests common for both Versal and VersalNet.

MODIFICATION HISTORY:
Ver   Who  Date        Changes


5.0 kpt 07/15/2022 Initial release kpt 08/03/2022 Added volatile keyword to avoid compiler optimization of loop redundancy checks dc 08/26/2022 Removed initializations of arrays 5.1 yog 05/03/2023 Fixed MISRA C violation of Rule 12.1 5.2 am 06/22/2023 Added KAT error code for failure cases yog 07/06/2023 Added support for P-256 ng 07/10/2023 Added support for system device tree flow kpt 07/20/2023 Renamed XSecure_AesDpaCmDecryptKat to XSecure_AesDpaCmDecryptData 5.3 kpt 12/07/23 Replace Xil_SMemSet with Xil_SecureZeroize yog 02/23/2024 Included P-521 related code under XSECURE_ECC_SUPPORT_NIST_P521 macro kpt 03/15/2024 Update RSA KAT to use 2048-bit key 5.4 yog 04/29/2024 Fixed doxygen warnings. mb 05/23/2024 Added support for P-192 mb 05/23/2024 Added support for P-224 kal 07/24/2024 Code refacroring for versal_2ve_2vm. vss 10/01/2024 Changed existing implementation of AES CM KAT to same key and data vss 10/23/2024 Removed AES duplicate code

 

Macros

AES KAT parameters
#define XSECURE_KAT_AES_SPLIT_DATA_SIZE   (4U)
 < AES KAT parameters More...
 
#define XSECURE_KAT_KEY_SIZE_IN_WORDS   (8U)
 
#define XSECURE_KAT_OPER_DATA_SIZE_IN_WORDS   (16U)
 

Functions

u8 * XSecure_GetKatMessage (void)
 This function returns message to perform KAT. More...
 
u8 * XSecure_GetKatAesKey (void)
 This function returns AES key for KAT. More...
 
u8 * XSecure_GetKatSha3ExpHash (void)
 This function returns expected SHA3 hash for KAT. More...
 
u32 * XSecure_GetKatRsaModulus (void)
 This function returns modulus for RSA KAT. More...
 
u32 * XSecure_GetKatRsaModExt (void)
 This function returns public pre-calculated exponential (R^2 Mod N) value for RSA KAT. More...
 
u32 * XSecure_GetKatRsaData (void)
 This function returns data for RSA KAT. More...
 
u32 * XSecure_GetKatRsaCtData (void)
 This function returns cipher text data for RSA KAT. More...
 
u32 * XSecure_GetKatRsaPrivateExp (void)
 This function returns private exponent for RSA KAT. More...
 
XSecure_EllipticKeyXSecure_GetKatEccPublicKey (XSecure_EllipticCrvClass CrvClass)
 This function returns ECC public key to perform KAT. More...
 
XSecure_EllipticSignXSecure_GetKatEccExpSign (XSecure_EllipticCrvClass CrvClass)
 This function returns ECC expected signature to perform KAT. More...
 
u8 * XSecure_GetKatEccPrivateKey (XSecure_EllipticCrvClass CrvClass)
 This function returns ECC private key to perform KAT. More...
 
u8 * XSecure_GetKatEccEphemeralKey (XSecure_EllipticCrvTyp CrvType)
 This function returns ECC ephemeral key to perform KAT. More...
 
int XSecure_AesDecryptCmKat (const XSecure_Aes *AesInstance)
 This function performs known answer test(KAT) on AES engine to confirm DPA counter measures is working fine. More...
 
int XSecure_AesDecryptKat (XSecure_Aes *AesInstance)
 This function performs decryption known answer test(KAT) on AES engine. More...
 
int XSecure_AesEncryptKat (XSecure_Aes *AesInstance)
 This function performs encryption known answer test(KAT) on AES engine. More...
 
int XSecure_Sha3Kat (XSecure_Sha3 *SecureSha3)
 This function performs known answer test(KAT) on SHA crypto engine. More...
 
int XSecure_RsaPublicEncryptKat (void)
 This function performs KAT on RSA core. More...
 
int XSecure_EllipticVerifySignKat (XSecure_EllipticCrvClass CrvClass)
 This function performs ECC sign verify known answer test(KAT) on ECC core. More...
 
int XSecure_EllipticSignGenerateKat (XSecure_EllipticCrvClass CrvClass)
 This function performs ECC sign generate known answer test(KAT) on ECC core. More...
 
int XSecure_EllipticPwct (XSecure_EllipticCrvTyp Curvetype, u64 DAddr, XSecure_EllipticKeyAddr *PubKeyAddr)
 This function performs ECC pairwise consistency test on ECC core. More...