skip to main content
research-article

A Software/Hardware Co-Design of Crystals-Dilithium Signature Scheme

Authors Info & Claims
Published:05 June 2021Publication History
Skip Abstract Section

Abstract

As quantum computers become more affordable and commonplace, existing security systems that are based on classical cryptographic primitives, such as RSA and Elliptic Curve Cryptography (ECC), will no longer be secure. Hence, there has been interest in designing post-quantum cryptographic (PQC) schemes, such as those based on lattice-based cryptography (LBC). The potential of LBC schemes is evidenced by the number of such schemes passing the selection of NIST PQC Standardization Process Round-3. One such scheme is the Crystals-Dilithium signature scheme, which is based on the hard module-lattice problem. However, there is no efficient implementation of the Crystals-Dilithium signature scheme. Hence, in this article, we present a compact hardware architecture containing elaborate modular multiplication units using the Karatsuba algorithm along with smart generators of address sequence and twiddle factors for NTT, which can complete polynomial addition/multiplication with the parameter setting of Dilithium in a short clock period. Also, we propose a fast software/hardware co-design implementation on Field Programmable Gate Array (FPGA) for the Dilithium scheme with a tradeoff between speed and resource utilization. Our co-design implementation outperforms a pure C implementation on a Nios-II processor of the platform Altera DE2-115, in the sense that our implementation is 11.2 and 7.4 times faster for signature and verification, respectively. In addition, we also achieve approximately 51% and 31% speed improvement for signature and verification, in comparison to the pure C implementation on processor ARM Cortex-A9 of ZYNQ-7020 platform.

References

  1. Carlos Aguilar-Melchor, Joris Barrier, Serge Guelton, Adrien Guinet, Marc-Olivier Killijian, and Tancrede Lepoint. 2016. NFLlib: NTT-based fast lattice library. In Cryptographers’ Track at the RSA Conference. Springer, 341–356. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Miklós Ajtai. 1996. Generating hard instances of lattice problems. In Proceedings of the 28th Annual ACM Symposium on Theory of Computing. 99–108. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Gorjan Alagic, Gorjan Alagic, Jacob Alperin-Sheriff, Daniel Apon, David Cooper, Quynh Dang, Yi-Kai Liu, Carl Miller, Dustin Moody, Rene Peralta, et al. 2020. Status report on the second round of the NIST PQC standardization process. U.S. Department of Commerce, National Institute of Standards and Technology.Google ScholarGoogle Scholar
  4. Erdem Alkim, Hülya Evkan, Norman Lahr, Ruben Niederhagen, and Richard Petri. 2020. ISA extensions for finite field arithmetic-accelerating kyber and NewHope on RISC-V.IACR Trans. Cryptogr. Hardw. Embed. Syst. 2020 (2020), 219–242.Google ScholarGoogle ScholarCross RefCross Ref
  5. Michael Baentsch. 2019. The Dilithium Implementation in pq-Crystals. Retrieved from https://github.com/pq-crystals/dilithium.Google ScholarGoogle Scholar
  6. Utsav Banerjee, Tenzin S. Ukyab, and Anantha P. Chandrakasan. 2019. Sapphire: A configurable crypto-processor for post-quantum lattice-based protocols (Extended Version). IACR Cryptol. ePrint Arch. 2019 (2019), 1140.Google ScholarGoogle Scholar
  7. Kanad Basu, Deepraj Soni, Mohammed Nabeel, and Ramesh Karri. 2019. NIST post-quantum cryptography-A hardware evaluation study. IACR Cryptology ePrint Archive 2019 (2019), 47.Google ScholarGoogle Scholar
  8. Günter Baszenski and Manfred Tasche. 1997. Fast polynomial multiplication and convolutions related to the discrete cosine transform. Linear Algebra Appl. 252, 1-3 (1997), 1–25.Google ScholarGoogle ScholarCross RefCross Ref
  9. Zvika Brakerski, Craig Gentry, and Vinod Vaikuntanathan. 2014. (Leveled) fully homomorphic encryption without bootstrapping. ACM Trans. Comput. Theory (TOCT) 6, 3 (2014), 1–36. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. David G. Cantor and Erich Kaltofen. 1991. On fast multiplication of polynomials over arbitrary algebras. Acta Inf. 28, 7 (1991), 693–701. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Lily Chen, Stephen Jordan, Yi-Kai Liu, Dustin Moody, Rene Peralta, Ray Perlner, and Daniel Smith-Tone. 2016. Report on Post-Quantum Cryptography. Vol. 12. U.S. Department of Commerce, National Institute of Standards and Technology.Google ScholarGoogle Scholar
  12. James W. Cooley and John W. Tukey. 1965. An algorithm for the machine calculation of complex Fourier series. Math. Comput. 19, 90 (1965), 297–301.Google ScholarGoogle ScholarCross RefCross Ref
  13. Viet B. Dang, Farnoud Farahmand, Michal Andrzejczak, and Kris Gaj. 2019. Implementing and benchmarking three lattice-based post-quantum cryptography algorithms using software/hardware codesign. In 2019 International Conference on Field-Programmable Technology (ICFPT’19). 206–214.Google ScholarGoogle ScholarCross RefCross Ref
  14. Chaohui Du and Guoqiang Bai. 2016. Towards efficient polynomial multiplication for lattice-based cryptography. In 2016 IEEE International Symposium on Circuits and Systems (ISCAS’16). 1178–1181.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Léo Ducas, Eike Kiltz, Tancrède Lepoint, Vadim Lyubashevsky, Peter Schwabe, Gregor Seiler, and Damien Stehlé. 2017. Crystals-Dilithium.Google ScholarGoogle Scholar
  16. Morris J. Dworkin. 2015. SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions. Technical Report.Google ScholarGoogle Scholar
  17. Xiang Feng, Shuguo Li, and Sufen Xu. 2019. RLWE-oriented high-speed polynomial multiplier utilizing multi-lane Stockham NTT algorithm. IEEE Trans. Circ. Syst. II: Express Briefs 67, 3 (2019), 556--559.Google ScholarGoogle Scholar
  18. Tim Fritzmann, Georg Sigl, and Johanna Sepúlveda. 2020. RISQ-V: Tightly coupled RISC-V accelerators for post-quantum cryptography. IACR Cryptol. ePrint Arch. 2020 (2020), 446.Google ScholarGoogle Scholar
  19. W. Morven Gentleman and Gordon Sande. 1966. Fast Fourier transforms: For fun and profit. In Proceedings of the November 7–10, 1966, Fall Joint Computer Conference (AFIPS’66). 563–578. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Norman Göttert, Thomas Feller, Michael Schneider, Johannes Buchmann, and Sorin Huss. 2012. On the design of hardware building blocks for modern lattice-based encryption schemes. In International Workshop on Cryptographic Hardware and Embedded Systems. Springer, 512–529. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. David Harvey and Joris van der Hoeven. 2019. Faster polynomial multiplication over finite fields using cyclotomic coefficient rings. Journal of Complexity 54 (2019), 101404. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. James Howe, Ciara Moore, Máire O’Neill, Francesco Regazzoni, Tim Güneysu, and Kevin Beeden. 2016. Lattice-based encryption over standard lattices in hardware. In 2016 53rd ACM/EDAC/IEEE Design Automation Conference (DAC’16). IEEE, 1–6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Anatolii Alekseevich Karatsuba and Yu P. Ofman. 1962. Multiplication of many-digital numbers by automatic computers. In Doklady Akademii Nauk, Vol. 145. Russian Academy of Sciences, 293–294.Google ScholarGoogle Scholar
  24. Po-Chun Kuo, Wen-Ding Li, Yu-Wei Chen, Yuan-Che Hsu, Bo-Yuan Peng, Chen-Mou Cheng, and Bo-Yin Yang. 2017. High performance post-quantum key exchange on FPGAs. Cryptology ePrint Archive.Google ScholarGoogle Scholar
  25. Weiqiang Liu, Sailong Fan, Ayesha Khalid, Ciara Rafferty, and Máire O’Neill. 2019. Optimized schoolbook polynomial multiplication for compact lattice-based cryptography on FPGA. IEEE Trans. VLSI Syst. 27, 10 (2019), 2459–2463.Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Vadim Lyubashevsky. 2012. Lattice signatures without trapdoors. In Annual International Conference on the Theory and Applications of Cryptographic Techniques. Springer, 738–755. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Vadim Lyubashevsky and Daniele Micciancio. 2006. Generalized compact knapsacks are collision resistant. In International Colloquium on Automata, Languages, and Programming. Springer, 144–155. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Vadim Lyubashevsky, Chris Peikert, and Oded Regev. 2013. On ideal lattices and learning with errors over rings. J. ACM (JACM) 60, 6 (2013), 1–35. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Ahmet Can Mert, Erdinç Öztürk, and Erkay Savaş. 2019. Design and implementation of a fast and scalable NTT-based polynomial multiplier architecture. In 2019 22nd Euromicro Conference on Digital System Design (DSD’19). IEEE, 253–260.Google ScholarGoogle ScholarCross RefCross Ref
  30. Robert T. Moenck. 1976. Practical fast polynomial multiplication. In Proceedings of the 3rd ACM Symposium on Symbolic and Algebraic Computation. 136–148. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Peter L. Montgomery. 1985. Modular multiplication without trial division. Math. Comput. 44, 170 (1985), 519–521.Google ScholarGoogle ScholarCross RefCross Ref
  32. Karthikeyan Nagarajan, Sina Sayyah Ensan, Mohammad Nasim Imtiaz Khan, Swaroop Ghosh, and Anupam Chattopadhyay. 2019. SHINE: A novel SHA-3 implementation using ReRAM-based In-Memory computing. In 2019 IEEE/ACM International Symposium on Low Power Electronics and Design (ISLPED’19). IEEE, 1–6.Google ScholarGoogle ScholarCross RefCross Ref
  33. Hamid Nejatollahi, Nikil Dutt, Sandip Ray, Francesco Regazzoni, Indranil Banerjee, and Rosario Cammarota. 2017. Software and hardware implementation of lattice-cased cryptography schemes. University of California Irvine, CECS TR 17, 4 (2017).Google ScholarGoogle Scholar
  34. Tobias Oder and Tim Güneysu. 2017. Implementing the NewHope-Simple key exchange on low-cost FPGAs. In International Conference on Cryptology and Information Security in Latin America. Springer, 128–142.Google ScholarGoogle Scholar
  35. Chris Peikert. 2009. Public-key cryptosystems from the worst-case shortest vector problem. In Proceedings of the 41st Annual ACM Symposium on Theory of Computing. 333–342. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. John M. Pollard. 1971. The fast Fourier transform in a finite field. Math. Comput. 25, 114 (1971), 365–374.Google ScholarGoogle ScholarCross RefCross Ref
  37. Thomas Pöppelmann, Léo Ducas, and Tim Güneysu. 2014. Enhanced lattice-based signatures on reconfigurable hardware. In International Workshop on Cryptographic Hardware and Embedded Systems. Springer, 353–370. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Thomas Pöppelmann, Tobias Oder, and Tim Güneysu. 2015. High-performance ideal lattice-based cryptography on 8-bit ATxmega microcontrollers. In International Conference on Cryptology and Information Security in Latin America. Springer, 346–365. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Oded Regev. 2009. On lattices, learning with errors, random linear codes, and cryptography. J. ACM (JACM) 56, 6 (2009), 1–40. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Sujoy Sinha Roy, Frederik Vercauteren, Nele Mentens, Donald Donglong Chen, and Ingrid Verbauwhede. 2014. Compact ring-LWE cryptoprocessor. In International Workshop on Cryptographic Hardware and Embedded Systems. Springer, 371–391. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Michael Schneider. 2013. Sieving for shortest vectors in ideal lattices. In International Conference on Cryptology in Africa. Springer, 375–391.Google ScholarGoogle ScholarCross RefCross Ref
  42. Gregor Seiler. 2018. Faster AVX2 optimized NTT multiplication for Ring-LWE lattice cryptography. IACR Cryptology ePrint Archive 2018 (2018), 39.Google ScholarGoogle Scholar
  43. Peter W. Shor. 1999. Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer. SIAM Rev. 41, 2 (1999), 303–332. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Thom Wiggers. [n. d.]. PQClean: Clean, portable, tested implementations of post-quantum cryptography. Retrieved from https://github.com/PQClean/PQClean.Google ScholarGoogle Scholar
  45. Ming Ming Wong, Jawad Haj-Yahya, Suman Sau, and Anupam Chattopadhyay. 2018. A new high throughput and area efficient SHA-3 implementation. In 2018 IEEE International Symposium on Circuits and Systems (ISCAS’18). IEEE, 1–5.Google ScholarGoogle ScholarCross RefCross Ref
  46. Guozhu Xin, Jun Han, Tianyu Yin, Yuchao Zhou, Jianwei Yang, Xu Cheng, and Xiaoyang Zeng. 2020. VPQC: A domain-specific vector processor for post-quantum cryptography based on RISC-V architecture. IEEE Trans. Circ. Syst. I-Regular Papers 67, 8 (2020), 2672–2684.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. A Software/Hardware Co-Design of Crystals-Dilithium Signature Scheme

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM Transactions on Reconfigurable Technology and Systems
        ACM Transactions on Reconfigurable Technology and Systems  Volume 14, Issue 2
        June 2021
        107 pages
        ISSN:1936-7406
        EISSN:1936-7414
        DOI:10.1145/3468069
        • Editor:
        • Deming Chen
        Issue’s Table of Contents

        Copyright © 2021 Association for Computing Machinery.

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 5 June 2021
        • Accepted: 1 January 2021
        • Revised: 1 August 2020
        • Received: 1 June 2020
        Published in trets Volume 14, Issue 2

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Refereed

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      HTML Format

      View this article in HTML Format .

      View HTML Format