desCbcEncrypt - 2023.2 English

Vitis Libraries

Release Date
2023-12-20
Version
2023.2 English
#include "xf_security/cbc.hpp"
static void desCbcEncrypt (
    hls::stream <ap_uint <64>>& plaintextStrm,
    hls::stream <bool>& endPlaintextStrm,
    hls::stream <ap_uint <64>>& cipherkeyStrm,
    hls::stream <ap_uint <64>>& IVStrm,
    hls::stream <ap_uint <64>>& ciphertextStrm,
    hls::stream <bool>& endCiphertextStrm
    )

desCbcEncrypt is CBC encryption mode with DES 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 64 bits.
endPlaintextStrm End flag of block stream plaintext, 1 bit.
cipherkeyStrm Input cipher key used in encryption, 64 bits for each key.
IVStrm Initialization vector for the fisrt iteration of DES encrypition, 64 bits.
ciphertextStrm Output encrypted block stream text, each block is 64 bits.
endCiphertextStrm End flag of block stream ciphertext, 1 bit.