Paper 2020/412
Fixslicing: A New GIFT Representation
Alexandre Adomnicai, Zakaria Najm, and Thomas Peyrin
Abstract
The GIFT family of lightweight block ciphers, published at CHES 2017, offers excellent hardware performance figures and has been used, in full or in part, in several candidates of the ongoing NIST lightweight cryptography competition. However, implementation of GIFT in software seems complex and not efficient due to the bit permutation composing its linear layer (a feature shared with PRESENT cipher). In this article, we exhibit a new non-trivial representation of the GIFT family of block ciphers over several rounds. This new representation, that we call fixslicing, allows extremely efficient software bitsliced implementations of GIFT, using only a few rotations, surprisingly placing GIFT as a very efficient candidate on micro-controllers. Our constant time implementations show that, on ARM Cortex-M3, 128-bit data can be ciphered with only about 800 cycles for GIFT-64 and about 1300 cycles for GIFT-128 (assuming pre-computed round keys). In particular, this is much faster than the impressive PRESENT implementation published at CHES 2017 that requires 2116 cycles in the same setting, or the current best AES constant time implementation reported that requires 1617 cycles. This work impacts GIFT, but also improves software implementations of all other cryptographic primitives directly based on it or strongly related to it.
Note: Resize additional illustrations in Appendix B
Metadata
- Available format(s)
- Category
- Implementation
- Publication info
- A minor revision of an IACR publication in TCHES 2020
- Keywords
- GIFTbitslicingfixslicinglightweight encryption
- Contact author(s)
- alexandre adomnicai @ ntu edu sg
- History
- 2020-10-08: last of 6 revisions
- 2020-04-13: received
- See all versions
- Short URL
- https://ia.cr/2020/412
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2020/412, author = {Alexandre Adomnicai and Zakaria Najm and Thomas Peyrin}, title = {Fixslicing: A New {GIFT} Representation}, howpublished = {Cryptology {ePrint} Archive, Paper 2020/412}, year = {2020}, url = {https://eprint.iacr.org/2020/412} }