Cryptology ePrint Archive: Report 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.

Category / Keywords: implementation / block ciphers, substitution-permutation ciphers, bit-slicing, cryptographic hardware, pipelining, serialization

Date: received 10 Dec 2020

Contact author: hheys at mun ca

Available format(s): PDF | BibTeX Citation

Version: 20201213:164138 (All versions of this report)

Short URL: ia.cr/2020/1545


[ Cryptology ePrint archive ]