Paper 2020/1545 Original: eprint.iacr.org/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.
History
2020-12-13: last updated
2020-12-13: published
Short URL
https://ia.cr/2020/1545
License
https://creativecommons.org/licenses/by/4.0/

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}
}
Note: In order to protect the privacy of readers, this archive does not use cookies or embedded third party content.