aes128GcmDecrypt - 2023.2 English

Vitis Libraries

Release Date
2023-12-20
Version
2023.2 English
#include "xf_security/gcm.hpp"
static void aes128GcmDecrypt (
    hls::stream <ap_uint <128>>& payloadStrm,
    hls::stream <ap_uint <128>>& cipherkeyStrm,
    hls::stream <ap_uint <96>>& IVStrm,
    hls::stream <ap_uint <128>>& AADStrm,
    hls::stream <ap_uint <64>>& lenAADStrm,
    hls::stream <ap_uint <64>>& lenPldStrm,
    hls::stream <bool>& endLenStrm,
    hls::stream <ap_uint <128>>& cipherStrm,
    hls::stream <ap_uint <64>>& lenCphStrm,
    hls::stream <ap_uint <128>>& tagStrm,
    hls::stream <bool>& endTagStrm
    )

aes128GcmDecrypt is GCM decryption mode with AES-128 single block cipher.

The algorithm reference is : “IEEE Standard for Authenticated Encryption with Length Expansion for Storage Devices” The implementation is modified for better performance.

Parameters:

payloadStrm Input block stream text to be decrypted.
cipherkeyStrm Input cipher key used in decryption.
IVStrm Initialization vector stream.
AADStrm Additional authenticated data stream.
lenAADStrm Length of additional authenticated data in bits.
lenPldStrm Length of payload in bits.
endLenStrm Flag to signal the end of the length streams.
cipherStrm Output decrypted block stream text.
lenCphStrm Length of cipher in bits.
tagStrm The MAC stream.
endTagStrm Flag to signal the end of the MAC stream.