Paper 2019/1218

On the Efficiency of Software Implementations of Lightweight Block Ciphers from the Perspective of Programming Languages

Abdur Rehman Raza, Khawir Mahmood, Muhammad Faisal Amjad, Haider Abbas, and Mehreen Afzal


Lightweight block ciphers are primarily designed for resource constrained devices. However, due to service requirements of large-scale IoT networks and systems, the need for efficient software implementations can not be ruled out. A number of studies have compared software implementations of different lightweight block ciphers on a specific platform but to the best of our knowledge, this is the first attempt to benchmark various software implementations of a single lightweight block cipher across different programming languages and platforms in the cloud architecture. In this paper, we defined six lookup-table based software implementations for lightweight block ciphers with their characteristics ranging from memory to throughput optimized variants. We carried out a thorough analysis of the two costs associated with each implementation (memory and operations) and discussed possible trade-offs in detail. We coded all six types of implementations for three key settings (64, 80, 128 bits) of LED (a lightweight block cipher) in four programming languages (Java, C#, C++, Python). We highlighted the impact of choice relating to implementation type, programming language, and platform by benchmarking the seventy-two implementations for throughput and software efficiency on 32 & 64-bit platforms for two major operating systems (Windows & Linux) on Amazon Web Services Cloud. The results showed that these choices can affect the efficiency of a cryptographic primitive by a factor as high as 400.

Available format(s)
Publication info
Published elsewhere. Future Generation Computer Systems, issue 104 (March 2020): pages 43-59
lightweight block-ciphersoftware implementationlookup tableLEDIoTaws EC2
Contact author(s)
raza abrehman @ gmail com
2019-10-17: revised
2019-10-17: received
See all versions
Short URL
Creative Commons Attribution-NonCommercial-NoDerivs


      author = {Abdur Rehman Raza and Khawir Mahmood and Muhammad Faisal Amjad and Haider Abbas and Mehreen Afzal},
      title = {On the Efficiency of Software Implementations of Lightweight Block Ciphers from the Perspective of Programming Languages},
      howpublished = {Cryptology ePrint Archive, Paper 2019/1218},
      year = {2019},
      doi = {10.1016/j.future.2019.09.058},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.