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.
Category / Keywords: implementation / LED, PICCOLO, PRESENT, vperm, table-based, bitslice Publication Info: Accepted to SAC 2013 Date: received 15 Jul 2013 Contact author: ntu guo at gmail com Available format(s): PDF | BibTeX Citation Version: 20130722:121505 (All versions of this report) Discussion forum: Show discussion | Start new discussion