aes256CtrEncrypt - 2023.1 English

Vitis Libraries

Release Date
2023-12-20
Version
2023.1 English
#include "xf_security/ctr.hpp"
static void aes256CtrEncrypt (
    hls::stream <ap_uint <128>>& plaintextStrm,
    hls::stream <bool>& endPlaintextStrm,
    hls::stream <ap_uint <256>>& cipherkeyStrm,
    hls::stream <ap_uint <128>>& IVStrm,
    hls::stream <ap_uint <128>>& ciphertextStrm,
    hls::stream <bool>& endCiphertextStrm
    )

aes256CtrEncrypt is CTR encryption mode with AES-256 single block cipher.

The algorithm reference is : “Recommendation for Block Cipher Modes of Operation - Methods and Techniques” The implementation is modified for better performance.

Parameters:

plaintextStrm Input block stream text to be encrypted, each block is 128 bits.
endPlaintextStrm End flag of block stream plaintext, 1 bit.
cipherkeyStrm Input cipher key used in encryption, 256 bits.
IVStrm Initialization vector for the fisrt iteration of AES encrypition, 128 bits.
ciphertextStrm Output encrypted block stream text, each block is 128 bits.
endCiphertextStrm End flag of block stream ciphertext, 1 bit.