Accelerating Falcon Post-Quantum Digital Signature Algorithm on Graphic Processing Units
Source abstract
Abstract
Since 2016, the National Institute of Standards and Technology (NIST) has been performing a competition to standardize post-quantum cryptography (PQC). Although Falcon has been selected in the competition as one of the standard PQC algorithms because of its advantages in short key and signature sizes, its performance overhead is larger than that of other lattice-based cryptosystems. This study presents multiple methodologies to accelerate the performance of Falcon using graphics processing units (GPUs) for server-side use. Direct GPU porting significantly degrades performance because the Falcon reference codes require recursive functions in its sampling process. Thus, an iterative sampling approach for efficient parallel processing is presented. In this study, the Falcon software applied a fine-grained execution model and reported the optimal number of threads in a thread block. Moreover, the polynomial multiplication performance was optimized by parallelizing the number-theoretic transform (NTT)-based polynomial multiplication and the fast Fourier transform (FFT)-based multiplication. Furthermore, dummy-based parallel execution methods have been introduced to handle the thread divergence effects. The presented Falcon software on RTX 3090 NVIDA GPU based on the proposed methods with Falcon-512 and Falcon-1024 parameters outperform at 35.14, 28.84, and 34.64 times and 33.31, 27.45, and 34.40 times, respectively, better than the central processing unit (CPU) reference implementation using Advanced Vector Extensions 2 (AVX2) instructions on a Ryzen 9 5900X running at 3.7 GHz in key generation, signing, and verification, respectively. Therefore, the proposed Falcon software can be used in servers managing multiple concurrent clients for efficient certificate verification and be used as an outsourced key generation and signature generation server for Signature as a Service (SaS).
Source: openalex_inverted_index · Quality: baseline
Research context
OpenAlex topics: Cryptography and Residue Arithmetic · Cryptography and Data Security · Coding theory and cryptography
SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.
References (35)
Show source-provided references
1. Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer10.1137/S0097539795293172 ↗
2. Moody · Invited Talk at PQCrypto · 2019
3. M. R. Albrecht, D. J. Bernstein, T. Chou, C. Cid, J. Gilcher et al., “For classic mceliece,” 2022. [Online]. Available: https://classic.mceliece.org.
4. P. Schwabe, R. Avanzi, J. Bos, L. Ducas, E. Kiltz et al., “For Crystals-Kyber,” 2022. [Online]. Available: https://pq-crystals.org/kyber/index.shtml.
5. C. Chen, O. Danba, J. Hoffstein, A. Hulsing, J. Rijneveld et al., “For NTRU,” 2022. [Online]. Available: https://ntru.org/.
6. J. -P. D’Anvers, A. Karmakar, S. S. Roy, F. Vercauteren, J. M. B. Mera et al., “For Saber,” 2022. [Online]. Available: https://www.esat.kuleuven.be/cosic/pqcrypto/saber/.
7. V. Lyubashevsky, L. Ducas, E. Kiltz, T. Lepoint, P. Schwabe et al., “For Crystals-Dillithium,” 2022. [Online]. Available: https://pq-crystals.org/dilithium/index.shtml.
8. T. Prest, P. -A. Fouque, J. Hoffstein, P. Kirchner, V. Lyubashevsky et al., “For Falcon,” 2022. [Online]. Available: https://falcon-sign.info.
9. J. Ding, M. -S. Chen, A. Petzoldt, D. Schmidt, B. -Y. Yang et al., “For Rainbow,” 2022. [Online]. Available: https://www.pqcrainbow.org.
10. Seo · Journal of Parallel and Distributed Computing · 2015 · 75 · 15210.1016/j.jpdc.2014.09.001 ↗
11. An efficient elliptic curve cryptography signature server with GPU acceleration10.1109/TIFS.2016.2603974 ↗
12. DPF-ECC: A framework for efficient ECC with double precision floating-point computing power10.1109/TIFS.2021.3098987 ↗
13. PQC acceleration using GPUs: FrodoKEM, NewHope, and Kyber10.1109/TPDS.2020.3025691 ↗
14. CUNH: Efficient GPU implementations of post-quantum KEM NewHope10.1109/TPDS.2021.3097277 ↗
15. Accelerated implementation of NTRU on GPU for efficient key exchange in multi-client environment
16. Saber-GPU: A response-based cryptography algorithm for saber on the GPU
17. SIKE on GPU: Accelerating Supersingular isogeny-based key encapsulation mechanism on graphic processing units10.1109/ACCESS.2021.3106551 ↗
18. Tensorcrypto: High throughput acceleration of lattice-based cryptography using tensor core on GPU10.1109/ACCESS.2022.3152217 ↗
19. PQClean Project, 2022. [Online]. Available: https://github.com/PQClean/PQClean.
20. Crystals-dilithium: A lattice-based digital signature scheme10.46586/tches.v2018.i1.238-268 ↗
21. J. Ding, M. -S. Chen, A. Petzoldt, D. Schmidt, B. -Y. Yang et al., “Rainbow specifications and supporting documentation,” 2022. [Online]. Available: https://csrc.nist.gov/projects/post-quantum-cryptography/round-3-submissions.
22. Post-quantum lattice-based cryptography implementations: A survey10.1145/3292548 ↗
23. Parallel implementation of Nussbaumer algorithm and number theoretic transform on a GPU platform: Application to qTESLA10.1007/s11227-020-03392-x ↗
24. Efficient number theoretic transform implementation on GPU for homomorphic encryption10.1007/s11227-021-03980-5 ↗
25. P. -A. Fouque, J. Hoffstein, P. Kirchner, V. Lyubashevsky, T. Pornin et al., “Falcon: Fast-Fourier lattice-based compact signatures over NTRU,” 2022. [Online]. Available: https://www.di.ens.fr/~prest/Publications/falcon.pdf.
26. Fast fourier transforms: For fun and profit
27. Fast convolution using Fermat number trans-forms with applications to digital filtering10.1109/TASSP.1974.1162555 ↗
28. I. C. Society, “IEEE standard for floating-point arithmetic,” IEEE STD 754-2019, 2019. [Online]. Available: https://ieeexplore.ieee.org/document/8766229.
29. Modular multiplication without trial division10.1090/S0025-5718-1985-0777282-X ↗
30. Faster AVX2 optimized NTT multiplication for ring-LWE lattice cryptography
31. T. Prest, P. -A. Fouque, J. Hoffstein, P. Kirchner, V. Lyubashevsky et al., “Falcon specifications and supporting documentation,” 2022. [Online]. Available: https://csrc.nist.gov/projects/post-quantum-cryptography/round-3-submissions.
32. NVIDIA. P. Vingelmann and F. H. Fitzek, “CUDA, release: 10.2.89,” 2022. [Online]. Available: https://developer.nvidia.com/cuda-toolkit.
33. OpenCL: A parallel programming standard for heterogeneous computing systems10.1109/MCSE.2010.69 ↗
34. O. F. Inc, “The ruler function, entry a001511 in the on-line encyclopedia of integer sequences,” 2022. [Online]. Available: http://oeis.org/A001511.
35. New efficient, constant-time implementations of falcon