xilasu
Vitis Drivers API Documentation
xasu_aesinfo.h File Reference

Overview

This file contains the AES definitions which are common across the client and server.

MODIFICATION HISTORY:
Ver   Who  Date     Changes


1.0 am 07/16/24 Initial release am 08/01/24 Replaced enums with macros 1.1 am 01/20/25 Added AES CCM nonce macros am 03/14/25 Updated correct macro value of XASU_AES_CCM_MIN_NONCE_LEN

 

Data Structures

struct  XAsu_AesKeyObject
 This structure contains AES key object information. More...
 
struct  Asu_AesParams
 This structure is common for both client and handler, which contains AES input and output parameters information. More...
 

Macros

#define XASU_AES_BLOCK_SIZE_IN_BYTES   (16U)
 AES block size in bytes. More...
 
#define XASU_AES_EVEN_MODULUS   (2U)
 Modulus to determine evenness. More...
 
#define XASU_AES_IV_SIZE_96BIT_IN_WORDS   (3U)
 AES 96bit Iv size in words. More...
 
#define XASU_AES_IV_SIZE_128BIT_IN_WORDS   (4U)
 AES 128bit Iv size in words. More...
 
#define XASU_AES_IV_SIZE_96BIT_IN_BYTES   (12U)
 AES 96bit Iv size in bytes. More...
 
#define XASU_AES_IV_SIZE_128BIT_IN_BYTES   (16U)
 AES 128bit Iv size in bytes. More...
 
#define XASU_AES_KEY_SIZE_128BIT_IN_WORDS   (4U)
 AES 128bit key size in words. More...
 
#define XASU_AES_KEY_SIZE_256BIT_IN_WORDS   (8U)
 AES 256bit key size in words. More...
 
#define XASU_AES_KEY_SIZE_128BIT_IN_BYTES   (16U)
 AES 128bit key size in bytes. More...
 
#define XASU_AES_KEY_SIZE_256BIT_IN_BYTES   (32U)
 AES 256bit key size in bytes. More...
 
#define XASU_AES_MIN_TAG_LENGTH_IN_BYTES   (4U)
 AES minimum tag length in bytes. More...
 
#define XASU_AES_RECOMMENDED_TAG_LENGTH_IN_BYTES   (8U)
 AES NIST recommended minimum tag length in bytes. More...
 
#define XASU_AES_MAX_TAG_LENGTH_IN_BYTES   (16U)
 AES maximum tag length in bytes. More...
 
#define XASU_AES_CCM_MIN_NONCE_LEN   (7U)
 AES-CCM minimum nonce length in bytes. More...
 
#define XASU_AES_CCM_MAX_NONCE_LEN   (13U)
 AES-CCM maximum nonce length in bytes. More...
 
#define XASU_AES_OPERATION_CMD_ID   (0x0U)
 Command ID for AES operation command. More...
 
#define XASU_AES_KAT_CMD_ID   (0x1U)
 Command ID for AES KAT command. More...
 
#define XASU_AES_GET_INFO_CMD_ID   (0x2U)
 Command ID for AES Get Info command. More...
 
#define XASU_AES_INIT   (0x1U)
 AES initialize operation flag. More...
 
#define XASU_AES_UPDATE   (0x2U)
 AES update operation flag. More...
 
#define XASU_AES_FINAL   (0x4U)
 AES final operation flag. More...
 
#define XASU_AES_CBC_MODE   (0x0U)
 AES CBC mode. More...
 
#define XASU_AES_CFB_MODE   (0x1U)
 AES CFB mode. More...
 
#define XASU_AES_OFB_MODE   (0x2U)
 AES OFB mode. More...
 
#define XASU_AES_CTR_MODE   (0x3U)
 AES CTR mode. More...
 
#define XASU_AES_ECB_MODE   (0x4U)
 AES ECB mode. More...
 
#define XASU_AES_CCM_MODE   (0x5U)
 AES CCM mode. More...
 
#define XASU_AES_GCM_MODE   (0x6U)
 AES GCM mode. More...
 
#define XASU_AES_CMAC_MODE   (0x8U)
 AES CMAC mode. More...
 
#define XASU_AES_GHASH_MODE   (0xEU)
 AES GHASH mode. More...
 
#define XASU_AES_USER_KEY_0   (0x0U)
 User Key 0. More...
 
#define XASU_AES_USER_KEY_1   (0x1U)
 User Key 1. More...
 
#define XASU_AES_USER_KEY_2   (0x2U)
 User Key 2. More...
 
#define XASU_AES_USER_KEY_3   (0x3U)
 User Key 3. More...
 
#define XASU_AES_USER_KEY_4   (0x4U)
 User Key 4. More...
 
#define XASU_AES_USER_KEY_5   (0x5U)
 User Key 5. More...
 
#define XASU_AES_USER_KEY_6   (0x6U)
 User Key 6. More...
 
#define XASU_AES_USER_KEY_7   (0x7U)
 User Key 7. More...
 
#define XASU_AES_EFUSE_KEY_0   (0x8U)
 Efuse key 0. More...
 
#define XASU_AES_EFUSE_KEY_1   (0x9U)
 Efuse key 1. More...
 
#define XASU_AES_PUF_KEY   (0xAU)
 PUF key. More...
 
#define XASU_AES_EFUSE_KEY_RED_0   (0xBU)
 Efuse Red key 0. More...
 
#define XASU_AES_EFUSE_KEY_RED_1   (0xCU)
 Efuse Red key 1. More...
 
#define XASU_AES_EXPANDED_KEYS   (0xDU)
 Expanded keys in AES engine. More...
 
#define XASU_AES_MAX_KEY_SOURCES   XASU_AES_EXPANDED_KEYS
 Maximum key source value. More...
 
#define XASU_AES_KEY_SIZE_128_BITS   (0x0U)
 128 bits AES key size More...
 
#define XASU_AES_KEY_SIZE_256_BITS   (0x2U)
 256 bits AES key size More...
 
#define XASU_AES_ENCRYPT_OPERATION   (0x0U)
 AES encrypt operation. More...
 
#define XASU_AES_DECRYPT_OPERATION   (0x1U)
 AES decrypt operation. More...