eprint.iacr.org will be offline for approximately an hour for routine maintenance at 11pm UTC on Tuesday, April 16. We lost some data between April 12 and April 14, and some authors have been notified that they need to resubmit their papers.

Paper 2013/445

Implementing Lightweight Block Ciphers on x86 Architectures

Ryad Benadjila, Jian Guo, Victor Lomné, and Thomas Peyrin

Abstract

Lightweight block ciphers are designed so as to fit into very constrained environments, but usually not really with software performance in mind. For classical lightweight applications where many constrained devices communicate with a server, it is also crucial that the cipher has good software performance on the server side. Recent work has shown that bitslice implementations applied to Piccolo and PRESENT led to very good software speeds, thus making lightweight ciphers interesting for cloud applications. However, we remark that bitslice implementations might not be interesting for some situations, where the amount of data to be enciphered at a time is usually small, and very little work has been done on non-bitslice implementations. In this article, we explore general software implementations of lightweight ciphers on x86 architectures, with a special focus on LED, Piccolo and PRESENT. First, we analyze table-based implementations, and we provide a theoretical model to predict the behavior of various possible trade-offs depending on the processor cache latency profile. We obtain the fastest table-based implementations for our lightweight ciphers, which is of interest for legacy processors. Secondly, we apply to our portfolio of primitives the vperm implementation trick for 4-bit Sboxes, which gives good performance, extra side-channels protection, and is quite fit for many lightweight primitives. Finally, we investigate bitslice implementations, analyzing various costs which are usually neglected (bitsliced form (un)packing, key schedule, etc.), but that must be taken in account for many lightweight applications. We finally discuss which type of implementation seems to be the best suited depending on the applications profile.

Note: source code available: https://github.com/rb-anssi/lightweight-crypto-lib

Metadata
Available format(s)
PDF
Category
Implementation
Publication info
Published elsewhere. Accepted to SAC 2013
Keywords
LEDPICCOLOPRESENTvpermtable-basedbitslice
Contact author(s)
ntu guo @ gmail com
History
2014-03-21: revised
2013-07-22: received
See all versions
Short URL
https://ia.cr/2013/445
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2013/445,
      author = {Ryad Benadjila and Jian Guo and Victor Lomné and Thomas Peyrin},
      title = {Implementing Lightweight Block Ciphers on x86 Architectures},
      howpublished = {Cryptology ePrint Archive, Paper 2013/445},
      year = {2013},
      note = {\url{https://eprint.iacr.org/2013/445}},
      url = {https://eprint.iacr.org/2013/445}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.