AES-GCM

Baremetal Drivers and Libraries

Release Date
2023-07-07
  • XilSecure encryption APIs provides access to ZynqMP AEC-GCM cryptographic engine for encryption
  • XilSecure encryption API allows to choose 256-bit AES key source among user defined key (KUP key) and device keys
  • XilSecure encryption APIs also takes initialization vector (IV) as input along with AES key
  • XilSecure encryption APIs allow encryption and decryption on only WORD aligned data
  • XilSecure encryption algorithm appends GCM tag to encrypted data
  • XilSecure decryption APIs provides access to ZynqMP AEC-GCM hardware accelerator engine for decryption
  • XilSecure decryption APIs provides option to check GCM tag matching while decryption of the data. Not that GCM tag should be provided explicitly during decryption.

    Initialization Function

    XSecure_AesInitialize

    Initializes AES instance

    Encryption Functions

    XSecure_AesEncryptInit

    Initialize the AES engine for encryption

    XSecure_AesEncryptUpdate

    Updates the AES engine with provided data for encryption

    XSecure_AesEncryptData

    Encrypts the data provided by using hardware AES engine

    Decryption Functions

    XSecure_AesDecryptInit

    Initializes the AES engine for decryption

    XSecure_AesDecryptUpdate

    Update the AES engine for decryption with provided data

    XSecure_AesDecryptData

    Decrypts the encrypted data provided for decryption

    XSecure_AesDecrypt

    Handles the AES-GCM Decryption of image partition

    Control Functions

    XSecure_AesReset

    Encrypts the data provided by using hardware AES engine

    XSecure_AesWaitForDone

    Function waits for AES completion