Paper 2017/101

Optimizing Implementations of Lightweight Building Blocks

Jeremy Jean, Thomas Peyrin, Siang Meng Sim, and Jade Tourteaux


We study the synthesis of small functions used as building blocks in lightweight cryptographic designs in terms of hardware implementations. This phase most notably appears during the ASIC implementation of cryptographic primitives. The quality of this step directly affects the output circuit, and while general tools exist to carry out this task, most of them belong to proprietary software suites and apply heuristics to any size of functions. In this work, we focus on small functions (4- and 8-bit mappings) and look for their optimal implementations on a specific weighted instructions set which allows fine tuning of the technology. We propose a tool named LIGHTER, based on two related algorithms, that produce optimized implementations of small functions. To demonstrate the validity and usefulness of our tool, we applied it to two practical cases: first, linear permutations that define diffusion in most of SPN ciphers; second, non-linear 4-bit permutations that are used in nearly all modern lightweight block ciphers. For linear permutations, we exhibit several new MDS diffusion matrices lighter than the state-of-the-art, and we also decrease the implementation cost of several already known MDS matrices. As for non-linear permutations, LIGHTER outperforms the area-optimized synthesis of the state-of-the-art academic tool ABC. Smaller circuits can also be reached when ABC and LIGHTER are used jointly.

Available format(s)
Publication info
Published by the IACR in FSE 2018
LIGHTERImplementationASICLightweight Block CiphersBoolean functionMeet-in-the-MiddleSboxMDS Matrix
Contact author(s)
ssim011 @ e ntu edu sg
2017-11-27: revised
2017-02-13: received
See all versions
Short URL
Creative Commons Attribution


      author = {Jeremy Jean and Thomas Peyrin and Siang Meng Sim and Jade Tourteaux},
      title = {Optimizing Implementations of Lightweight Building Blocks},
      howpublished = {Cryptology ePrint Archive, Paper 2017/101},
      year = {2017},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.