skip to main content
research-article

Topgun: An ECC Accelerator for Private Set Intersection

Published: 01 September 2023 Publication History

Abstract

Elliptic Curve Cryptography (ECC), one of the most widely used asymmetric cryptographic algorithms, has been deployed in Transport Layer Security (TLS) protocol, blockchain, secure multiparty computation, and so on. As one of the most secure ECC curves, Curve25519 is employed by some secure protocols, such as TLS 1.3 and Diffie-Hellman Private Set Intersection (DH-PSI) protocol. High-performance implementation of ECC is required, especially for the DH-PSI protocol used in privacy-preserving platform.
Point multiplication, the chief cryptographic primitive in ECC, is computationally expensive. To improve the performance of DH-PSI protocol, we propose Topgun, a novel and high-performance hardware architecture for point multiplication over Curve25519. The proposed architecture features a pipelined Finite-field Arithmetic Unit and a simple and highly efficient instruction set architecture. Compared to the best existing work on Xilinx Zynq 7000 series FPGA, our implementation with one Processing Element can achieve 3.14× speedup on the same device. To the best of our knowledge, our implementation appears to be the fastest among the state-of-the-art works. We also have implemented our architecture consisting of 4 Compute Groups, each with 16 PEs, on an Intel Agilex AGF027 FPGA. The measured performance of 4.48 Mops/s is achieved at the cost of 86 Watts power, which is the record-setting performance for point multiplication over Curve25519 on FPGAs.

References

[1]
Ahmed A. H. Abd-Elkader, Mostafa Rashdan, El-Sayed A. M. Hasaneen, and Hesham F. A. Hamed. 2022. Efficient implementation of Montgomery modular multiplier on FPGA. Comput. Electric. Eng. 97 (2022), 107585. DOI:
[2]
Giuseppe Ateniese, Emiliano De Cristofaro, and Gene Tsudik. 2011. (If) size matters: Size-hiding private set intersection. In Proceedings of the Conference on Public Key Cryptography (PKC’11), Dario Catalano, Nelly Fazio, Rosario Gennaro, and Antonio Nicolosi (Eds.). Springer, Berlin, 156–173.
[3]
Paul Barrett. 1987. Implementing the Rivest Shamir and Adleman public key encryption algorithm on a standard digital signal processor. In Proceedings of the Conference on Advances in Cryptology (CRYPTO’86), Andrew M. Odlyzko (Ed.). Springer, Berlin, 311–323.
[4]
Debapriya Basu Roy and Debdeep Mukhopadhyay. 2019. High-speed implementation of ECC scalar multiplication in GF(p) for generic Montgomery curves. IEEE Trans. Very Large Scale Integ. Syst. 27, 7 (2019), 1587–1600. DOI:
[5]
Aner Ben-Efraim, Olga Nissenbaum, Eran Omri, and Anat Paskin-Cherniavsky. 2022. PSImple: Practical multiparty maliciously-secure private set intersection. In Proceedings of the ACM on Asia Conference on Computer and Communications Security (ASIA CCS’22). Association for Computing Machinery, New York, NY, 1098–1112. DOI:
[6]
Daniel J. Bernstein. 2006. Curve25519: New Diffie-Hellman speed records. In Proceedings of the Conference on Public Key Cryptography (PKC’06). Springer, Berlin, 207–228. DOI:
[7]
Daniel J. Bernstein and Tanja Lange. 2017. Montgomery Curves and the Montgomery Ladder. Retrieved from https://eprint.iacr.org/2017/293.pdf
[8]
Simon Blake-Wilson, Nelson Bolyard, Vipul Gupta, Chris Hawk, and Bodo Moeller. 2006. Elliptic Curve Cryptography (ECC) Cipher Suites for Transport Layer Security (TLS). ACM. Retrieved from https://www.ietf.org/rfc/rfc4492
[9]
Yu-Fang Chen, Chang-Hong Hsu, Hsin-Hung Lin, Peter Schwabe, Ming-Hsien Tsai, Bow-Yaw Wang, Bo-Yin Yang, and Shang-Yi Yang. 2014. Verifying Curve25519 software. InProceedings of the ACM SIGSAC Conference on Computer and Communications Security (CCS’14). Association for Computing Machinery, New York, NY, 299–309. DOI:
[11]
Piljoo Choi. 2022. Lightweight ECC coprocessor with resistance against power analysis attacks over NIST prime fields. IEEE Trans. Circ. Syst. II: Express Briefs 69, 11 (2022). DOI:
[12]
Piljoo Choi, Mun-Kyu Lee, and Dong Kyue Kim. 2021. ECC coprocessor over a NIST prime field using fast partial Montgomery reduction. IEEE Trans. Circ. Syst. I: Reg. Pap. 68, 3 (2021), 1206–1216. DOI:
[13]
Piljoo Choi, Mun-Kyu Lee, Ji-Hoon Kim, and Dong Kyue Kim. 2018. Low-complexity elliptic curve cryptography processor based on configurable partial modular reduction over NIST prime fields. IEEE Trans. Circ. Syst. II: Express Briefs 65, 11 (2018), 1703–1707. DOI:
[15]
Emiliano De Cristofaro and Gene Tsudik. 2010. Practical private set intersection protocols with linear complexity. In Financial Cryptography and Data Security, Radu Sion (Ed.). Springer, Berlin, 143–159.
[16]
Whitfield Diffie and Martin E. Hellman. 1976. Multiuser cryptographic techniques. In Proceedings of the National Computer Conference and Exposition (AFIPS’76). Association for Computing Machinery, New York, NY, 109–112. DOI:
[17]
Jinnan Ding and Shuguo Li. 2018. A modular multiplier implemented with truncated multiplication. IEEE Trans. Circ. Syst. II: Express Briefs 65, 11 (2018), 1713–1717. DOI:
[18]
Jinnan Ding and Shuguo Li. 2020. A low-latency and low-cost Montgomery modular multiplier based on NLP multiplication. IEEE Trans. Circ. Syst. II: Express Briefs 67, 7 (2020), 1319–1323. DOI:
[19]
Jinnan Ding, Shuguo Li, and Zhen Gu. 2019. High-speed ECC processor over NIST prime fields applied with Toom–Cook multiplication. IEEE Trans. Circ. Syst. I: Reg. Pap. 66, 3 (2019), 1003–1016. DOI:
[20]
Jiankuo Dong, Fangyu Zheng, Jingqiang Lin, Zhe Liu, Fu Xiao, and Guang Fan. 2022. EC-ECC: Accelerating elliptic curve cryptography for edge computing on embedded GPU TX2. ACM Trans. Embed. Comput. Syst. 21, 2, Article 16 (Feb.2022), 25 pages. DOI:
[21]
Armando Faz-Hernández, Sam Scott, Nick Sullivan, Riad S. Wahby, and Christopher A. Wood. 2022. Hashing to Elliptic Curves. Retrieved from https://datatracker.ietf.org/doc/draft-irtf-cfrg-hash-to-curve/
[22]
Apostolos P. Fournaris, Ioannis Zafeirakis, Christos Koulamas, Nicolas Sklavos, and Odysseas Koufopavlou. 2015. Designing efficient elliptic Curve Diffie-Hellman accelerators for embedded systems. In Proceedings of the IEEE International Symposium on Circuits and Systems (ISCAS’15). 2025–2028. DOI:
[23]
Lili Gao, Fangyu Zheng, Niall Emmart, Jiankuo Dong, Jingqiang Lin, and Charles Weems. 2020. DPF-ECC: Accelerating elliptic curve cryptography with floating-point computing power of GPUs. In Proceedings of the IEEE International Parallel and Distributed Processing Symposium (IPDPS’20). 494–504. DOI:
[24]
Darrel Hankerson, Scott Vanstone, and Alfred Meneze. 2004. Guide to Elliptic Curve Cryptography. Springer-Verlag, New York, NY. DOI:
[25]
Feng Hao. 2017. J-PAKE: Password-authenticated Key Exchange by Juggling. Retrieved from https://datatracker.ietf.org/doc/html/rfc8236
[26]
Russ Housley. 2009. Use of the Elliptic Curve Diffie-Hellman Key Agreement Algorithm with X25519 and X448 in the Cryptographic Message Syntax (CMS). Retrieved from https://datatracker.ietf.org/doc/html/rfc8418
[27]
Bernardo A. Huberman, Matt Franklin, and Tad Hogg. 1999. Enhancing privacy and trust in electronic communities. In Proceedings of the 1st ACM Conference on Electronic Commerce (EC’99). Association for Computing Machinery, New York, NY, 78–86. DOI:
[29]
Aiko Iwasaki, Keisuke Dohi, Yuichiro Shibata, Kiyoshi Oguri, and Ryuichi Harasawa. 2014. A soft-core processor for finite field arithmetic with a variable word size accelerator. In Proceedings of the 24th International Conference on Field Programmable Logic and Applications (FPL’14). 1–4. DOI:
[30]
Kimmo Jarvinen and Jorma Skytta. 2008. On parallelization of high-speed processors for elliptic curve cryptography. IEEE Trans. Very Large Scale Integ. Syst. 16, 9 (2008), 1162–1175. DOI:
[31]
Simon Josefsson and Ilari Liusvaara. 2017. Edwards-curve Digital Signature Algorithm (EdDSA). Retrieved from https://datatracker.ietf.org/doc/html/rfc8032
[32]
A. Karatsuba and Y. Ofman. 1962. Multiplication of many-digital numbers by automatic computers. USSR Acad. Sci. 145, 2 (1962).
[33]
Muhammad Kashif, Ihsan Cicek, and Malik Imran. 2019. A hardware efficient elliptic curve accelerator for FPGA based cryptographic applications. In Proceedings of the 11th International Conference on Electrical and Electronics Engineering (ELECO’19). 362–366. DOI:
[34]
Emilia Käsper. 2012. Fast elliptic curve cryptography in OpenSSL. In Financial Cryptography and Data Security, George Danezis, Sven Dietrich, and Kazue Sako (Eds.). Springer, Berlin, 27–39.
[35]
Neal Koblitz. 1987. Elliptic curve cryptosystems. Math. Comput. 48, 177 (1987), 203–209. DOI:
[36]
Vladimir Kolesnikov, Ranjit Kumaresan, Mike Rosulek, and Ni Trieu. 2016. Efficient batched oblivious PRF with applications to private set intersection. In Proceedings of the ACM SIGSAC Conference on Computer and Communications Security (CCS’16). Association for Computing Machinery, New York, NY, 818–829. DOI:
[37]
Yinan Kong. 2010. Optimizing the improved Barrett modular multipliers for public-key cryptography. In Proceedings of the International Conference on Computational Intelligence and Software Engineering. 1–4. DOI:
[38]
Philipp Koppermann, Fabrizio De Santis, Johann Heyszl, and Georg Sigl. 2016. X25519 hardware implementation for low-latency applications. In Proceedings of the Euromicro Conference on Digital System Design (DSD’16). 99–106. DOI:
[39]
Philipp Koppermann, Fabrizio De Santis, Johann Heyszl, and Georg Sigl. 2017. Low-latency X25519 hardware implementation: Breaking the 100 microseconds barrier. Microprocess. Microsyst. 52 (2017), 491–497. DOI:
[40]
Martin Langhammer and Bogdan Pasca. 2021. Efficient FPGA modular multiplication implementation. In Proceedings of the ACM/SIGDA International Symposium on Field-programmable Gate Arrays (FPGA’21). Association for Computing Machinery, New York, NY, 217–223. DOI:
[41]
Adam Langley, Mike Hamburg, and Sean Turner. 2016. Elliptic Curves for Security. Retrieved from https://datatracker.ietf.org/doc/html/rfc7748
[42]
Carlos Andres Lara-Nino, Arturo Diaz-Perez, and Miguel Morales-Sandoval. 2020. Lightweight elliptic curve cryptography accelerator for internet of things applications. Ad Hoc Netw. 103 (2020), 102159. DOI:
[43]
Yehuda Lindell. 2020. Secure multiparty computation. Commun. ACM 64, 1 (Dec.2020), 86–96. DOI:
[44]
Yang Liu, Tao Fan, Tianjian Chen, Qian Xu, and Qiang Yang. 2021. FATE: An industrial grade platform for collaborative learning with data protection. J. Mach. Learn. Res. 22, 226 (2021), 1–6. Retrieved from http://jmlr.org/papers/v22/20-815.html
[45]
Catherine Meadows. 1986. A more efficient cryptographic matchmaking protocol for use in the absence of a continuously available third party. In Proceedings of the IEEE Symposium on Security and Privacy. 134–134. DOI:
[46]
Mohamad Ali Mehrabi and Christophe Doche. 2019. Low-cost, low-power FPGA implementation of ED25519 and CURVE25519 point multiplication. Information 10, 9 (2019). DOI:
[47]
Victor S. Miller. 1986. Use of elliptic curves in cryptography. In Proceedings of the Conference on Advances in Cryptology (CRYPTO’85), Hugh C. Williams (Ed.). Springer, Berlin, 417–426.
[48]
Somnath Mondal and Sachin Patkar. 2021. Hardware-software hybrid implementation of non-deterministic ECC over Curve-25519 for resource constrained devices. In Proceedings of the Asian Conference on Innovation in Technology (ASIANCON’21). 1–8. DOI:
[49]
Peter L. Montgomery. 1985. Modular multiplication without trial division. Math. Comput. 44, 170 (1985), 519–521.
[50]
Mojtaba Bisheh Niasar, Rami El Khatib, Reza Azarderakhsh, and Mehran Mozaffari-Kermani. 2020. Fast, small, and area-time efficient architectures for key-exchange on Curve25519. In Proceedings of the IEEE 27th Symposium on Computer Arithmetic (ARITH’20). 72–79. DOI:
[51]
Yoav Nir and Simon Josefsson. 2016. Curve25519 and Curve448 for the Internet Key Exchange Protocol Version 2 (IKEv2) Key Agreement. Retrieved from https://datatracker.ietf.org/doc/rfc8031/
[53]
Francisco Pajuelo-Holguera, José M. Granado-Criado, and Juan A. Gómez-Pulido. 2022. Fast Montgomery modular multiplier using FPGAs. IEEE Embed. Syst. Lett. 14, 1 (2022), 19–22. DOI:
[54]
Geovandro C. C. F. Pereira, Marcos A. Simplício, Michael Naehrig, and Paulo S. L. M. Barreto. 2011. A family of implementation-friendly BN elliptic curves. J. Syst. Softw. 84, 8 (2011), 1319–1326. DOI:
[55]
Benny Pinkas, Mike Rosulek, Ni Trieu, and Avishay Yanai. 2019. SpOT-light: Lightweight private set intersection from sparse OT extension. In Proceedings of the Conference on Advances in Cryptology (CRYPTO’19), Alexandra Boldyreva and Daniele Micciancio (Eds.). Springer International Publishing, Cham, 401–431. DOI:
[56]
Benny Pinkas, Mike Rosulek, Ni Trieu, and Avishay Yanai. 2020. PSI from PaXoS: Fast, malicious private set intersection. In Proceedings of the Conference on Advances in Cryptology (EUROCRYPT’20), Anne Canteaut and Yuval Ishai (Eds.). Springer International Publishing, Cham, 739–767.
[57]
Tim Polk, Russ Housley, Sean Turner, Daniel R. L. Brown, and Kelvin Yiu. 2009. Elliptic Curve Cryptography Subject Public Key Information. Retrieved from https://datatracker.ietf.org/doc/html/rfc5480
[58]
OpenSSL Project. 2022. OpenSSL Cryptography and SSL/TLS Toolkit. Retrieved from http://www.openssl.org/
[59]
Michael O. Rabin. 2005. How To Exchange Secrets with Oblivious Transfer. IACR Cryptol. ePrint Arch187 (2005). Retrieved from https://eprint.iacr.org/2005/187.pdf
[60]
Eric Rescorla. 2018. The Transport Layer Security (TLS) Protocol Version 1.3. Retrieved from https://datatracker.ietf.org/doc/html/rfc8446
[61]
Mike Rosulek and Ni Trieu. 2021. Compact and malicious private set intersection for small sets. In Proceedings of the ACM SIGSAC Conference on Computer and Communications Security (CCS’21). Association for Computing Machinery, New York, NY, 1166–1181. DOI:
[62]
Debapriya Basu Roy, Shubham Agrawal, Chester Reberio, and Debdeep Mukhopadhyay. 2016. Accelerating OpenSSL’s ECC with low cost reconfigurable hardware. In Proceedings of the International Symposium on Integrated Circuits (ISIC’16). 1–4. DOI:
[63]
Raziyeh Salarifard and Siavash Bayat-Sarmadi. 2019. An efficient low-latency point-multiplication over Curve25519. IEEE Trans. Circ. Syst. I: Reg. Pap. 66, 10 (2019), 3854–3862. DOI:
[64]
SpinalHDL. 2022. SpinalHDL Documentation. Retrieved from https://spinalhdl.github.io/SpinalDoc-RTD/
[65]
Furkan Turan and Ingrid Verbauwhede. 2019. Compact and flexible FPGA implementation of Ed25519 and X25519. ACM Trans. Embed. Comput. Syst. 18, 3, Article 24 (Apr.2019), 21 pages. DOI:
[66]
Martin S. Won. 2022. Intel Agilex FPGA Architecture White Paper. Retrieved from https://www.intel.com/
[67]
Guiming Wu, Qianwen He, Jiali Jiang, Zhenxiang Zhang, Xin Long, Yuan Zhao, and Yinchao Zou. 2022. A high-performance hardware architecture for ECC point multiplication over curve25519. In Proceedings of the IEEE 30th Annual International Symposium on Field-programmable Custom Computing Machines (FCCM’22). 1–9. DOI:
[68]
AMD Xilinx. 2018. 7 series DSP48E1 Slice User Guide, UG479 (v1.10). Retrieved from https://docs.xilinx.com/v/u/en-US/ug479_7Series_DSP48E1
[69]
AMD Xilinx. 2021. UltraScale Architecture DSP Slice User Guide, UG579 (v1.11). Retrieved from https://docs.xilinx.com/v/u/en-US/ug579-ultrascale-dsp
[70]
AMD Xilinx. 2022. UltraScale Architecture and Product Data Sheet: Overview. Retrieved from https://docs.xilinx.com/v/u/en-US/ds890-ultrascale-overview
[71]
Qiang Yang, Yang Liu, Tianjian Chen, and Yongxin Tong. 2019. Federated machine learning: Concept and applications. ACM Trans. Intell. Syst. Technol. 10, 2, Article 12 (Jan.2019), 19 pages. DOI:

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Reconfigurable Technology and Systems
ACM Transactions on Reconfigurable Technology and Systems  Volume 16, Issue 4
December 2023
343 pages
ISSN:1936-7406
EISSN:1936-7414
DOI:10.1145/3615981
  • Editor:
  • Deming Chen
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 September 2023
Online AM: 13 July 2023
Accepted: 22 May 2023
Revised: 08 February 2023
Received: 25 October 2022
Published in TRETS Volume 16, Issue 4

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. FPGA
  2. private set intersection
  3. elliptic curve cryptography
  4. curve25519
  5. hardware acceleration

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)309
  • Downloads (Last 6 weeks)45
Reflects downloads up to 25 Dec 2024

Other Metrics

Citations

Cited By

View all

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Full Text

View this article in Full Text.

Full Text

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media