#include "xf_security/cfb.hpp"
static void aes256Cfb1Decrypt ( hls::stream <ap_uint <128>>& ciphertextStrm, hls::stream <bool>& endCiphertextStrm, hls::stream <ap_uint <256>>& cipherkeyStrm, hls::stream <ap_uint <128>>& IVStrm, hls::stream <ap_uint <128>>& plaintextStrm, hls::stream <bool>& endPlaintextStrm )
aes256Cfb1Decrypt is CFB1 decryption 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:
ciphertextStrm | Input block stream text to be decrypted, each block is 128 bits. |
endCiphertextStrm | End flag of block stream ciphertext, 1 bit. |
cipherkeyStrm | Input cipher key used in decryption, 256 bits. |
IVStrm | Initialization vector for the fisrt iteration of AES decrypition, 128 bits. |
plaintextStrm | Output decrypted block stream text, each block is 128 bits. |
endPlaintextStrm | End flag of block stream plaintext, 1 bit. |