Overview
The Output Feedback (OFB) mode is a typical block cipher mode of operation using block cipher algorithm.
In this version, we provide Data Encryption Standard (DES) and Advanced Encryption Standard (AES) processing ability,
the cipherkey length for DES should be 64 bits, and 128/192/256 bits for AES.
Another limitation is that our working mode works on units of a fixed size (64 or 128 bits for 1 block),
but text in the real world has a variety of lengths.
So, the last block of the text provided to this primitive must be padded to 128 bits before encryption or decryption.
Implementation on FPGA
We support OFB-DES, OFB-AES128, OFB-AES192, and OFB-AES256 modes in this implementation.
Attention
The bit-width of the interfaces we provide is shown as follows:
|
plaintext |
ciphertext |
cipherkey |
IV |
OFB-DES |
64 |
64 |
64 |
64 |
OFB-AES128 |
128 |
128 |
128 |
128 |
OFB-AES192 |
128 |
128 |
192 |
128 |
OFB-AES256 |
128 |
128 |
256 |
128 |
The algorithm flow chart is shown as follow:
As we can see from the chart, both encryption and decryption part of OFB mode has dependencies,
so the input block of each iteration (except for iteration 0) needs a feedback data from its last iteration.
Thus, the initiation interval (II) of OFB mode cannot achieve an II = 1.