aes128CbcEncrypt - 2024.1 English

Vitis Libraries

Release Date
2024-05-30
Version
2024.1 English
#include "xf_security/cbc.hpp"
static void aes128CbcEncrypt (
    hls::stream <ap_uint <128>>& plaintextStrm,
    hls::stream <bool>& endPlaintextStrm,
    hls::stream <ap_uint <128>>& cipherkeyStrm,
    hls::stream <ap_uint <128>>& IVStrm,
    hls::stream <ap_uint <128>>& ciphertextStrm,
    hls::stream <bool>& endCiphertextStrm
    )

aes128CbcEncrypt is CBC encryption mode with AES-128 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, 128 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.