aes256Cfb128Encrypt - 2023.2 English

Vitis Libraries

Release Date
2023-12-20
Version
2023.2 English
#include "xf_security/cfb.hpp"
static void aes256Cfb128Encrypt (
    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
    )

aes256Cfb128Encrypt is CFB128 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 text 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 cipher block is 128 bits.
endCiphertextStrm End flag of block stream ciphertext, 1 bit.