Overview
The Electronic Codebook (ECB) 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 ECB-DES, ECB-AES128, ECB-AES192, and ECB-AES256 modes in this implementation.
Attention
The bit-width of the interfaces we provide is shown as follows:
|
plaintext |
ciphertext |
cipherkey |
IV |
ECB-DES |
64 |
64 |
64 |
64 |
ECB-AES128 |
128 |
128 |
128 |
128 |
ECB-AES192 |
128 |
128 |
192 |
128 |
ECB-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 ECB mode has no dependencies,
so the input block of each iteration needs no feedback data from its last iteration.
Thus, both encryption and decryption part of ECB mode can achieve an initiation interval (II) = 1.