xilsecure
Vitis Drivers API Documentation
Xilsecure Common Apis

Data Structures

struct  XSecure_RsaInParam
 Structure for input parameters for RSA Encryption and Decryption. More...
 
struct  XSecure_RsaSignParams
 Structure for input parameters for RSA Sign verification. More...
 
struct  XSecure_EllipticSignGenParams
 Structure for input parameters for Ellitic Sign generation. More...
 
struct  XSecure_EllipticSignVerifyParams
 Structure for input parameters for Ellitic Sign Verification. More...
 
struct  XSecure_AesInitOps
 Structure for input parameters for Initialisation of AES Encryption and Decryption. More...
 
struct  XSecure_AesInParams
 Structure for input parameters for AES Encryption and Decryption. More...
 
struct  XSecure_EcdhParams
 Structure for input parameters for ECDH. More...
 
struct  XSecure_AesDataBlockParams
 Structure for input parameters for AES Encryption and Decryption of single block of data. More...
 
struct  XSecure_KeyMetaData
 AES Key metadata for Key wrap unwrap. More...
 
struct  XSecure_KeyWrapData
 Input and output parameters for Key wrap. More...
 
struct  XSecure_RsaPubKeyAddr
 Addresses of Input parameters of RSA. More...
 

Macros

#define XSECURE_AES_BASEADDR   (0xF11E0000U)
 AES Base Address. More...
 
#define XSecure_Printf(DebugType,...)   if ((DebugType) == 1U) {xil_printf (__VA_ARGS__);}
 For prints in XilSecure library. More...
 
#define XSecure_DCacheFlushRange(SrcAddr, Len)   Xil_DCacheFlushRange((INTPTR)SrcAddr, Len)
 Cache Invalidate function. More...
 
#define XSECURE_API(ApiId)   ((u32)ApiId)
 Macro to typecast XILSECURE API ID. More...
 
#define XSECURE_API_ID_MASK   (0xFFU)
 Mask for API ID in Secure IPI command. More...
 
#define XILSECURE_MODULE_ID   (0x05U)
 XilSecure Module Id. More...
 
#define XSECURE_KAT_API_ERR_ID   (((u32)XILSECURE_MODULE_ID << 8U) | ((u32)XSECURE_API_KAT))
 XilSecure KAT API error id. More...
 
#define XSECURE_KAT_MAJOR_ERROR
 Xilsecure KAT major error for client APIs. More...
 
#define XSECURE_ADDR_HIGH_SHIFT   (32U)
 Shift to get higher address. More...
 
#define XSECURE_IPI_MASK_DEF_VAL   (0U)
 Default IPI mask value. More...
 
#define XSECURE_ECDSA_PRIME   (XSECURE_ECC_PRIME)
 This macro is for backward compatibility. More...
 
#define XSecure_EllipticCrvClass   XSecure_EccCrvClass
 Alias for XSecure_EccCrvClass enum for backward compatibility. More...
 
#define XSECURE_KAT_HDR_LEN   (1U)
 < KAT macros More...
 
#define XSECURE_MAX_KAT_MASK_LEN   (3U)
 Maximum mask length. More...
 
#define XSECURE_MIN_KAT_MASK_LEN   (1U)
 Minimum mask length. More...
 
#define XSECURE_WORD_LEN   (4U)
 Word length. More...
 
#define XSECURE_ADDR_HIGH_SHIFT   (32U)
 Shift for getting higher address. More...
 
#define XSECURE_KEY_ID_LEN_IN_BYTES   (128U)
 Key id length in bytes. More...
 
#define XSECURE_KAT_HDR_LEN   (1U)
 < KAT macros More...
 
#define XSECURE_MAX_KAT_MASK_LEN   (3U)
 Maximum mask length. More...
 
#define XSECURE_MIN_KAT_MASK_LEN   (1U)
 Minimum mask length. More...
 
#define XSECURE_WORD_LEN   (4U)
 Word length. More...
 
#define XSECURE_ADDR_HIGH_SHIFT   (32U)
 Shift for getting higher address. More...
 
#define XSECURE_KEY_ID_LEN_IN_BYTES   (128U)
 Key id length in bytes. More...
 
#define XSECURE_SHARED_KEY_STORE_SIZE_OFFSET   (8U)
 Key size offset. More...
 
#define XSECURE_SHARED_KEY_SLOT_STATUS_START_OFFSET   (12U)
 Bitmap offset. More...
 
#define XSECURE_HMAC_MAJOR_VERSION   5
 Major version of HMAC. More...
 
#define XSECURE_HMAC_MINOR_VERSION   7
 Minor version of HMAC. More...
 
#define XSECURE_SHA2_MAJOR_VERSION   5
 Major version of SHA2. More...
 
#define XSECURE_SHA2_MINOR_VERSION   7
 Minor version of SHA2. More...
 

Enumerations

enum  XSecure_AesOp { XSECURE_ENCRYPT, XSECURE_DECRYPT, XSECURE_ENCRYPT, XSECURE_DECRYPT }
 
enum  XSecure_EllipticCrvTyp {
  XSECURE_ECC_NIST_P192 = 1, XSECURE_ECC_NIST_P224 = 2, XSECURE_ECC_NIST_P256 = 3, XSECURE_ECC_NIST_P384 = 4,
  XSECURE_ECC_NIST_P521 = 5
}
 
enum  XSecure_EccCrvClass { XSECURE_ECC_PRIME = 0, XSECURE_ECC_BINARY = 1 }
 
enum  XSecure_KatOp { XSECURE_API_KAT_SET = 0U, XSECURE_API_KAT_CLEAR }
 
enum  XSecure_ApiId {
  XSECURE_API_FEATURES = 0U, XSECURE_API_RSA_SIGN_VERIFY, XSECURE_API_RSA_PUBLIC_ENCRYPT, XSECURE_API_RSA_PRIVATE_DECRYPT,
  XSECURE_API_SHA3_UPDATE, XSECURE_API_ELLIPTIC_GENERATE_KEY, XSECURE_API_ELLIPTIC_GENERATE_SIGN, XSECURE_API_ELLIPTIC_VALIDATE_KEY,
  XSECURE_API_ELLIPTIC_VERIFY_SIGN, XSECURE_API_AES_INIT, XSECURE_API_AES_OP_INIT, XSECURE_API_AES_UPDATE_AAD,
  XSECURE_API_AES_ENCRYPT_UPDATE, XSECURE_API_AES_ENCRYPT_FINAL, XSECURE_API_AES_DECRYPT_UPDATE, XSECURE_API_AES_DECRYPT_FINAL,
  XSECURE_API_AES_KEY_ZERO, XSECURE_API_AES_WRITE_KEY, XSECURE_API_AES_LOCK_USER_KEY, XSECURE_API_AES_KEK_DECRYPT,
  XSECURE_API_AES_SET_DPA_CM, XSECURE_API_KAT, XSECURE_API_AES_PERFORM_OPERATION = 23U, XSECURE_API_MAX,
  XSECURE_API_FEATURES = 0U, XSECURE_API_RSA_SIGN_VERIFY, XSECURE_API_RSA_PUBLIC_ENCRYPT, XSECURE_API_RSA_PRIVATE_DECRYPT,
  XSECURE_API_SHA3_OPERATION, XSECURE_API_ELLIPTIC_GENERATE_KEY, XSECURE_API_ELLIPTIC_GENERATE_SIGN, XSECURE_API_ELLIPTIC_VALIDATE_KEY,
  XSECURE_API_ELLIPTIC_VERIFY_SIGN, XSECURE_API_AES_INIT, XSECURE_API_AES_OP_INIT, XSECURE_API_AES_UPDATE_AAD,
  XSECURE_API_AES_ENCRYPT_UPDATE, XSECURE_API_AES_ENCRYPT_FINAL, XSECURE_API_AES_DECRYPT_UPDATE, XSECURE_API_AES_DECRYPT_FINAL,
  XSECURE_API_AES_KEY_ZERO, XSECURE_API_AES_WRITE_KEY, XSECURE_API_AES_LOCK_USER_KEY, XSECURE_API_AES_KEK_DECRYPT,
  XSECURE_API_AES_SET_DPA_CM, XSECURE_API_KAT, XSECURE_API_TRNG_GENERATE, XSECURE_API_AES_PERFORM_OPERATION,
  XSECURE_API_GEN_SHARED_SECRET = 33U, XSECURE_API_RESERVED = 36U, XSECURE_API_AES_PERFORM_OPERATION_AND_ZEROIZE_KEY, XSECURE_API_SHA2_OPERATION,
  XSECURE_API_MAX, XSECURE_API_FEATURES = 0U, XSECURE_API_RSA_SIGN_VERIFY, XSECURE_API_RSA_PUBLIC_ENCRYPT,
  XSECURE_API_RSA_PRIVATE_DECRYPT, XSECURE_API_SHA3_UPDATE, XSECURE_API_ELLIPTIC_GENERATE_KEY, XSECURE_API_ELLIPTIC_GENERATE_SIGN,
  XSECURE_API_ELLIPTIC_VALIDATE_KEY, XSECURE_API_ELLIPTIC_VERIFY_SIGN, XSECURE_API_AES_INIT, XSECURE_API_AES_OP_INIT,
  XSECURE_API_AES_UPDATE_AAD, XSECURE_API_AES_ENCRYPT_UPDATE, XSECURE_API_AES_ENCRYPT_FINAL, XSECURE_API_AES_DECRYPT_UPDATE,
  XSECURE_API_AES_DECRYPT_FINAL, XSECURE_API_AES_KEY_ZERO, XSECURE_API_AES_WRITE_KEY, XSECURE_API_AES_LOCK_USER_KEY,
  XSECURE_API_AES_KEK_DECRYPT, XSECURE_API_AES_SET_DPA_CM, XSECURE_API_KAT, XSECURE_API_TRNG_GENERATE,
  XSECURE_API_AES_PERFORM_OPERATION, XSECURE_API_UPDATE_HNIC_CRYPTO_STATUS, XSECURE_API_UPDATE_CPM5N_CRYPTO_STATUS, XSECURE_API_UPDATE_PCIDE_CRYPTO_STATUS,
  XSECURE_API_UPDATE_PKI_CRYPTO_STATUS, XSECURE_API_UPDATE_DDR_KAT_STATUS, XSECURE_API_UPDATE_HNIC_KAT_STATUS, XSECURE_API_UPDATE_CPM5N_KAT_STATUS,
  XSECURE_API_UPDATE_PCIDE_KAT_STATUS, XSECURE_API_UPDATE_PKI_KAT_STATUS, XSECURE_API_GEN_SHARED_SECRET, XSECURE_API_KEY_UNWRAP = 35,
  XSECURE_API_RESERVED, XSECURE_API_AES_PERFORM_OPERATION_AND_ZEROIZE_KEY, XSECURE_API_RSA_RELEASE_KEY, XSECURE_API_MAX
}
 < XilSecure API ids More...
 
enum  XSecure_KatId {
  XSECURE_API_AES_DECRYPT_KAT = 0U, XSECURE_API_AES_DECRYPT_CM_KAT, XSECURE_API_RSA_PUB_ENC_KAT, XSECURE_API_ELLIPTIC_SIGN_VERIFY_KAT,
  XSECURE_API_SHA3_KAT, XSECURE_API_AES_ENCRYPT_KAT, XSECURE_API_RSA_PRIVATE_DEC_KAT, XSECURE_API_ELLIPTIC_SIGN_GEN_KAT,
  XSECURE_API_AES_DECRYPT_KAT = 0U, XSECURE_API_AES_DECRYPT_CM_KAT, XSECURE_API_RSA_PUB_ENC_KAT, XSECURE_API_ELLIPTIC_SIGN_VERIFY_KAT,
  XSECURE_API_SHA3_KAT, XSECURE_API_AES_ENCRYPT_KAT, XSECURE_API_RSA_PRIVATE_DEC_KAT, XSECURE_API_ELLIPTIC_SIGN_GEN_KAT,
  XSECURE_API_TRNG_KAT, XSECURE_API_UPDATE_KAT_STATUS, XSECURE_API_SHA2_KAT, XSECURE_API_AES_DECRYPT_KAT = 0U,
  XSECURE_API_AES_DECRYPT_CM_KAT, XSECURE_API_RSA_PUB_ENC_KAT, XSECURE_API_ELLIPTIC_SIGN_VERIFY_KAT, XSECURE_API_SHA3_KAT,
  XSECURE_API_AES_ENCRYPT_KAT, XSECURE_API_RSA_PRIVATE_DEC_KAT, XSECURE_API_ELLIPTIC_SIGN_GEN_KAT, XSECURE_API_TRNG_KAT,
  XSECURE_API_UPDATE_KAT_STATUS
}
 
enum  XSecure_RsaOperationMode {
  XSECURE_RSA_EXPQ_MODE = 0, XSECURE_RSA_CRT_MODE, XSECURE_RSA_EXPOPT_MODE, XSECURE_RSA_EXPQ_MODE = 0,
  XSECURE_RSA_CRT_MODE, XSECURE_RSA_EXPOPT_MODE
}
 
enum  XSecure_ApiId {
  XSECURE_API_FEATURES = 0U, XSECURE_API_RSA_SIGN_VERIFY, XSECURE_API_RSA_PUBLIC_ENCRYPT, XSECURE_API_RSA_PRIVATE_DECRYPT,
  XSECURE_API_SHA3_UPDATE, XSECURE_API_ELLIPTIC_GENERATE_KEY, XSECURE_API_ELLIPTIC_GENERATE_SIGN, XSECURE_API_ELLIPTIC_VALIDATE_KEY,
  XSECURE_API_ELLIPTIC_VERIFY_SIGN, XSECURE_API_AES_INIT, XSECURE_API_AES_OP_INIT, XSECURE_API_AES_UPDATE_AAD,
  XSECURE_API_AES_ENCRYPT_UPDATE, XSECURE_API_AES_ENCRYPT_FINAL, XSECURE_API_AES_DECRYPT_UPDATE, XSECURE_API_AES_DECRYPT_FINAL,
  XSECURE_API_AES_KEY_ZERO, XSECURE_API_AES_WRITE_KEY, XSECURE_API_AES_LOCK_USER_KEY, XSECURE_API_AES_KEK_DECRYPT,
  XSECURE_API_AES_SET_DPA_CM, XSECURE_API_KAT, XSECURE_API_AES_PERFORM_OPERATION = 23U, XSECURE_API_MAX,
  XSECURE_API_FEATURES = 0U, XSECURE_API_RSA_SIGN_VERIFY, XSECURE_API_RSA_PUBLIC_ENCRYPT, XSECURE_API_RSA_PRIVATE_DECRYPT,
  XSECURE_API_SHA3_OPERATION, XSECURE_API_ELLIPTIC_GENERATE_KEY, XSECURE_API_ELLIPTIC_GENERATE_SIGN, XSECURE_API_ELLIPTIC_VALIDATE_KEY,
  XSECURE_API_ELLIPTIC_VERIFY_SIGN, XSECURE_API_AES_INIT, XSECURE_API_AES_OP_INIT, XSECURE_API_AES_UPDATE_AAD,
  XSECURE_API_AES_ENCRYPT_UPDATE, XSECURE_API_AES_ENCRYPT_FINAL, XSECURE_API_AES_DECRYPT_UPDATE, XSECURE_API_AES_DECRYPT_FINAL,
  XSECURE_API_AES_KEY_ZERO, XSECURE_API_AES_WRITE_KEY, XSECURE_API_AES_LOCK_USER_KEY, XSECURE_API_AES_KEK_DECRYPT,
  XSECURE_API_AES_SET_DPA_CM, XSECURE_API_KAT, XSECURE_API_TRNG_GENERATE, XSECURE_API_AES_PERFORM_OPERATION,
  XSECURE_API_GEN_SHARED_SECRET = 33U, XSECURE_API_RESERVED = 36U, XSECURE_API_AES_PERFORM_OPERATION_AND_ZEROIZE_KEY, XSECURE_API_SHA2_OPERATION,
  XSECURE_API_MAX, XSECURE_API_FEATURES = 0U, XSECURE_API_RSA_SIGN_VERIFY, XSECURE_API_RSA_PUBLIC_ENCRYPT,
  XSECURE_API_RSA_PRIVATE_DECRYPT, XSECURE_API_SHA3_UPDATE, XSECURE_API_ELLIPTIC_GENERATE_KEY, XSECURE_API_ELLIPTIC_GENERATE_SIGN,
  XSECURE_API_ELLIPTIC_VALIDATE_KEY, XSECURE_API_ELLIPTIC_VERIFY_SIGN, XSECURE_API_AES_INIT, XSECURE_API_AES_OP_INIT,
  XSECURE_API_AES_UPDATE_AAD, XSECURE_API_AES_ENCRYPT_UPDATE, XSECURE_API_AES_ENCRYPT_FINAL, XSECURE_API_AES_DECRYPT_UPDATE,
  XSECURE_API_AES_DECRYPT_FINAL, XSECURE_API_AES_KEY_ZERO, XSECURE_API_AES_WRITE_KEY, XSECURE_API_AES_LOCK_USER_KEY,
  XSECURE_API_AES_KEK_DECRYPT, XSECURE_API_AES_SET_DPA_CM, XSECURE_API_KAT, XSECURE_API_TRNG_GENERATE,
  XSECURE_API_AES_PERFORM_OPERATION, XSECURE_API_UPDATE_HNIC_CRYPTO_STATUS, XSECURE_API_UPDATE_CPM5N_CRYPTO_STATUS, XSECURE_API_UPDATE_PCIDE_CRYPTO_STATUS,
  XSECURE_API_UPDATE_PKI_CRYPTO_STATUS, XSECURE_API_UPDATE_DDR_KAT_STATUS, XSECURE_API_UPDATE_HNIC_KAT_STATUS, XSECURE_API_UPDATE_CPM5N_KAT_STATUS,
  XSECURE_API_UPDATE_PCIDE_KAT_STATUS, XSECURE_API_UPDATE_PKI_KAT_STATUS, XSECURE_API_GEN_SHARED_SECRET, XSECURE_API_KEY_UNWRAP = 35,
  XSECURE_API_RESERVED, XSECURE_API_AES_PERFORM_OPERATION_AND_ZEROIZE_KEY, XSECURE_API_RSA_RELEASE_KEY, XSECURE_API_MAX
}
 
enum  XSecure_KatId {
  XSECURE_API_AES_DECRYPT_KAT = 0U, XSECURE_API_AES_DECRYPT_CM_KAT, XSECURE_API_RSA_PUB_ENC_KAT, XSECURE_API_ELLIPTIC_SIGN_VERIFY_KAT,
  XSECURE_API_SHA3_KAT, XSECURE_API_AES_ENCRYPT_KAT, XSECURE_API_RSA_PRIVATE_DEC_KAT, XSECURE_API_ELLIPTIC_SIGN_GEN_KAT,
  XSECURE_API_AES_DECRYPT_KAT = 0U, XSECURE_API_AES_DECRYPT_CM_KAT, XSECURE_API_RSA_PUB_ENC_KAT, XSECURE_API_ELLIPTIC_SIGN_VERIFY_KAT,
  XSECURE_API_SHA3_KAT, XSECURE_API_AES_ENCRYPT_KAT, XSECURE_API_RSA_PRIVATE_DEC_KAT, XSECURE_API_ELLIPTIC_SIGN_GEN_KAT,
  XSECURE_API_TRNG_KAT, XSECURE_API_UPDATE_KAT_STATUS, XSECURE_API_SHA2_KAT, XSECURE_API_AES_DECRYPT_KAT = 0U,
  XSECURE_API_AES_DECRYPT_CM_KAT, XSECURE_API_RSA_PUB_ENC_KAT, XSECURE_API_ELLIPTIC_SIGN_VERIFY_KAT, XSECURE_API_SHA3_KAT,
  XSECURE_API_AES_ENCRYPT_KAT, XSECURE_API_RSA_PRIVATE_DEC_KAT, XSECURE_API_ELLIPTIC_SIGN_GEN_KAT, XSECURE_API_TRNG_KAT,
  XSECURE_API_UPDATE_KAT_STATUS
}
 
enum  XSecure_ApiId {
  XSECURE_API_FEATURES = 0U, XSECURE_API_RSA_SIGN_VERIFY, XSECURE_API_RSA_PUBLIC_ENCRYPT, XSECURE_API_RSA_PRIVATE_DECRYPT,
  XSECURE_API_SHA3_UPDATE, XSECURE_API_ELLIPTIC_GENERATE_KEY, XSECURE_API_ELLIPTIC_GENERATE_SIGN, XSECURE_API_ELLIPTIC_VALIDATE_KEY,
  XSECURE_API_ELLIPTIC_VERIFY_SIGN, XSECURE_API_AES_INIT, XSECURE_API_AES_OP_INIT, XSECURE_API_AES_UPDATE_AAD,
  XSECURE_API_AES_ENCRYPT_UPDATE, XSECURE_API_AES_ENCRYPT_FINAL, XSECURE_API_AES_DECRYPT_UPDATE, XSECURE_API_AES_DECRYPT_FINAL,
  XSECURE_API_AES_KEY_ZERO, XSECURE_API_AES_WRITE_KEY, XSECURE_API_AES_LOCK_USER_KEY, XSECURE_API_AES_KEK_DECRYPT,
  XSECURE_API_AES_SET_DPA_CM, XSECURE_API_KAT, XSECURE_API_AES_PERFORM_OPERATION = 23U, XSECURE_API_MAX,
  XSECURE_API_FEATURES = 0U, XSECURE_API_RSA_SIGN_VERIFY, XSECURE_API_RSA_PUBLIC_ENCRYPT, XSECURE_API_RSA_PRIVATE_DECRYPT,
  XSECURE_API_SHA3_OPERATION, XSECURE_API_ELLIPTIC_GENERATE_KEY, XSECURE_API_ELLIPTIC_GENERATE_SIGN, XSECURE_API_ELLIPTIC_VALIDATE_KEY,
  XSECURE_API_ELLIPTIC_VERIFY_SIGN, XSECURE_API_AES_INIT, XSECURE_API_AES_OP_INIT, XSECURE_API_AES_UPDATE_AAD,
  XSECURE_API_AES_ENCRYPT_UPDATE, XSECURE_API_AES_ENCRYPT_FINAL, XSECURE_API_AES_DECRYPT_UPDATE, XSECURE_API_AES_DECRYPT_FINAL,
  XSECURE_API_AES_KEY_ZERO, XSECURE_API_AES_WRITE_KEY, XSECURE_API_AES_LOCK_USER_KEY, XSECURE_API_AES_KEK_DECRYPT,
  XSECURE_API_AES_SET_DPA_CM, XSECURE_API_KAT, XSECURE_API_TRNG_GENERATE, XSECURE_API_AES_PERFORM_OPERATION,
  XSECURE_API_GEN_SHARED_SECRET = 33U, XSECURE_API_RESERVED = 36U, XSECURE_API_AES_PERFORM_OPERATION_AND_ZEROIZE_KEY, XSECURE_API_SHA2_OPERATION,
  XSECURE_API_MAX, XSECURE_API_FEATURES = 0U, XSECURE_API_RSA_SIGN_VERIFY, XSECURE_API_RSA_PUBLIC_ENCRYPT,
  XSECURE_API_RSA_PRIVATE_DECRYPT, XSECURE_API_SHA3_UPDATE, XSECURE_API_ELLIPTIC_GENERATE_KEY, XSECURE_API_ELLIPTIC_GENERATE_SIGN,
  XSECURE_API_ELLIPTIC_VALIDATE_KEY, XSECURE_API_ELLIPTIC_VERIFY_SIGN, XSECURE_API_AES_INIT, XSECURE_API_AES_OP_INIT,
  XSECURE_API_AES_UPDATE_AAD, XSECURE_API_AES_ENCRYPT_UPDATE, XSECURE_API_AES_ENCRYPT_FINAL, XSECURE_API_AES_DECRYPT_UPDATE,
  XSECURE_API_AES_DECRYPT_FINAL, XSECURE_API_AES_KEY_ZERO, XSECURE_API_AES_WRITE_KEY, XSECURE_API_AES_LOCK_USER_KEY,
  XSECURE_API_AES_KEK_DECRYPT, XSECURE_API_AES_SET_DPA_CM, XSECURE_API_KAT, XSECURE_API_TRNG_GENERATE,
  XSECURE_API_AES_PERFORM_OPERATION, XSECURE_API_UPDATE_HNIC_CRYPTO_STATUS, XSECURE_API_UPDATE_CPM5N_CRYPTO_STATUS, XSECURE_API_UPDATE_PCIDE_CRYPTO_STATUS,
  XSECURE_API_UPDATE_PKI_CRYPTO_STATUS, XSECURE_API_UPDATE_DDR_KAT_STATUS, XSECURE_API_UPDATE_HNIC_KAT_STATUS, XSECURE_API_UPDATE_CPM5N_KAT_STATUS,
  XSECURE_API_UPDATE_PCIDE_KAT_STATUS, XSECURE_API_UPDATE_PKI_KAT_STATUS, XSECURE_API_GEN_SHARED_SECRET, XSECURE_API_KEY_UNWRAP = 35,
  XSECURE_API_RESERVED, XSECURE_API_AES_PERFORM_OPERATION_AND_ZEROIZE_KEY, XSECURE_API_RSA_RELEASE_KEY, XSECURE_API_MAX
}
 < XilSecure API ids More...
 
enum  XSecure_KatId {
  XSECURE_API_AES_DECRYPT_KAT = 0U, XSECURE_API_AES_DECRYPT_CM_KAT, XSECURE_API_RSA_PUB_ENC_KAT, XSECURE_API_ELLIPTIC_SIGN_VERIFY_KAT,
  XSECURE_API_SHA3_KAT, XSECURE_API_AES_ENCRYPT_KAT, XSECURE_API_RSA_PRIVATE_DEC_KAT, XSECURE_API_ELLIPTIC_SIGN_GEN_KAT,
  XSECURE_API_AES_DECRYPT_KAT = 0U, XSECURE_API_AES_DECRYPT_CM_KAT, XSECURE_API_RSA_PUB_ENC_KAT, XSECURE_API_ELLIPTIC_SIGN_VERIFY_KAT,
  XSECURE_API_SHA3_KAT, XSECURE_API_AES_ENCRYPT_KAT, XSECURE_API_RSA_PRIVATE_DEC_KAT, XSECURE_API_ELLIPTIC_SIGN_GEN_KAT,
  XSECURE_API_TRNG_KAT, XSECURE_API_UPDATE_KAT_STATUS, XSECURE_API_SHA2_KAT, XSECURE_API_AES_DECRYPT_KAT = 0U,
  XSECURE_API_AES_DECRYPT_CM_KAT, XSECURE_API_RSA_PUB_ENC_KAT, XSECURE_API_ELLIPTIC_SIGN_VERIFY_KAT, XSECURE_API_SHA3_KAT,
  XSECURE_API_AES_ENCRYPT_KAT, XSECURE_API_RSA_PRIVATE_DEC_KAT, XSECURE_API_ELLIPTIC_SIGN_GEN_KAT, XSECURE_API_TRNG_KAT,
  XSECURE_API_UPDATE_KAT_STATUS
}
 
enum  XSecure_DDRKatId {
  XSECURE_DDR_0_AES_GCM_KAT = 0U, XSECURE_DDR_0_AES_XTS_KAT, XSECURE_DDR_0_KDF_KAT, XSECURE_DDR_0_TRNG_KAT,
  XSECURE_DDR_1_AES_GCM_KAT, XSECURE_DDR_1_AES_XTS_KAT, XSECURE_DDR_1_KDF_KAT, XSECURE_DDR_1_TRNG_KAT,
  XSECURE_DDR_2_AES_GCM_KAT, XSECURE_DDR_2_AES_XTS_KAT, XSECURE_DDR_2_KDF_KAT, XSECURE_DDR_2_TRNG_KAT,
  XSECURE_DDR_3_AES_GCM_KAT, XSECURE_DDR_3_AES_XTS_KAT, XSECURE_DDR_3_KDF_KAT, XSECURE_DDR_3_TRNG_KAT,
  XSECURE_DDR_4_AES_GCM_KAT, XSECURE_DDR_4_AES_XTS_KAT, XSECURE_DDR_4_KDF_KAT, XSECURE_DDR_4_TRNG_KAT,
  XSECURE_DDR_5_AES_GCM_KAT, XSECURE_DDR_5_AES_XTS_KAT, XSECURE_DDR_5_KDF_KAT, XSECURE_DDR_5_TRNG_KAT,
  XSECURE_DDR_6_AES_GCM_KAT, XSECURE_DDR_6_AES_XTS_KAT, XSECURE_DDR_6_KDF_KAT, XSECURE_DDR_6_TRNG_KAT,
  XSECURE_DDR_7_AES_GCM_KAT, XSECURE_DDR_7_AES_XTS_KAT, XSECURE_DDR_7_KDF_KAT, XSECURE_DDR_7_TRNG_KAT
}
 
enum  XSecure_HnicKatId {
  XSECURE_HNIC_AES_GCM_ENC_KAT = 0U, XSECURE_HNIC_AES_GCM_DECRYPT_KAT, XSECURE_HNIC_AES_CM_ENC_KAT, XSECURE_HNIC_AES_CM_DEC_KAT,
  XSECURE_HNIC_AES_GCM_EN_CHECK, XSECURE_HNIC_AES_GCM_BYPASS_CHECK
}
 
enum  XSecure_Cpm5nKatId {
  XSECURE_CPM5N_AES_XTS_ENC_KAT = 8U, XSECURE_CPM5N_AES_XTS_DEC_KAT, XSECURE_CPM5N_AES_CM_ENC_KAT, XSECURE_CPM5N_AES_CM_DEC_KAT,
  XSECURE_CPM5N_AES_XTS_EN_CHECK, XSECURE_CPM5N_AES_XTS_BYPASS_CHECK
}
 
enum  XSecure_PciIdeKatId { XSECURE_PCIDE_AES_ENC_KAT = 16U, XSECURE_PCIDE_AES_DEC_KAT }
 
enum  XSecure_PkiKatId {
  XSECURE_PKI_ECC_P192_SIGN_GEN_KAT = 0U, XSECURE_PKI_ECC_P192_SIGN_VER_KAT, XSECURE_PKI_ECC_P192_PWCT, XSECURE_PKI_ECC_P192_CM_SIGN_GEN_KAT,
  XSECURE_PKI_ECC_P192_CM_SIGN_VER_KAT, XSECURE_PKI_ECC_P192_CM_PWCT, XSECURE_PKI_ECC_P384_SIGN_GEN_KAT, XSECURE_PKI_ECC_P384_SIGN_VER_KAT,
  XSECURE_PKI_ECC_P384_PWCT, XSECURE_PKI_ECC_P384_CM_SIGN_GEN_KAT, XSECURE_PKI_ECC_P384_CM_SIGN_VER_KAT, XSECURE_PKI_ECC_P384_CM_PWCT,
  XSECURE_PKI_ECC_P521_SIGN_GEN_KAT, XSECURE_PKI_ECC_P521_SIGN_VER_KAT, XSECURE_PKI_ECC_P521_PWCT, XSECURE_PKI_ECC_P521_CM_SIGN_GEN_KAT,
  XSECURE_PKI_ECC_P521_CM_SIGN_VER_KAT, XSECURE_PKI_ECC_P521_CM_PWCT, XSECURE_PKI_ECC_Secp256k1_SIGN_GEN_KAT, XSECURE_PKI_ECC_Secp256k1_SIGN_VER_KAT,
  XSECURE_PKI_ECC_Secp256k1_PWCT, XSECURE_PKI_ECC_Secp256k1_CM_SIGN_GEN_KAT, XSECURE_PKI_ECC_Secp256k1_CM_SIGN_VER_KAT, XSECURE_PKI_ECC_Secp256k1_CM_PWCT,
  XSECURE_PKI_ECC_fp256_SIGN_GEN_KAT, XSECURE_PKI_ECC_fp256_SIGN_VER_KAT, XSECURE_PKI_ECC_fp256k_PWCT, XSECURE_PKI_ECC_fp256_CM_SIGN_GEN_KAT,
  XSECURE_PKI_ECC_fp256_CM_SIGN_VER_KAT, XSECURE_PKI_ECC_fp256k_CM_PWCT, XSECURE_PKI_EdDSA_Ed25519_SIGN_GEN_KAT, XSECURE_PKI_EdDSA_Ed25519_SIGN_VER_KAT,
  XSECURE_PKI_EdDSA_Ed25519_PWCT = 32U, XSECURE_PKI_EdDSA_Ed25519_CM_SIGN_GEN_KAT, XSECURE_PKI_EdDSA_Ed25519_CM_SIGN_VER_KAT, XSECURE_PKI_EdDSA_Ed25519_CM_PWCT,
  XSECURE_PKI_EdDSA_Ed448_SIGN_GEN_KAT, XSECURE_PKI_EdDSA_Ed448_SIGN_VER_KAT, XSECURE_PKI_EdDSA_Ed448_PWCT, XSECURE_PKI_EdDSA_Ed448_CM_SIGN_GEN_KAT,
  XSECURE_PKI_EdDSA_Ed448_CM_SIGN_VER_KAT, XSECURE_PKI_EdDSA_Ed448_CM_PWCT, XSECURE_PKI_ECDH_Curve25519_ENC_KAT, XSECURE_PKI_ECDH_Curve25519_DEC_KAT,
  XSECURE_PKI_ECDH_Curve25519_PWCT, XSECURE_PKI_ECDH_Curve25519_CM_ENC_KAT, XSECURE_PKI_ECDH_Curve25519_CM_DEC_KAT, XSECURE_PKI_ECDH_Curve25519_CM_PWCT,
  XSECURE_PKI_ECDH_Curve448_ENC_KAT, XSECURE_PKI_ECDH_Curve448_DEC_KAT, XSECURE_PKI_ECDH_Curve448_PWCT, XSECURE_PKI_ECDH_Curve448_CM_ENC_KAT,
  XSECURE_PKI_ECDH_Curve448_CM_DEC_KAT, XSECURE_PKI_ECDH_Curve448_CM_PWCT, XSECURE_PKI_RSA_2048_SIGN_GEN_KAT, XSECURE_PKI_RSA_2048_SIGN_VER_KAT,
  XSECURE_PKI_RSA_2048_ENC_KAT, XSECURE_PKI_RSA_2048_DEC_KAT, XSECURE_PKI_RSA_2048_PWCT, XSECURE_PKI_RSA_2048_CM_SIGN_GEN_KAT,
  XSECURE_PKI_RSA_2048_CM_SIGN_VER_KAT, XSECURE_PKI_RSA_2048_CM_ENC_KAT, XSECURE_PKI_RSA_2048_CM_DEC_KAT, XSECURE_PKI_RSA_2048_CM_PWCT,
  XSECURE_PKI_RSA_3072_SIGN_GEN_KAT = 64U, XSECURE_PKI_RSA_3072_SIGN_VER_KAT, XSECURE_PKI_RSA_3072_ENC_KAT, XSECURE_PKI_RSA_3072_DEC_KAT,
  XSECURE_PKI_RSA_3072_PWCT, XSECURE_PKI_RSA_3072_CM_SIGN_GEN_KAT, XSECURE_PKI_RSA_3072_CM_SIGN_VER_KAT, XSECURE_PKI_RSA_3072_CM_ENC_KAT,
  XSECURE_PKI_RSA_3072_CM_DEC_KAT, XSECURE_PKI_RSA_3072_CM_PWCT, XSECURE_PKI_RSA_4096_SIGN_GEN_KAT, XSECURE_PKI_RSA_4096_SIGN_VER_KAT,
  XSECURE_PKI_RSA_4096_ENC_KAT, XSECURE_PKI_RSA_4096_DEC_KAT, XSECURE_PKI_RSA_4096_PWCT, XSECURE_PKI_RSA_4096_CM_SIGN_GEN_KAT,
  XSECURE_PKI_RSA_4096_CM_SIGN_VER_KAT, XSECURE_PKI_RSA_4096_CM_ENC_KAT, XSECURE_PKI_RSA_4096_CM_DEC_KAT, XSECURE_PKI_RSA_4096_CM_PWCT,
  XSECURE_PKI_TRNG_HEALTH_TEST, XSECURE_PKI_TRNG_DRBG_KAT, XSECURE_PKI_SHA2_256_KAT, XSECURE_PKI_SHA2_384_KAT,
  XSECURE_PKI_SHA2_512_KAT
}
 
enum  XSecure_CryptoStatusOp { XSECURE_CRYPTO_STATUS_SET = 0U, XSECURE_CRYPTO_STATUS_CLEAR }
 
enum  XSecure_KeyOp { XSECURE_ENC_OP = 0U, XSECURE_DEC_OP }
 
enum  XSecure_RsaOperationMode {
  XSECURE_RSA_EXPQ_MODE = 0, XSECURE_RSA_CRT_MODE, XSECURE_RSA_EXPOPT_MODE, XSECURE_RSA_EXPQ_MODE = 0,
  XSECURE_RSA_CRT_MODE, XSECURE_RSA_EXPOPT_MODE
}
 

Functions

int XSecure_CfgSssAes (XPmcDma *DmaPtr, const XSecure_Sss *SssInstance)
 This function configures SSS to AES engine. More...
 

Variables

const XSecure_AesKeyLookup AesKeyLookupTbl [XSECURE_MAX_KEY_SOURCES]
 This lookup table array defines properties of Key sources. More...
 
u64 XSecure_RsaKeyParam::ExpAddr
 Exponent address. More...
 
u64 XSecure_RsaKeyParam::ModAddr
 Modulus address. More...
 
u64 XSecure_RsaKeyParam::PAddr
 First factor address. More...
 
u64 XSecure_RsaKeyParam::QAddr
 Second factor address. More...
 
u64 XSecure_RsaKeyParam::DPAddr
 Private exponent 1. More...
 
u64 XSecure_RsaKeyParam::DQAddr
 Private exponent 2. More...
 
u64 XSecure_RsaKeyParam::QInvAddr
 Q inverse address. More...
 
u64 XSecure_RsaKeyParam::TotAddr
 Totient address. More...
 
u64 XSecure_RsaKeyParam::RNAddr
 R address. More...
 
u64 XSecure_RsaKeyParam::RRNAddr
 RR address. More...
 
u32 XSecure_RsaKeyParam::PSize
 Size of first factor(P) in bytes. More...
 
u32 XSecure_RsaKeyParam::QSize
 Size of first factor(Q) in bytes. More...
 
u32 XSecure_RsaKeyParam::PubExp
 Public exponent. More...
 
u32 XSecure_RsaKeyParam::IsPrimeAvail
 Prime number available. More...
 
u32 XSecure_RsaKeyParam::IsPrivExpAvail
 Private exponent available i.e. More...
 
u32 XSecure_RsaKeyParam::IsTotAvail
 Totient Available. More...
 
u32 XSecure_RsaKeyParam::IsPubExpAvail
 Public exponent available. More...
 
XSecure_RsaOperationMode XSecure_RsaKeyParam::OpMode
 RSA operation mode. More...
 
u64 XSecure_ShaOpParams::DataAddr
 SHA2/3 data address. More...
 
u64 XSecure_ShaOpParams::HashAddr
 SHA2/3 hash address. More...
 
u32 XSecure_ShaOpParams::DataSize
 SHA2/3 data size. More...
 
u32 XSecure_ShaOpParams::HashBufSize
 SHA2/3 hash buffer size. More...
 
u8 XSecure_ShaOpParams::ShaMode
 SHA2/3 mode. More...
 
u8 XSecure_ShaOpParams::IsLast
 Is last update. More...
 
u8 XSecure_ShaOpParams::OperationFlags
 SHA2/3 operation flags. More...
 
typedef __attribute__
 This function returns the SHA2 crypto algorithm information. More...
 

AES_KEY_CLEAR register

enum  XSecure_AesKeySrc {
  XSECURE_AES_BBRAM_KEY = 0, XSECURE_AES_BBRAM_RED_KEY, XSECURE_AES_BH_KEY, XSECURE_AES_BH_RED_KEY,
  XSECURE_AES_EFUSE_KEY, XSECURE_AES_EFUSE_RED_KEY, XSECURE_AES_EFUSE_USER_KEY_0, XSECURE_AES_EFUSE_USER_KEY_1,
  XSECURE_AES_EFUSE_USER_RED_KEY_0, XSECURE_AES_EFUSE_USER_RED_KEY_1, XSECURE_AES_KUP_KEY, XSECURE_AES_PUF_KEY,
  XSECURE_AES_USER_KEY_0, XSECURE_AES_USER_KEY_1, XSECURE_AES_USER_KEY_2, XSECURE_AES_USER_KEY_3,
  XSECURE_AES_USER_KEY_4, XSECURE_AES_USER_KEY_5, XSECURE_AES_USER_KEY_6, XSECURE_AES_USER_KEY_7,
  XSECURE_AES_EXPANDED_KEYS, XSECURE_AES_PUF_RED_EXPANDED_KEYS, XSECURE_AES_ALL_KEYS, XSECURE_AES_INVALID_KEY,
  XSECURE_AES_BH_KEY = 0, XSECURE_AES_BH_RED_KEY, XSECURE_AES_EFUSE_KEY, XSECURE_AES_EFUSE_RED_KEY,
  XSECURE_AES_KUP_KEY, XSECURE_AES_FAMILY_KEY, XSECURE_AES_PUF_KEY, XSECURE_AES_USER_KEY_0,
  XSECURE_AES_USER_KEY_1, XSECURE_AES_USER_KEY_2, XSECURE_AES_USER_KEY_3, XSECURE_AES_USER_KEY_4,
  XSECURE_AES_USER_KEY_5, XSECURE_AES_USER_KEY_6, XSECURE_AES_USER_KEY_7, XSECURE_AES_EXPANDED_KEYS,
  XSECURE_AES_PUF_RED_EXPANDED_KEYS, XSECURE_AES_ALL_KEYS, XSECURE_AES_INVALID_KEY
}
 Used for selecting the Key source of AES Core. More...
 
#define XSECURE_AES_KEY_CLEAR_OFFSET   (0x00000014U)
 < AES_KEY_CLEAR register offset and definitions More...
 
#define XSECURE_AES_KEY_CLEAR_PUF_KEY_MASK   (0x00200000U)
 
#define XSECURE_AES_KEY_CLEAR_BBRAM_RED_KEY_MASK   (0x00100000U)
 
#define XSECURE_AES_KEY_CLEAR_BH_RED_KEY_MASK   (0x00080000U)
 
#define XSECURE_AES_KEY_CLEAR_BH_KEY_MASK   (0x00040000U)
 
#define XSECURE_AES_KEY_CLEAR_EFUSE_USER_RED_KEY_1_MASK   (0x00020000U)
 
#define XSECURE_AES_KEY_CLEAR_EFUSE_USER_RED_KEY_0_MASK   (0x00010000U)
 
#define XSECURE_AES_KEY_CLEAR_EFUSE_RED_KEY_MASK   (0x00008000U)
 
#define XSECURE_AES_KEY_CLEAR_EFUSE_USER_KEY_1_MASK   (0x00004000U)
 
#define XSECURE_AES_KEY_CLEAR_EFUSE_USER_KEY_0_MASK   (0x00002000U)
 
#define XSECURE_AES_KEY_CLEAR_EFUSE_KEY_MASK   (0x00001000U)
 
#define XSECURE_AES_KEY_CLEAR_USER_KEY_7_MASK   (0x00000800U)
 
#define XSECURE_AES_KEY_CLEAR_USER_KEY_6_MASK   (0x00000400U)
 
#define XSECURE_AES_KEY_CLEAR_USER_KEY_5_MASK   (0x00000200U)
 
#define XSECURE_AES_KEY_CLEAR_USER_KEY_4_MASK   (0x00000100U)
 
#define XSECURE_AES_KEY_CLEAR_USER_KEY_3_MASK   (0x00000080U)
 
#define XSECURE_AES_KEY_CLEAR_USER_KEY_2_MASK   (0x00000040U)
 
#define XSECURE_AES_KEY_CLEAR_USER_KEY_1_MASK   (0x00000020U)
 
#define XSECURE_AES_KEY_CLEAR_USER_KEY_0_MASK   (0x00000010U)
 
#define XSECURE_AES_KEY_CLEAR_KUP_KEY_MASK   (0x00000002U)
 
#define XSECURE_AES_KEY_CLEAR_AES_KEY_ZEROIZE_MASK   (0x00000001U)
 
#define XSECURE_AES_KEY_CLR_REG_CLR_MASK   (0x00000000U)
 
#define XSECURE_AES_KEY_CLEAR_ALL_KEYS_MASK   (0x003FFFF3U)
 
#define XSECURE_AES_KEY_CLEAR_PUF_RED_EXPANDED_KEYS_MASK   (0x003B8003U)
 
#define XSECURE_AES_KEY_DEC_SEL_BBRAM_RED   (0x0U)
 
#define XSECURE_AES_KEY_DEC_SEL_BH_RED   (0x1U)
 
#define XSECURE_AES_KEY_DEC_SEL_EFUSE_RED   (0x2U)
 
#define XSECURE_AES_KEY_DEC_SEL_EFUSE_USR0_RED   (0x3U)
 
#define XSECURE_AES_KEY_DEC_SEL_EFUSE_USR1_RED   (0x4U)
 
#define XSECURE_AES_INVALID_CFG   (0xFFFFFFFFU)
 
#define XSECURE_MAX_KEY_SOURCES   XSECURE_AES_EXPANDED_KEYS
 Max key source value. More...
 

Debug related macros

#define XSECURE_DEBUG   (0U)
 < Enable client printfs by setting XSECURE_DEBUG to 1 More...
 
#define XSECURE_DEBUG_GENERAL   (0U)
 

Macro Definition Documentation

#define XILSECURE_MODULE_ID   (0x05U)

XilSecure Module Id.

#define XSECURE_ADDR_HIGH_SHIFT   (32U)

Shift for getting higher address.

#define XSECURE_ADDR_HIGH_SHIFT   (32U)

Shift for getting higher address.

#define XSECURE_ADDR_HIGH_SHIFT   (32U)
#define XSECURE_AES_BASEADDR   (0xF11E0000U)

AES Base Address.

#define XSECURE_AES_KEY_CLEAR_OFFSET   (0x00000014U)

< AES_KEY_CLEAR register offset and definitions

#define XSECURE_DEBUG   (0U)

< Enable client printfs by setting XSECURE_DEBUG to 1

#define XSECURE_ECDSA_PRIME   (XSECURE_ECC_PRIME)

This macro is for backward compatibility.

For ECC Prime curves, use XSECURE_ECC_PRIME

Referenced by main().

#define XSecure_EllipticCrvClass   XSecure_EccCrvClass

Alias for XSecure_EccCrvClass enum for backward compatibility.

#define XSECURE_HMAC_MAJOR_VERSION   5

Major version of HMAC.

#define XSECURE_HMAC_MINOR_VERSION   7

Minor version of HMAC.

#define XSECURE_IPI_MASK_DEF_VAL   (0U)
#define XSECURE_KAT_API_ERR_ID   (((u32)XILSECURE_MODULE_ID << 8U) | ((u32)XSECURE_API_KAT))

XilSecure KAT API error id.

#define XSECURE_KAT_HDR_LEN   (1U)

< KAT macros

Header Length

Referenced by XSecure_UpdateKatStatusIpiHandler().

#define XSECURE_KAT_HDR_LEN   (1U)

< KAT macros

Header Length

#define XSECURE_KAT_MAJOR_ERROR
Value:
(((u32)XPLMI_ERR_CDO_CMD + (XSECURE_KAT_API_ERR_ID & \
XPLMI_ERR_CDO_CMD_MASK)))
#define XSECURE_KAT_API_ERR_ID
XilSecure KAT API error id.
Definition: xsecure_defs.h:108

Xilsecure KAT major error for client APIs.

#define XSECURE_KEY_ID_LEN_IN_BYTES   (128U)

Key id length in bytes.

#define XSECURE_KEY_ID_LEN_IN_BYTES   (128U)

Key id length in bytes.

#define XSECURE_MAX_KAT_MASK_LEN   (3U)

Maximum mask length.

Referenced by XSecure_UpdateKatStatusIpiHandler(), and XSecure_UpdatePkiKatStatus().

#define XSECURE_MAX_KAT_MASK_LEN   (3U)

Maximum mask length.

#define XSECURE_MAX_KEY_SOURCES   XSECURE_AES_EXPANDED_KEYS

Max key source value.

#define XSECURE_MIN_KAT_MASK_LEN   (1U)
#define XSECURE_MIN_KAT_MASK_LEN   (1U)

Minimum mask length.

#define XSECURE_SHA2_MAJOR_VERSION   5

Major version of SHA2.

#define XSECURE_SHA2_MINOR_VERSION   7

Minor version of SHA2.

#define XSECURE_SHARED_KEY_SLOT_STATUS_START_OFFSET   (12U)

Bitmap offset.

#define XSECURE_SHARED_KEY_STORE_SIZE_OFFSET   (8U)

Key size offset.

#define XSECURE_WORD_LEN   (4U)

Word length.

Enumeration Type Documentation

Used for selecting the Key source of AES Core.

Enumerator
XSECURE_AES_BBRAM_KEY 

BBRAM Key.

XSECURE_AES_BBRAM_RED_KEY 

BBRAM Red Key.

XSECURE_AES_BH_KEY 

BH Key.

XSECURE_AES_BH_RED_KEY 

BH Red Key.

XSECURE_AES_EFUSE_KEY 

eFUSE Key

XSECURE_AES_EFUSE_RED_KEY 

eFUSE Red Key

XSECURE_AES_EFUSE_USER_KEY_0 

eFUSE User Key 0

XSECURE_AES_EFUSE_USER_KEY_1 

eFUSE User Key 1

XSECURE_AES_EFUSE_USER_RED_KEY_0 

eFUSE User Red Key 0

XSECURE_AES_EFUSE_USER_RED_KEY_1 

eFUSE User Red Key 1

XSECURE_AES_KUP_KEY 

KUP key.

XSECURE_AES_PUF_KEY 

PUF key.

XSECURE_AES_USER_KEY_0 

User Key 0.

XSECURE_AES_USER_KEY_1 

User Key 1.

XSECURE_AES_USER_KEY_2 

User Key 2.

XSECURE_AES_USER_KEY_3 

User Key 3.

XSECURE_AES_USER_KEY_4 

User Key 4.

XSECURE_AES_USER_KEY_5 

User Key 5.

XSECURE_AES_USER_KEY_6 

User Key 6.

XSECURE_AES_USER_KEY_7 

User Key 7.

XSECURE_AES_EXPANDED_KEYS 

Expanded keys.

XSECURE_AES_PUF_RED_EXPANDED_KEYS 

AES PUF,RED,KUP keys.

XSECURE_AES_ALL_KEYS 

AES All keys.

XSECURE_AES_INVALID_KEY 

AES Invalid Key.

XSECURE_AES_BH_KEY 

BH Key.

XSECURE_AES_BH_RED_KEY 

BH Red Key.

XSECURE_AES_EFUSE_KEY 

eFUSE Key

XSECURE_AES_EFUSE_RED_KEY 

eFUSE Red Key

XSECURE_AES_KUP_KEY 

KUP key.

XSECURE_AES_FAMILY_KEY 

Family key.

XSECURE_AES_PUF_KEY 

PUF key.

XSECURE_AES_USER_KEY_0 

User Key 0.

XSECURE_AES_USER_KEY_1 

User Key 1.

XSECURE_AES_USER_KEY_2 

User Key 2.

XSECURE_AES_USER_KEY_3 

User Key 3.

XSECURE_AES_USER_KEY_4 

User Key 4.

XSECURE_AES_USER_KEY_5 

User Key 5.

XSECURE_AES_USER_KEY_6 

User Key 6.

XSECURE_AES_USER_KEY_7 

User Key 7.

XSECURE_AES_EXPANDED_KEYS 

Expanded keys.

XSECURE_AES_PUF_RED_EXPANDED_KEYS 

AES PUF,RED,KUP keys.

XSECURE_AES_ALL_KEYS 

AES All keys.

XSECURE_AES_INVALID_KEY 

AES Invalid Key.

Enumerator
XSECURE_ENCRYPT 

Encrypt operation.

XSECURE_DECRYPT 

Decrypt operation.

XSECURE_ENCRYPT 

Encrypt operation.

XSECURE_DECRYPT 

Decrypt operation.

< XilSecure API ids

Enumerator
XSECURE_API_FEATURES 

0U

XSECURE_API_RSA_SIGN_VERIFY 

1U

XSECURE_API_RSA_PUBLIC_ENCRYPT 

2U

XSECURE_API_RSA_PRIVATE_DECRYPT 

3U

XSECURE_API_SHA3_UPDATE 

4U

XSECURE_API_ELLIPTIC_GENERATE_KEY 

5U

XSECURE_API_ELLIPTIC_GENERATE_SIGN 

6U

XSECURE_API_ELLIPTIC_VALIDATE_KEY 

7U

XSECURE_API_ELLIPTIC_VERIFY_SIGN 

8U

XSECURE_API_AES_INIT 

9U

XSECURE_API_AES_OP_INIT 

10U

XSECURE_API_AES_UPDATE_AAD 

11U

XSECURE_API_AES_ENCRYPT_UPDATE 

12U

XSECURE_API_AES_ENCRYPT_FINAL 

13U

XSECURE_API_AES_DECRYPT_UPDATE 

14U

XSECURE_API_AES_DECRYPT_FINAL 

15U

XSECURE_API_AES_KEY_ZERO 

16U

XSECURE_API_AES_WRITE_KEY 

17U

XSECURE_API_AES_LOCK_USER_KEY 

18U

XSECURE_API_AES_KEK_DECRYPT 

19U

XSECURE_API_AES_SET_DPA_CM 

20U

XSECURE_API_KAT 

21U

22U reserved for versal_net

XSECURE_API_AES_PERFORM_OPERATION 

23U

XSECURE_API_MAX 

24U

XSECURE_API_FEATURES 

0U

XSECURE_API_RSA_SIGN_VERIFY 

1U

XSECURE_API_RSA_PUBLIC_ENCRYPT 

2U

XSECURE_API_RSA_PRIVATE_DECRYPT 

3U

XSECURE_API_SHA3_OPERATION 

4U

XSECURE_API_ELLIPTIC_GENERATE_KEY 

5U

XSECURE_API_ELLIPTIC_GENERATE_SIGN 

6U

XSECURE_API_ELLIPTIC_VALIDATE_KEY 

7U

XSECURE_API_ELLIPTIC_VERIFY_SIGN 

8U

XSECURE_API_AES_INIT 

9U

XSECURE_API_AES_OP_INIT 

10U

XSECURE_API_AES_UPDATE_AAD 

11U

XSECURE_API_AES_ENCRYPT_UPDATE 

12U

XSECURE_API_AES_ENCRYPT_FINAL 

13U

XSECURE_API_AES_DECRYPT_UPDATE 

14U

XSECURE_API_AES_DECRYPT_FINAL 

15U

XSECURE_API_AES_KEY_ZERO 

16U

XSECURE_API_AES_WRITE_KEY 

17U

XSECURE_API_AES_LOCK_USER_KEY 

18U

XSECURE_API_AES_KEK_DECRYPT 

19U

XSECURE_API_AES_SET_DPA_CM 

20U

XSECURE_API_KAT 

21U

XSECURE_API_TRNG_GENERATE 

22U

XSECURE_API_AES_PERFORM_OPERATION 

23U

XSECURE_API_GEN_SHARED_SECRET 

33U

XSECURE_API_RESERVED 

36U

XSECURE_API_AES_PERFORM_OPERATION_AND_ZEROIZE_KEY 

37U

XSECURE_API_SHA2_OPERATION 

38U

XSECURE_API_MAX 

39U

XSECURE_API_FEATURES 

0U

XSECURE_API_RSA_SIGN_VERIFY 

1U

XSECURE_API_RSA_PUBLIC_ENCRYPT 

2U

XSECURE_API_RSA_PRIVATE_DECRYPT 

3U

XSECURE_API_SHA3_UPDATE 

4U

XSECURE_API_ELLIPTIC_GENERATE_KEY 

5U

XSECURE_API_ELLIPTIC_GENERATE_SIGN 

6U

XSECURE_API_ELLIPTIC_VALIDATE_KEY 

7U

XSECURE_API_ELLIPTIC_VERIFY_SIGN 

8U

XSECURE_API_AES_INIT 

9U

XSECURE_API_AES_OP_INIT 

10U

XSECURE_API_AES_UPDATE_AAD 

11U

XSECURE_API_AES_ENCRYPT_UPDATE 

12U

XSECURE_API_AES_ENCRYPT_FINAL 

13U

XSECURE_API_AES_DECRYPT_UPDATE 

14U

XSECURE_API_AES_DECRYPT_FINAL 

15U

XSECURE_API_AES_KEY_ZERO 

16U

XSECURE_API_AES_WRITE_KEY 

17U

XSECURE_API_AES_LOCK_USER_KEY 

18U

XSECURE_API_AES_KEK_DECRYPT 

19U

XSECURE_API_AES_SET_DPA_CM 

20U

XSECURE_API_KAT 

21U

XSECURE_API_TRNG_GENERATE 

22U

XSECURE_API_AES_PERFORM_OPERATION 

23U

XSECURE_API_UPDATE_HNIC_CRYPTO_STATUS 

24U

XSECURE_API_UPDATE_CPM5N_CRYPTO_STATUS 

25U

XSECURE_API_UPDATE_PCIDE_CRYPTO_STATUS 

26U

XSECURE_API_UPDATE_PKI_CRYPTO_STATUS 

27U

XSECURE_API_UPDATE_DDR_KAT_STATUS 

28U

XSECURE_API_UPDATE_HNIC_KAT_STATUS 

29U

XSECURE_API_UPDATE_CPM5N_KAT_STATUS 

30U

XSECURE_API_UPDATE_PCIDE_KAT_STATUS 

31U

XSECURE_API_UPDATE_PKI_KAT_STATUS 

32U

XSECURE_API_GEN_SHARED_SECRET 

33U

XSECURE_API_KEY_UNWRAP 

35U

XSECURE_API_RESERVED 

36U

XSECURE_API_AES_PERFORM_OPERATION_AND_ZEROIZE_KEY 

37U

XSECURE_API_RSA_RELEASE_KEY 

38U

XSECURE_API_MAX 

39U

< XilSecure API ids

Enumerator
XSECURE_API_FEATURES 

0U

XSECURE_API_RSA_SIGN_VERIFY 

1U

XSECURE_API_RSA_PUBLIC_ENCRYPT 

2U

XSECURE_API_RSA_PRIVATE_DECRYPT 

3U

XSECURE_API_SHA3_UPDATE 

4U

XSECURE_API_ELLIPTIC_GENERATE_KEY 

5U

XSECURE_API_ELLIPTIC_GENERATE_SIGN 

6U

XSECURE_API_ELLIPTIC_VALIDATE_KEY 

7U

XSECURE_API_ELLIPTIC_VERIFY_SIGN 

8U

XSECURE_API_AES_INIT 

9U

XSECURE_API_AES_OP_INIT 

10U

XSECURE_API_AES_UPDATE_AAD 

11U

XSECURE_API_AES_ENCRYPT_UPDATE 

12U

XSECURE_API_AES_ENCRYPT_FINAL 

13U

XSECURE_API_AES_DECRYPT_UPDATE 

14U

XSECURE_API_AES_DECRYPT_FINAL 

15U

XSECURE_API_AES_KEY_ZERO 

16U

XSECURE_API_AES_WRITE_KEY 

17U

XSECURE_API_AES_LOCK_USER_KEY 

18U

XSECURE_API_AES_KEK_DECRYPT 

19U

XSECURE_API_AES_SET_DPA_CM 

20U

XSECURE_API_KAT 

21U

22U reserved for versal_net

XSECURE_API_AES_PERFORM_OPERATION 

23U

XSECURE_API_MAX 

24U

XSECURE_API_FEATURES 

0U

XSECURE_API_RSA_SIGN_VERIFY 

1U

XSECURE_API_RSA_PUBLIC_ENCRYPT 

2U

XSECURE_API_RSA_PRIVATE_DECRYPT 

3U

XSECURE_API_SHA3_OPERATION 

4U

XSECURE_API_ELLIPTIC_GENERATE_KEY 

5U

XSECURE_API_ELLIPTIC_GENERATE_SIGN 

6U

XSECURE_API_ELLIPTIC_VALIDATE_KEY 

7U

XSECURE_API_ELLIPTIC_VERIFY_SIGN 

8U

XSECURE_API_AES_INIT 

9U

XSECURE_API_AES_OP_INIT 

10U

XSECURE_API_AES_UPDATE_AAD 

11U

XSECURE_API_AES_ENCRYPT_UPDATE 

12U

XSECURE_API_AES_ENCRYPT_FINAL 

13U

XSECURE_API_AES_DECRYPT_UPDATE 

14U

XSECURE_API_AES_DECRYPT_FINAL 

15U

XSECURE_API_AES_KEY_ZERO 

16U

XSECURE_API_AES_WRITE_KEY 

17U

XSECURE_API_AES_LOCK_USER_KEY 

18U

XSECURE_API_AES_KEK_DECRYPT 

19U

XSECURE_API_AES_SET_DPA_CM 

20U

XSECURE_API_KAT 

21U

XSECURE_API_TRNG_GENERATE 

22U

XSECURE_API_AES_PERFORM_OPERATION 

23U

XSECURE_API_GEN_SHARED_SECRET 

33U

XSECURE_API_RESERVED 

36U

XSECURE_API_AES_PERFORM_OPERATION_AND_ZEROIZE_KEY 

37U

XSECURE_API_SHA2_OPERATION 

38U

XSECURE_API_MAX 

39U

XSECURE_API_FEATURES 

0U

XSECURE_API_RSA_SIGN_VERIFY 

1U

XSECURE_API_RSA_PUBLIC_ENCRYPT 

2U

XSECURE_API_RSA_PRIVATE_DECRYPT 

3U

XSECURE_API_SHA3_UPDATE 

4U

XSECURE_API_ELLIPTIC_GENERATE_KEY 

5U

XSECURE_API_ELLIPTIC_GENERATE_SIGN 

6U

XSECURE_API_ELLIPTIC_VALIDATE_KEY 

7U

XSECURE_API_ELLIPTIC_VERIFY_SIGN 

8U

XSECURE_API_AES_INIT 

9U

XSECURE_API_AES_OP_INIT 

10U

XSECURE_API_AES_UPDATE_AAD 

11U

XSECURE_API_AES_ENCRYPT_UPDATE 

12U

XSECURE_API_AES_ENCRYPT_FINAL 

13U

XSECURE_API_AES_DECRYPT_UPDATE 

14U

XSECURE_API_AES_DECRYPT_FINAL 

15U

XSECURE_API_AES_KEY_ZERO 

16U

XSECURE_API_AES_WRITE_KEY 

17U

XSECURE_API_AES_LOCK_USER_KEY 

18U

XSECURE_API_AES_KEK_DECRYPT 

19U

XSECURE_API_AES_SET_DPA_CM 

20U

XSECURE_API_KAT 

21U

XSECURE_API_TRNG_GENERATE 

22U

XSECURE_API_AES_PERFORM_OPERATION 

23U

XSECURE_API_UPDATE_HNIC_CRYPTO_STATUS 

24U

XSECURE_API_UPDATE_CPM5N_CRYPTO_STATUS 

25U

XSECURE_API_UPDATE_PCIDE_CRYPTO_STATUS 

26U

XSECURE_API_UPDATE_PKI_CRYPTO_STATUS 

27U

XSECURE_API_UPDATE_DDR_KAT_STATUS 

28U

XSECURE_API_UPDATE_HNIC_KAT_STATUS 

29U

XSECURE_API_UPDATE_CPM5N_KAT_STATUS 

30U

XSECURE_API_UPDATE_PCIDE_KAT_STATUS 

31U

XSECURE_API_UPDATE_PKI_KAT_STATUS 

32U

XSECURE_API_GEN_SHARED_SECRET 

33U

XSECURE_API_KEY_UNWRAP 

35U

XSECURE_API_RESERVED 

36U

XSECURE_API_AES_PERFORM_OPERATION_AND_ZEROIZE_KEY 

37U

XSECURE_API_RSA_RELEASE_KEY 

38U

XSECURE_API_MAX 

39U

Enumerator
XSECURE_API_FEATURES 

0U

XSECURE_API_RSA_SIGN_VERIFY 

1U

XSECURE_API_RSA_PUBLIC_ENCRYPT 

2U

XSECURE_API_RSA_PRIVATE_DECRYPT 

3U

XSECURE_API_SHA3_UPDATE 

4U

XSECURE_API_ELLIPTIC_GENERATE_KEY 

5U

XSECURE_API_ELLIPTIC_GENERATE_SIGN 

6U

XSECURE_API_ELLIPTIC_VALIDATE_KEY 

7U

XSECURE_API_ELLIPTIC_VERIFY_SIGN 

8U

XSECURE_API_AES_INIT 

9U

XSECURE_API_AES_OP_INIT 

10U

XSECURE_API_AES_UPDATE_AAD 

11U

XSECURE_API_AES_ENCRYPT_UPDATE 

12U

XSECURE_API_AES_ENCRYPT_FINAL 

13U

XSECURE_API_AES_DECRYPT_UPDATE 

14U

XSECURE_API_AES_DECRYPT_FINAL 

15U

XSECURE_API_AES_KEY_ZERO 

16U

XSECURE_API_AES_WRITE_KEY 

17U

XSECURE_API_AES_LOCK_USER_KEY 

18U

XSECURE_API_AES_KEK_DECRYPT 

19U

XSECURE_API_AES_SET_DPA_CM 

20U

XSECURE_API_KAT 

21U

22U reserved for versal_net

XSECURE_API_AES_PERFORM_OPERATION 

23U

XSECURE_API_MAX 

24U

XSECURE_API_FEATURES 

0U

XSECURE_API_RSA_SIGN_VERIFY 

1U

XSECURE_API_RSA_PUBLIC_ENCRYPT 

2U

XSECURE_API_RSA_PRIVATE_DECRYPT 

3U

XSECURE_API_SHA3_OPERATION 

4U

XSECURE_API_ELLIPTIC_GENERATE_KEY 

5U

XSECURE_API_ELLIPTIC_GENERATE_SIGN 

6U

XSECURE_API_ELLIPTIC_VALIDATE_KEY 

7U

XSECURE_API_ELLIPTIC_VERIFY_SIGN 

8U

XSECURE_API_AES_INIT 

9U

XSECURE_API_AES_OP_INIT 

10U

XSECURE_API_AES_UPDATE_AAD 

11U

XSECURE_API_AES_ENCRYPT_UPDATE 

12U

XSECURE_API_AES_ENCRYPT_FINAL 

13U

XSECURE_API_AES_DECRYPT_UPDATE 

14U

XSECURE_API_AES_DECRYPT_FINAL 

15U

XSECURE_API_AES_KEY_ZERO 

16U

XSECURE_API_AES_WRITE_KEY 

17U

XSECURE_API_AES_LOCK_USER_KEY 

18U

XSECURE_API_AES_KEK_DECRYPT 

19U

XSECURE_API_AES_SET_DPA_CM 

20U

XSECURE_API_KAT 

21U

XSECURE_API_TRNG_GENERATE 

22U

XSECURE_API_AES_PERFORM_OPERATION 

23U

XSECURE_API_GEN_SHARED_SECRET 

33U

XSECURE_API_RESERVED 

36U

XSECURE_API_AES_PERFORM_OPERATION_AND_ZEROIZE_KEY 

37U

XSECURE_API_SHA2_OPERATION 

38U

XSECURE_API_MAX 

39U

XSECURE_API_FEATURES 

0U

XSECURE_API_RSA_SIGN_VERIFY 

1U

XSECURE_API_RSA_PUBLIC_ENCRYPT 

2U

XSECURE_API_RSA_PRIVATE_DECRYPT 

3U

XSECURE_API_SHA3_UPDATE 

4U

XSECURE_API_ELLIPTIC_GENERATE_KEY 

5U

XSECURE_API_ELLIPTIC_GENERATE_SIGN 

6U

XSECURE_API_ELLIPTIC_VALIDATE_KEY 

7U

XSECURE_API_ELLIPTIC_VERIFY_SIGN 

8U

XSECURE_API_AES_INIT 

9U

XSECURE_API_AES_OP_INIT 

10U

XSECURE_API_AES_UPDATE_AAD 

11U

XSECURE_API_AES_ENCRYPT_UPDATE 

12U

XSECURE_API_AES_ENCRYPT_FINAL 

13U

XSECURE_API_AES_DECRYPT_UPDATE 

14U

XSECURE_API_AES_DECRYPT_FINAL 

15U

XSECURE_API_AES_KEY_ZERO 

16U

XSECURE_API_AES_WRITE_KEY 

17U

XSECURE_API_AES_LOCK_USER_KEY 

18U

XSECURE_API_AES_KEK_DECRYPT 

19U

XSECURE_API_AES_SET_DPA_CM 

20U

XSECURE_API_KAT 

21U

XSECURE_API_TRNG_GENERATE 

22U

XSECURE_API_AES_PERFORM_OPERATION 

23U

XSECURE_API_UPDATE_HNIC_CRYPTO_STATUS 

24U

XSECURE_API_UPDATE_CPM5N_CRYPTO_STATUS 

25U

XSECURE_API_UPDATE_PCIDE_CRYPTO_STATUS 

26U

XSECURE_API_UPDATE_PKI_CRYPTO_STATUS 

27U

XSECURE_API_UPDATE_DDR_KAT_STATUS 

28U

XSECURE_API_UPDATE_HNIC_KAT_STATUS 

29U

XSECURE_API_UPDATE_CPM5N_KAT_STATUS 

30U

XSECURE_API_UPDATE_PCIDE_KAT_STATUS 

31U

XSECURE_API_UPDATE_PKI_KAT_STATUS 

32U

XSECURE_API_GEN_SHARED_SECRET 

33U

XSECURE_API_KEY_UNWRAP 

35U

XSECURE_API_RESERVED 

36U

XSECURE_API_AES_PERFORM_OPERATION_AND_ZEROIZE_KEY 

37U

XSECURE_API_RSA_RELEASE_KEY 

38U

XSECURE_API_MAX 

39U

Enumerator
XSECURE_CPM5N_AES_XTS_ENC_KAT 

8U

XSECURE_CPM5N_AES_XTS_DEC_KAT 

9U

XSECURE_CPM5N_AES_CM_ENC_KAT 

10U

XSECURE_CPM5N_AES_CM_DEC_KAT 

11U

XSECURE_CPM5N_AES_XTS_EN_CHECK 

12U

XSECURE_CPM5N_AES_XTS_BYPASS_CHECK 

13U

Enumerator
XSECURE_CRYPTO_STATUS_SET 

0U

XSECURE_CRYPTO_STATUS_CLEAR 

1U

Enumerator
XSECURE_DDR_0_AES_GCM_KAT 

0U

XSECURE_DDR_0_AES_XTS_KAT 

1U

XSECURE_DDR_0_KDF_KAT 

2U

XSECURE_DDR_0_TRNG_KAT 

3U

XSECURE_DDR_1_AES_GCM_KAT 

4U

XSECURE_DDR_1_AES_XTS_KAT 

5U

XSECURE_DDR_1_KDF_KAT 

6U

XSECURE_DDR_1_TRNG_KAT 

7U

XSECURE_DDR_2_AES_GCM_KAT 

8U

XSECURE_DDR_2_AES_XTS_KAT 

9U

XSECURE_DDR_2_KDF_KAT 

10U

XSECURE_DDR_2_TRNG_KAT 

11U

XSECURE_DDR_3_AES_GCM_KAT 

12U

XSECURE_DDR_3_AES_XTS_KAT 

13U

XSECURE_DDR_3_KDF_KAT 

14U

XSECURE_DDR_3_TRNG_KAT 

15U

XSECURE_DDR_4_AES_GCM_KAT 

16U

XSECURE_DDR_4_AES_XTS_KAT 

17U

XSECURE_DDR_4_KDF_KAT 

18U

XSECURE_DDR_4_TRNG_KAT 

19U

XSECURE_DDR_5_AES_GCM_KAT 

20U

XSECURE_DDR_5_AES_XTS_KAT 

21U

XSECURE_DDR_5_KDF_KAT 

22U

XSECURE_DDR_5_TRNG_KAT 

23U

XSECURE_DDR_6_AES_GCM_KAT 

24U

XSECURE_DDR_6_AES_XTS_KAT 

25U

XSECURE_DDR_6_KDF_KAT 

26U

XSECURE_DDR_6_TRNG_KAT 

27U

XSECURE_DDR_7_AES_GCM_KAT 

28U

XSECURE_DDR_7_AES_XTS_KAT 

29U

XSECURE_DDR_7_KDF_KAT 

30U

XSECURE_DDR_7_TRNG_KAT 

31U

Enumerator
XSECURE_ECC_PRIME 

Prime curve.

XSECURE_ECC_BINARY 

Binary curve.

Enumerator
XSECURE_ECC_NIST_P192 

NIST P-192 curve value in Ecdsa.h.

XSECURE_ECC_NIST_P224 

NIST P-256 curve value in Ecdsa.h.

XSECURE_ECC_NIST_P256 

NIST P-256 curve value in Ecdsa.h.

XSECURE_ECC_NIST_P384 

NIST P-384 curve value in Ecdsa.h.

XSECURE_ECC_NIST_P521 

NIST P-521 curve value in Ecdsa.h.

Enumerator
XSECURE_HNIC_AES_GCM_ENC_KAT 

0U

XSECURE_HNIC_AES_GCM_DECRYPT_KAT 

1U

XSECURE_HNIC_AES_CM_ENC_KAT 

2U

XSECURE_HNIC_AES_CM_DEC_KAT 

3U

XSECURE_HNIC_AES_GCM_EN_CHECK 

4U

XSECURE_HNIC_AES_GCM_BYPASS_CHECK 

5U

Enumerator
XSECURE_API_AES_DECRYPT_KAT 

0U

XSECURE_API_AES_DECRYPT_CM_KAT 

1U

XSECURE_API_RSA_PUB_ENC_KAT 

2U

XSECURE_API_ELLIPTIC_SIGN_VERIFY_KAT 

3U

XSECURE_API_SHA3_KAT 

4U

XSECURE_API_AES_ENCRYPT_KAT 

5U

XSECURE_API_RSA_PRIVATE_DEC_KAT 

6U

XSECURE_API_ELLIPTIC_SIGN_GEN_KAT 

7U

XSECURE_API_AES_DECRYPT_KAT 

0U

XSECURE_API_AES_DECRYPT_CM_KAT 

1U

XSECURE_API_RSA_PUB_ENC_KAT 

2U

XSECURE_API_ELLIPTIC_SIGN_VERIFY_KAT 

3U

XSECURE_API_SHA3_KAT 

4U

XSECURE_API_AES_ENCRYPT_KAT 

5U

XSECURE_API_RSA_PRIVATE_DEC_KAT 

6U

XSECURE_API_ELLIPTIC_SIGN_GEN_KAT 

7U

XSECURE_API_TRNG_KAT 

8U

XSECURE_API_UPDATE_KAT_STATUS 

9U

XSECURE_API_SHA2_KAT 

10U

XSECURE_API_AES_DECRYPT_KAT 

0U

XSECURE_API_AES_DECRYPT_CM_KAT 

1U

XSECURE_API_RSA_PUB_ENC_KAT 

2U

XSECURE_API_ELLIPTIC_SIGN_VERIFY_KAT 

3U

XSECURE_API_SHA3_KAT 

4U

XSECURE_API_AES_ENCRYPT_KAT 

5U

XSECURE_API_RSA_PRIVATE_DEC_KAT 

6U

XSECURE_API_ELLIPTIC_SIGN_GEN_KAT 

7U

XSECURE_API_TRNG_KAT 

8U

XSECURE_API_UPDATE_KAT_STATUS 

9U

Enumerator
XSECURE_API_AES_DECRYPT_KAT 

0U

XSECURE_API_AES_DECRYPT_CM_KAT 

1U

XSECURE_API_RSA_PUB_ENC_KAT 

2U

XSECURE_API_ELLIPTIC_SIGN_VERIFY_KAT 

3U

XSECURE_API_SHA3_KAT 

4U

XSECURE_API_AES_ENCRYPT_KAT 

5U

XSECURE_API_RSA_PRIVATE_DEC_KAT 

6U

XSECURE_API_ELLIPTIC_SIGN_GEN_KAT 

7U

XSECURE_API_AES_DECRYPT_KAT 

0U

XSECURE_API_AES_DECRYPT_CM_KAT 

1U

XSECURE_API_RSA_PUB_ENC_KAT 

2U

XSECURE_API_ELLIPTIC_SIGN_VERIFY_KAT 

3U

XSECURE_API_SHA3_KAT 

4U

XSECURE_API_AES_ENCRYPT_KAT 

5U

XSECURE_API_RSA_PRIVATE_DEC_KAT 

6U

XSECURE_API_ELLIPTIC_SIGN_GEN_KAT 

7U

XSECURE_API_TRNG_KAT 

8U

XSECURE_API_UPDATE_KAT_STATUS 

9U

XSECURE_API_SHA2_KAT 

10U

XSECURE_API_AES_DECRYPT_KAT 

0U

XSECURE_API_AES_DECRYPT_CM_KAT 

1U

XSECURE_API_RSA_PUB_ENC_KAT 

2U

XSECURE_API_ELLIPTIC_SIGN_VERIFY_KAT 

3U

XSECURE_API_SHA3_KAT 

4U

XSECURE_API_AES_ENCRYPT_KAT 

5U

XSECURE_API_RSA_PRIVATE_DEC_KAT 

6U

XSECURE_API_ELLIPTIC_SIGN_GEN_KAT 

7U

XSECURE_API_TRNG_KAT 

8U

XSECURE_API_UPDATE_KAT_STATUS 

9U

Enumerator
XSECURE_API_AES_DECRYPT_KAT 

0U

XSECURE_API_AES_DECRYPT_CM_KAT 

1U

XSECURE_API_RSA_PUB_ENC_KAT 

2U

XSECURE_API_ELLIPTIC_SIGN_VERIFY_KAT 

3U

XSECURE_API_SHA3_KAT 

4U

XSECURE_API_AES_ENCRYPT_KAT 

5U

XSECURE_API_RSA_PRIVATE_DEC_KAT 

6U

XSECURE_API_ELLIPTIC_SIGN_GEN_KAT 

7U

XSECURE_API_AES_DECRYPT_KAT 

0U

XSECURE_API_AES_DECRYPT_CM_KAT 

1U

XSECURE_API_RSA_PUB_ENC_KAT 

2U

XSECURE_API_ELLIPTIC_SIGN_VERIFY_KAT 

3U

XSECURE_API_SHA3_KAT 

4U

XSECURE_API_AES_ENCRYPT_KAT 

5U

XSECURE_API_RSA_PRIVATE_DEC_KAT 

6U

XSECURE_API_ELLIPTIC_SIGN_GEN_KAT 

7U

XSECURE_API_TRNG_KAT 

8U

XSECURE_API_UPDATE_KAT_STATUS 

9U

XSECURE_API_SHA2_KAT 

10U

XSECURE_API_AES_DECRYPT_KAT 

0U

XSECURE_API_AES_DECRYPT_CM_KAT 

1U

XSECURE_API_RSA_PUB_ENC_KAT 

2U

XSECURE_API_ELLIPTIC_SIGN_VERIFY_KAT 

3U

XSECURE_API_SHA3_KAT 

4U

XSECURE_API_AES_ENCRYPT_KAT 

5U

XSECURE_API_RSA_PRIVATE_DEC_KAT 

6U

XSECURE_API_ELLIPTIC_SIGN_GEN_KAT 

7U

XSECURE_API_TRNG_KAT 

8U

XSECURE_API_UPDATE_KAT_STATUS 

9U

Enumerator
XSECURE_API_KAT_SET 

0U

XSECURE_API_KAT_CLEAR 

1U

Enumerator
XSECURE_ENC_OP 

Encryption operation.

XSECURE_DEC_OP 

Decryption operation.

Enumerator
XSECURE_PCIDE_AES_ENC_KAT 

16U

XSECURE_PCIDE_AES_DEC_KAT 

17U

Enumerator
XSECURE_PKI_ECC_P192_SIGN_GEN_KAT 

0U

XSECURE_PKI_ECC_P192_SIGN_VER_KAT 

1U

XSECURE_PKI_ECC_P192_PWCT 

2U

XSECURE_PKI_ECC_P192_CM_SIGN_GEN_KAT 

3U

XSECURE_PKI_ECC_P192_CM_SIGN_VER_KAT 

4U

XSECURE_PKI_ECC_P192_CM_PWCT 

5U

XSECURE_PKI_ECC_P384_SIGN_GEN_KAT 

6U

XSECURE_PKI_ECC_P384_SIGN_VER_KAT 

7U

XSECURE_PKI_ECC_P384_PWCT 

8U

XSECURE_PKI_ECC_P384_CM_SIGN_GEN_KAT 

9U

XSECURE_PKI_ECC_P384_CM_SIGN_VER_KAT 

10U

XSECURE_PKI_ECC_P384_CM_PWCT 

11U

XSECURE_PKI_ECC_P521_SIGN_GEN_KAT 

12U

XSECURE_PKI_ECC_P521_SIGN_VER_KAT 

13U

XSECURE_PKI_ECC_P521_PWCT 

14U

XSECURE_PKI_ECC_P521_CM_SIGN_GEN_KAT 

15U

XSECURE_PKI_ECC_P521_CM_SIGN_VER_KAT 

16U

XSECURE_PKI_ECC_P521_CM_PWCT 

17U

XSECURE_PKI_ECC_Secp256k1_SIGN_GEN_KAT 

18U

XSECURE_PKI_ECC_Secp256k1_SIGN_VER_KAT 

19U

XSECURE_PKI_ECC_Secp256k1_PWCT 

20U

XSECURE_PKI_ECC_Secp256k1_CM_SIGN_GEN_KAT 

21U

XSECURE_PKI_ECC_Secp256k1_CM_SIGN_VER_KAT 

22U

XSECURE_PKI_ECC_Secp256k1_CM_PWCT 

23U

XSECURE_PKI_ECC_fp256_SIGN_GEN_KAT 

24U

XSECURE_PKI_ECC_fp256_SIGN_VER_KAT 

25U

XSECURE_PKI_ECC_fp256k_PWCT 

26U

XSECURE_PKI_ECC_fp256_CM_SIGN_GEN_KAT 

27U

XSECURE_PKI_ECC_fp256_CM_SIGN_VER_KAT 

28U

XSECURE_PKI_ECC_fp256k_CM_PWCT 

29U

XSECURE_PKI_EdDSA_Ed25519_SIGN_GEN_KAT 

30U

XSECURE_PKI_EdDSA_Ed25519_SIGN_VER_KAT 

31U

XSECURE_PKI_EdDSA_Ed25519_PWCT 

32U

XSECURE_PKI_EdDSA_Ed25519_CM_SIGN_GEN_KAT 

33U

XSECURE_PKI_EdDSA_Ed25519_CM_SIGN_VER_KAT 

34U

XSECURE_PKI_EdDSA_Ed25519_CM_PWCT 

35U

XSECURE_PKI_EdDSA_Ed448_SIGN_GEN_KAT 

36U

XSECURE_PKI_EdDSA_Ed448_SIGN_VER_KAT 

37U

XSECURE_PKI_EdDSA_Ed448_PWCT 

38U

XSECURE_PKI_EdDSA_Ed448_CM_SIGN_GEN_KAT 

39U

XSECURE_PKI_EdDSA_Ed448_CM_SIGN_VER_KAT 

40U

XSECURE_PKI_EdDSA_Ed448_CM_PWCT 

41U

XSECURE_PKI_ECDH_Curve25519_ENC_KAT 

42U

XSECURE_PKI_ECDH_Curve25519_DEC_KAT 

43U

XSECURE_PKI_ECDH_Curve25519_PWCT 

44U

XSECURE_PKI_ECDH_Curve25519_CM_ENC_KAT 

45U

XSECURE_PKI_ECDH_Curve25519_CM_DEC_KAT 

46U

XSECURE_PKI_ECDH_Curve25519_CM_PWCT 

47U

XSECURE_PKI_ECDH_Curve448_ENC_KAT 

48U

XSECURE_PKI_ECDH_Curve448_DEC_KAT 

49U

XSECURE_PKI_ECDH_Curve448_PWCT 

50U

XSECURE_PKI_ECDH_Curve448_CM_ENC_KAT 

51U

XSECURE_PKI_ECDH_Curve448_CM_DEC_KAT 

52U

XSECURE_PKI_ECDH_Curve448_CM_PWCT 

53U

XSECURE_PKI_RSA_2048_SIGN_GEN_KAT 

54U

XSECURE_PKI_RSA_2048_SIGN_VER_KAT 

55U

XSECURE_PKI_RSA_2048_ENC_KAT 

56U

XSECURE_PKI_RSA_2048_DEC_KAT 

57U

XSECURE_PKI_RSA_2048_PWCT 

58U

XSECURE_PKI_RSA_2048_CM_SIGN_GEN_KAT 

59U

XSECURE_PKI_RSA_2048_CM_SIGN_VER_KAT 

60U

XSECURE_PKI_RSA_2048_CM_ENC_KAT 

61U

XSECURE_PKI_RSA_2048_CM_DEC_KAT 

62U

XSECURE_PKI_RSA_2048_CM_PWCT 

63U

XSECURE_PKI_RSA_3072_SIGN_GEN_KAT 

64U

XSECURE_PKI_RSA_3072_SIGN_VER_KAT 

65U

XSECURE_PKI_RSA_3072_ENC_KAT 

66U

XSECURE_PKI_RSA_3072_DEC_KAT 

67U

XSECURE_PKI_RSA_3072_PWCT 

68U

XSECURE_PKI_RSA_3072_CM_SIGN_GEN_KAT 

69U

XSECURE_PKI_RSA_3072_CM_SIGN_VER_KAT 

70U

XSECURE_PKI_RSA_3072_CM_ENC_KAT 

71U

XSECURE_PKI_RSA_3072_CM_DEC_KAT 

72U

XSECURE_PKI_RSA_3072_CM_PWCT 

73U

XSECURE_PKI_RSA_4096_SIGN_GEN_KAT 

74U

XSECURE_PKI_RSA_4096_SIGN_VER_KAT 

75U

XSECURE_PKI_RSA_4096_ENC_KAT 

76U

XSECURE_PKI_RSA_4096_DEC_KAT 

77U

XSECURE_PKI_RSA_4096_PWCT 

78U

XSECURE_PKI_RSA_4096_CM_SIGN_GEN_KAT 

79U

XSECURE_PKI_RSA_4096_CM_SIGN_VER_KAT 

80U

XSECURE_PKI_RSA_4096_CM_ENC_KAT 

81U

XSECURE_PKI_RSA_4096_CM_DEC_KAT 

82U

XSECURE_PKI_RSA_4096_CM_PWCT 

83U

XSECURE_PKI_TRNG_HEALTH_TEST 

84U

XSECURE_PKI_TRNG_DRBG_KAT 

85U

XSECURE_PKI_SHA2_256_KAT 

86U

XSECURE_PKI_SHA2_384_KAT 

87U

XSECURE_PKI_SHA2_512_KAT 

88U

Enumerator
XSECURE_RSA_EXPQ_MODE 

RSA EXPQ mode.

XSECURE_RSA_CRT_MODE 

RSA CRT mode.

XSECURE_RSA_EXPOPT_MODE 

RSA expopt mode.

XSECURE_RSA_EXPQ_MODE 

RSA EXPQ mode.

XSECURE_RSA_CRT_MODE 

RSA CRT mode.

XSECURE_RSA_EXPOPT_MODE 

RSA expopt mode.

Enumerator
XSECURE_RSA_EXPQ_MODE 

RSA EXPQ mode.

XSECURE_RSA_CRT_MODE 

RSA CRT mode.

XSECURE_RSA_EXPOPT_MODE 

RSA expopt mode.

XSECURE_RSA_EXPQ_MODE 

RSA EXPQ mode.

XSECURE_RSA_CRT_MODE 

RSA CRT mode.

XSECURE_RSA_EXPOPT_MODE 

RSA expopt mode.

Function Documentation

int XSecure_CfgSssAes ( XPmcDma *  DmaPtr,
const XSecure_Sss *  SssInstance 
)

This function configures SSS to AES engine.

Parameters
DmaPtrPointer to the DMA instance
SssInstancePointer to SSS instance
Returns
  • XST_SUCCESS On successful configuration
  • XST_FAILURE On failure

References XSECURE_SSS_DMA0, and XSECURE_SSS_DMA1.

Variable Documentation

static XSecure_KeyWrapData KeyWrapData __attribute__

This function returns the SHA2 crypto algorithm information.

Main function to call the XSecure_KeyUnwrap to unwrap the wrapped key.

Parameters
AlgInfoPointer to memory for holding the crypto algorithm information
Returns
  • XST_SUCCESS - On successful key unwrap
  • Errorcode - On failure
const XSecure_AesKeyLookup AesKeyLookupTbl[XSECURE_MAX_KEY_SOURCES]

This lookup table array defines properties of Key sources.

u64 XSecure_ShaOpParams::DataAddr

SHA2/3 data address.

u32 XSecure_ShaOpParams::DataSize

SHA2/3 data size.

u64 XSecure_RsaKeyParam::DPAddr

Private exponent 1.

u64 XSecure_RsaKeyParam::DQAddr

Private exponent 2.

u64 XSecure_RsaKeyParam::ExpAddr

Exponent address.

u64 XSecure_ShaOpParams::HashAddr

SHA2/3 hash address.

u32 XSecure_ShaOpParams::HashBufSize

SHA2/3 hash buffer size.

u8 XSecure_ShaOpParams::IsLast

Is last update.

u32 XSecure_RsaKeyParam::IsPrimeAvail

Prime number available.

u32 XSecure_RsaKeyParam::IsPrivExpAvail

Private exponent available i.e.

DP and DQ

u32 XSecure_RsaKeyParam::IsPubExpAvail

Public exponent available.

u32 XSecure_RsaKeyParam::IsTotAvail

Totient Available.

u64 XSecure_RsaKeyParam::ModAddr

Modulus address.

u8 XSecure_ShaOpParams::OperationFlags

SHA2/3 operation flags.

XSecure_RsaOperationMode XSecure_RsaKeyParam::OpMode

RSA operation mode.

u64 XSecure_RsaKeyParam::PAddr

First factor address.

u32 XSecure_RsaKeyParam::PSize

Size of first factor(P) in bytes.

u32 XSecure_RsaKeyParam::PubExp

Public exponent.

u64 XSecure_RsaKeyParam::QAddr

Second factor address.

u64 XSecure_RsaKeyParam::QInvAddr

Q inverse address.

u32 XSecure_RsaKeyParam::QSize

Size of first factor(Q) in bytes.

u64 XSecure_RsaKeyParam::RNAddr

R address.

u64 XSecure_RsaKeyParam::RRNAddr

RR address.

u8 XSecure_ShaOpParams::ShaMode

SHA2/3 mode.

u64 XSecure_RsaKeyParam::TotAddr

Totient address.