Parallel implementation of Nussbaumer algorithm and number theoretic transform on a GPU platform: application to qTESLA


Lee W., Akleylek S., Wong D. C., Yap W., Goi B., Hwang S.

JOURNAL OF SUPERCOMPUTING, vol.77, no.4, pp.3289-3314, 2021 (SCI-Expanded) identifier identifier

  • Publication Type: Article / Article
  • Volume: 77 Issue: 4
  • Publication Date: 2021
  • Doi Number: 10.1007/s11227-020-03392-x
  • Journal Name: JOURNAL OF SUPERCOMPUTING
  • Journal Indexes: Science Citation Index Expanded (SCI-EXPANDED), Scopus, Academic Search Premier, Applied Science & Technology Source, Compendex, Computer & Applied Sciences, INSPEC, zbMATH
  • Page Numbers: pp.3289-3314
  • Keywords: Number theoretic transform, Nussbaumer algorithm, Lattice-based cryptography, Graphics processing units, Post-quantum cryptography, MULTIPLICATION
  • Ondokuz Mayıs University Affiliated: Yes

Abstract

Among the popular post-quantum schemes, lattice-based cryptosystems have received renewed interest since there are relatively simple, highly parallelizable and provably secure under a worst-case hardness assumption. However, polynomial multiplication over rings is the most time-consuming operation in most of the lattice-based cryptosystems. To further improve the performance of lattice-based cryptosystems for large scale usage, polynomial multiplication must be implemented in parallel. The polynomial multiplication can be performed using either number theoretic transform (NTT) or Nussbaumer algorithm. However, Nussbaumer algorithm is inherently serial. Meanwhile, the efficient implementation of NTT using various indexing methods on GPU platform remains unknown. In this paper, we explore the best combination of various indexing methods to implement NTT on GPU platform and the efficient way to parallelize the Nussbaumer algorithm. Our results suggest that the combination of Gentleman-Sande and Cooley-Tukey (GS-CT) indexing methods produced the best performance on RTX2060 GPU (i.e. 422,638 polynomial multiplications per second). A technique to parallelize Nussbaumer algorithm by reducing the non-coalesced global memory access to half is produced. To the best of our knowledge, this is the first GPU implementation of Nussbaumer algorithm and it outperforms the best aforementioned NTT (GS-CT) implementation by 14.5%. For illustration purpose, the proposed GPU implementation techniques are applied to qTESLA, a state-of-the-art lattice based signature scheme. We emphasize that the proposed implementation techniques are not specific to any cryptosystem; they can be easily adapted to any other lattice-based cryptosystems.