Paper 2020/1545
A Tutorial on the Implementation of Block Ciphers: Software and Hardware Applications
Howard M. Heys
Abstract
In this article, we discuss basic strategies that can be used to implement block ciphers in both software and hardware environments. As models for discussion, we use substitution-permutation networks which form the basis for many practical block cipher structures. For software implementation, we discuss approaches such as table lookups and bit-slicing, while for hardware implementation, we examine a broad range of architectures from high speed structures like pipelining, to compact structures based on serialization. To illustrate different implementation concepts, we present example data associated with specific methods and discuss sample designs that can be employed to realize different implementation strategies. We expect that the article will be of particular interest to researchers, scientists, and engineers that are new to the field of cryptographic implementation.
Metadata
- Available format(s)
- Category
- Implementation
- Publication info
- Preprint. MINOR revision.
- Keywords
- block cipherssubstitution-permutation ciphersbit-slicingcryptographic hardwarepipeliningserialization
- Contact author(s)
- hheys @ mun ca
- History
- 2020-12-13: received
- Short URL
- https://ia.cr/2020/1545
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2020/1545, author = {Howard M. Heys}, title = {A Tutorial on the Implementation of Block Ciphers: Software and Hardware Applications}, howpublished = {Cryptology {ePrint} Archive, Paper 2020/1545}, year = {2020}, url = {https://eprint.iacr.org/2020/1545} }