Abstract
Block ciphers are the most prominent symmetric-key cryptography kernels, serving as fundamental building blocks to many other cryptographic functions. This work presents RunFein, a tool for rapid prototyping of a major class of block ciphers, namely product ciphers (including Feistel network and Substitution permutation network-based block ciphers). RunFein accepts the algorithmic configuration of an existing/new block cipher from the user through a GUI to generate a customized software implementation. The user may choose from various micro-architectural templates (unrolled, pipelined, sub-pipelined) to generate an HDL description of the cipher. Various modes of operation and the NIST test suite may also be included. This high-level design approach eliminates the laborious and repetitive development efforts for VLSI realizations of block ciphers. It allows a quick design exploration, consequently enabling fast benchmarking in terms of critical resource estimation of various versions/configurations of a cipher that varies in terms of security, complexity and performance. Using RunFein, we have successfully implemented some well-known product ciphers and benchmarked their performance without significant degradation against their published hand-crafted implementations in literature.
Original language | English |
---|---|
Pages (from-to) | 299-323 |
Number of pages | 25 |
Journal | Journal of Cryptographic Engineering |
Volume | 6 |
Issue number | 4 |
Early online date | 20 Feb 2016 |
DOIs | |
Publication status | Published - Nov 2016 |
Keywords
- Bit-slicing
- Block cipher
- Feistel network cipher
- High-level synthesis
- Loop unrolling
- Product cipher
- Rapid prototyping
- SPN cipher
- Sub-pipelining
- VLSI implementation
ASJC Scopus subject areas
- Software
- Computer Networks and Communications