SSE implementation of multivariate PKCs on modern x86 CPUs

Anna Inn Tung Chen, Ming Shing Chen, Tien Ren Chen, Chen Mou Cheng, Jintai Ding, Eric Li Hsiang Kuo, Frost Yu Shuang Lee, Bo Yin Yang

Research output: Chapter in Book or Report/Conference proceedingConference Proceedingpeer-review

85 Citations (Scopus)

Abstract

Multivariate Public Key Cryptosystems (MPKCs) are often touted as future-proofing against Quantum Computers. It also has been known for efficiency compared to "traditional" alternatives. However, this advantage seems to erode with the increase of arithmetic resources in modern CPUs and improved algorithms, especially with respect to Elliptic Curve Cryptography (ECC). In this paper, we show that hardware advances do not just favor ECC. Modern commodity CPUs also have many small integer arithmetic/logic resources, embodied by SSE2 or other vector instruction sets, that are useful for MPKCs. In particular, Intel's SSSE3 instructions can speed up both public and private maps over prior software implementations of Rainbow-type systems up to 4x. Furthermore, MPKCs over fields of relatively small odd prime characteristics can exploit SSE2 instructions, supported by most modern 64-bit Intel and AMD CPUs. For example, Rainbow over double-struck double-struck F31 can be up to 2x faster than prior implementations of similarly-sized systems over double-struck double-struck F16. Here a key advance is in using Wiedemann (as opposed to Gauss) solvers to invert the small linear systems in the central maps. We explain the techniques and design choices in implementing our chosen MPKC instances over fields such as double-struck double-struck F 31, double-struck F16 and double-struck F256. We believe that our results can easily carry over to modern FPGAs, which often contain a large number of small multipliers, usable by odd-field MPKCs.

Original languageEnglish
Title of host publicationCryptographic Hardware and Embedded Systems - CHES 2009 - 11th International Workshop, Proceedings
Pages33-48
Number of pages16
DOIs
Publication statusPublished - 2009
Externally publishedYes
Event11th International Workshop on Cryptographic Hardware and Embedded Systems, CHES 2009 - Lausanne, Switzerland
Duration: 6 Sept 20099 Sept 2009

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume5747 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference11th International Workshop on Cryptographic Hardware and Embedded Systems, CHES 2009
Country/TerritorySwitzerland
CityLausanne
Period6/09/099/09/09

Keywords

  • ℓIC
  • Multivariate public key cryptosystem (MPKC)
  • Rainbow
  • SSE2
  • SSSE3
  • TTS
  • Vector instructions
  • Wiedemann

Fingerprint

Dive into the research topics of 'SSE implementation of multivariate PKCs on modern x86 CPUs'. Together they form a unique fingerprint.

Cite this