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)
PDF
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
Creative Commons Attribution
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},
      note = {\url{https://eprint.iacr.org/2020/1545}},
      url = {https://eprint.iacr.org/2020/1545}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.