skip to main content
research-article

EC-ECC: Accelerating Elliptic Curve Cryptography for Edge Computing on Embedded GPU TX2

Authors Info & Claims
Published:08 February 2022Publication History
Skip Abstract Section

Abstract

Driven by artificial intelligence and computer vision industries, Graphics Processing Units (GPUs) are now rapidly achieving extraordinary computing power. In particular, the NVIDIA Tegra K1/X1/X2 embedded GPU platforms, which are also treated as edge computing devices, are now widely used in embedded environments such as mobile phones, game consoles, and vehicle-mounted systems to support high-dimension display, auto-pilot, and so on. Meanwhile, with the rise of the Internet of Things (IoT), the demand for cryptographic operations for secure communications and authentications between edge computing nodes and IoT devices is also expanding. In this contribution, instead of the conventional implementations based on FPGA, ASIC, and ARM CPUs, we provide an alternative solution for cryptographic implementation on embedded GPU devices. Targeting the new cipher suite added in TLS 1.3, we implement Edwards25519/448 and Curve25519/448 on an edge computing platform, embedded GPU NVIDIA Tegra X2, where various performance optimizations are customized for the target platform, including a novel parallel method for the register-limited embedded GPUs. With about 15 W of power consumption, it can provide 210k/31k ops/s of Curve25519/448 scalar multiplication, 834k/123k ops/s of fixed-point Edwards25519/448 scalar multiplication, and 150k/22k ops/s of unknown-point one, which are respectively the primitives and main workloads of key agreement, signature generation, and verification of the TLS 1.3 protocol. Our implementations achieve 8 to 26 times speedup of OpenSSL running in the very powerful ARM CPU of the same platform and outperform the state-of-the-art implementations in FPGA by a wide margin with better power efficiency.

REFERENCES

  1. [1] Services Inc. Amazon Web. [n.d.]. AWS CloudHSM User Guide. Retrieved 17 Nov., 2021 from https://docs.aws.amazon.com/cloudhsm/latest/userguide/index.html.Google ScholarGoogle Scholar
  2. [2] Azarderakhsh Reza, Campagna Matthew, Costello Craig, Feo L. D., Hess Basil, Jalali Amir, Jao David, Koziel Brian, LaMacchia Brian, Longa Patrick, et al. 2017. Supersingular isogeny key encapsulation (unpublished).Google ScholarGoogle Scholar
  3. [3] US Department of Commerce and National Institute of Standards & Technology. 2012. Secure Hash Standard (SHS). National Institute of Standards & Technology, Gaithersburg, MD.Google ScholarGoogle Scholar
  4. [4] Barker Elaine B., Johnson Don, and Smid Miles E.. 2007. SP 800-56A. Recommendation for Pair-Wise Key Establishment Schemes Using Discrete Logarithm Cryptography (Revised). National Institute of Standards & Technology, Gaithersburg, MD. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. [5] Bernstein Daniel J.. 2006. Curve25519: New diffie-hellman speed records. In Proceedings of the International Workshop on Public Key Cryptography. Springer, 207228. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. [6] Bernstein Daniel J., Birkner Peter, Joye Marc, Lange Tanja, and Peters Christiane. 2008. Twisted edwards curves. In Proceedings of the International Conference on Cryptology in Africa. Springer, 389405. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. [7] Bernstein Daniel J., Chen Tien-Ren, Cheng Chen-Mou, Lange Tanja, and Yang Bo-Yin. 2009. ECM on graphics cards. In Proceedings of the Annual Conference on Advances in Cryptology (EUROCRYPT’09). Springer, 483501. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. [8] Bernstein Daniel J. and Lange Tanja. 2015. Failures in NIST’s ECC standards. Retrieved 17 Nov., 2021 from https://cr.yp.to/newelliptic/nistecc-20160106.pdf.Google ScholarGoogle Scholar
  9. [9] Bernstein Daniel J. and Schwabe Peter. 2012. NEON crypto. In Proceedings of the International Workshop on Cryptographic Hardware and Embedded Systems. Springer, 320339. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. [10] Bos Joppe W.. 2012. Low-latency elliptic curve scalar multiplication. Int. J. Parallel Program. 40, 5 (2012), 532550.Google ScholarGoogle ScholarCross RefCross Ref
  11. [11] Bos Joppe W. and Kleinjung Thorsten. 2012. ECM at work. In Proceedings of the International Conference on the Theory and Application of Cryptology and Information Security. Springer, 467484. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. [12] Briefing China. 2021. Retrieved from https://www.china-briefing.com/news/chinas-double-11-shopping-festival-tests-consumption-strength-after-covid-19/.Google ScholarGoogle Scholar
  13. [13] Cui Shujie, Großschädl Johann, Liu Zhe, and Xu Qiuliang. 2014. High-speed elliptic curve cryptography on the NVIDIA GT200 graphics processing unit. In Proceedings of the International Conference on Information Security Practice and Experience. Springer, 202216. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. [14] Dong Jiankuo, Zheng Fangyu, Cheng Juanjuan, Lin Jingqiang, Pan Wuqiong, and Wang Ziyang. 2018. Towards high-performance X25519/448 key agreement in general purpose GPUs. In Proceedings of the IEEE Conference on Communications and Network Security.Google ScholarGoogle ScholarCross RefCross Ref
  15. [15] Dong Jiankuo, Zheng Fangyu, Pan Wuqiong, Lin Jingqiang, Jing Jiwu, and Zhao Yuan. 2017. Utilizing the double-precision floating-point computing power of GPUs for RSA acceleration. Secur. Commun. Netw. 2017, Article 3508786 (2017).Google ScholarGoogle ScholarCross RefCross Ref
  16. [16] Edwards Harold. 2007. A normal form for elliptic curves. Bull. Am. Math. Soc. 44, 3 (2007), 393422.Google ScholarGoogle ScholarCross RefCross Ref
  17. [17] Emmart Niall and Weems Charles. 2015. Pushing the performance envelope of modular exponentiation across multiple generations of GPUs. In Proceedings of the IEEE 29th International Parallel and Distributed Processing Symposium (IPDPS’15). Proceedings. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. [18] Evans Dave. 2011. The Internet of Things: How the Next Evolution of the Internet Is Changing Everything. CISCO White Paper (2011), 111.Google ScholarGoogle Scholar
  19. [19] Foundation OpenSSL Software. 2016. OpenSSL Cryptography and SSL/TLS Toolkit. Retrieved from http://www.openssl.org/.Google ScholarGoogle Scholar
  20. [20] Gallagher P. and Kerry. C.2013. FIPS Pub 186-4: Digital signature standard.DSS. NIST.Google ScholarGoogle Scholar
  21. [21] Gao Lili, Zheng Fangyu, Emmart Niall, Dong Jiankuo, Lin Jingqiang, and Weems Charles. 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). IEEE, 494504.Google ScholarGoogle ScholarCross RefCross Ref
  22. [22] Hamburg Mike. 2015. Decaf: Eliminating cofactors through point compression. In Proceedings of the the 25th Annual Conference on Advances in Cryptology (CRYPTO’15). 705723. DOI: DOI: https://doi.org/10.1007/978-3-662-47989-6_34Google ScholarGoogle ScholarCross RefCross Ref
  23. [23] Hamburg Mike. 2015. Ed448-goldilocks, a new elliptic curve.IACR Cryptol. ePrint Arch. (2015), 625.Google ScholarGoogle Scholar
  24. [24] Hankerson Darrel, Vanstone Scott, and Menezes Alfred J.. 2004. Guide to Elliptic Curve Cryptography. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. [25] Harrison Owen and Waldron John. 2009. Efficient acceleration of asymmetric cryptography on graphics hardware. In Proceedings of the Annual Conference on Cryptology in Africa (AFRICACRYPT’09). Springer, 350367. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. [26] Hisil Huseyin, Wong Kenneth Koon-Ho, Carter Gary, and Dawson Ed. 2008. Twisted edwards curves revisited. In Proceedings of the International Conference on the Theory and Application of Cryptology and Information Security. Springer, 326343. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. [27] Jang Keon, Han Sangjin, Han Seungyeop, Moon Sue, and Park KyoungSoo. 2011. SSLShader: Cheap SSL acceleration with commodity processors. In Proceedings of the 8th USENIX Conference on Networked Systems Design and Implementation. USENIX Association, 11. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. [28] S. Josefsson and I. Liusvaara. 2017. RFC 8032: Edwards-curve digital signature algorithm (EdDSA). Request for Comments, IETF.Google ScholarGoogle Scholar
  29. [29] Koç Cetin K. 1995. Analysis of sliding window techniques for exponentiation. Comput. Math. Appl. 30, 10 (1995), 1724.Google ScholarGoogle ScholarCross RefCross Ref
  30. [30] Koppermann Philipp, Santis Fabrizio De, Heyszl Johann, and Sigl Georg. 2017. Low-latency X25519 hardware implementation: Breaking the 100 microseconds barrier. Microprocess. Microsyst. 52 (2017), 491497. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. [31] A. Langley, M. Hamburg, and S. Turner. 2016. RFC 7748: Elliptic curves for security. Request for Comments, IETF.Google ScholarGoogle Scholar
  32. [32] Liu Zhe, Weng Jian, Hu Zhi, and Seo Hwajeong. 2016. Efficient elliptic curve cryptography for embedded devices. ACM Trans. Embed. Comput. Syst. 16, 2 (2016), 118. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. [33] Mehrabi Mohamad Ali and Doche Christophe. 2019. Low-cost, low-power FPGA implementation of ED25519 and CURVE25519 point multiplication. Information 10, 9 (2019), 285.Google ScholarGoogle ScholarCross RefCross Ref
  34. [34] Montgomery Peter L.. 1987. Speeding the pollard and elliptic curve methods of factorization. Mathematics of Computation 48, 177 (1987), 243264.Google ScholarGoogle ScholarCross RefCross Ref
  35. [35] Neves Samuel and Araujo Filipe. 2011. On the performance of GPU public-key cryptography. In Proceedings of the IEEE International Conference on Application-Specific Systems, Architectures and Processors (ASAP’11). IEEE, 133140. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. [36] NVIDIA. 2017. CUDA C Programming Guide 9.0. Retrieved from https://docs.nvidia.com/cuda/cuda-c-programming- guide/.Google ScholarGoogle Scholar
  37. [37] NVIDIA. 2017. Inline PTX Assembly in CUDA. Retrieved from http://docs.nvidia.com/cuda/inline-ptx-assembly/ index.html.Google ScholarGoogle Scholar
  38. [38] NVIDIA. 2017. Parallel Thread Execution ISA Version 6.0. Retrieved from http://docs.nvidia.com/cuda/parallel-thread-exec ution/index.html.Google ScholarGoogle Scholar
  39. [39] Okeya Katsuyuki and Sakurai Kouichi. 2001. Efficient elliptic curve cryptosystems from a scalar multiplication algorithm with recovery of the y-coordinate on a montgomery-form elliptic curve. In Proceedings of the International Workshop on Cryptographic Hardware and Embedded Systems. Springer, 126141. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. [40] Okeya Katsuyuki and Sakurai Kouichi. 2002. A scalar multiplication algorithm with recovery of the y-coordinate on the montgomery form and analysis of efficiency for elliptic curve cryptosystems. IEICE Trans. Fundam. Electr. Commun. Comput. Sci. 85, 1 (2002), 8493.Google ScholarGoogle Scholar
  41. [41] Pan Wuqiong, Zheng Fangyu, Zhu Wentao, and Jing Jiwu. 2017. An efficient elliptic curve cryptography signature server with GPU acceleration. IEEE Trans. Inf. Forens. Secur. (2017). Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. [42] Reddy Venu Gopal. 2008. Neon Technology Introduction. ARM Corporation.Google ScholarGoogle Scholar
  43. [43] E. Rescorla. 2018. RFC 8446: The transport layer security (TLS) protocol version 1.3. Request for Comments, IETF.Google ScholarGoogle Scholar
  44. [44] Roman Rodrigo, Lopez Javier, and Mambo Masahiro. 2018. Mobile edge computing, fog et al.: A survey and analysis of security threats and challenges. Fut. Gener. Comput. Syst. 78 (2018), 680698.Google ScholarGoogle ScholarCross RefCross Ref
  45. [45] Roy Debapriya Basu and Mukhopadhyay Debdeep. 2019. High-speed implementation of ECC scalar multiplication in GF (p) for generic montgomery curves. IEEE Trans. VLSI Syst. 27, 7 (2019), 15871600.Google ScholarGoogle ScholarCross RefCross Ref
  46. [46] Sha Kewei, Yang T. Andrew, Wei Wei, and Davari Sadegh. 2020. A survey of edge computing-based designs for iot security. Digit. Commun. Netw. 6, 2 (2020), 195202.Google ScholarGoogle ScholarCross RefCross Ref
  47. [47] Shi Weisong, Cao Jie, Zhang Quan, Li Youhuizi, and Xu Lanyu. 2016. Edge computing: Vision and challenges. IEEE IoT J. 3, 5 (2016), 637646.Google ScholarGoogle Scholar
  48. [48] Szerwinski Robert and Güneysu Tim. 2008. Exploiting the power of GPUs for asymmetric cryptography. In Proceedings of the Cryptographic Hardware and Embedded Systems Conference (CHES’08). Springer, 7999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. [49] Turan Furkan and Verbauwhede Ingrid. 2019. Compact and flexible FPGA implementation of ed25519 and X25519. ACM Trans. Embed. Comput. Syst. 18, 3 (2019), 121. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. [50] Wikipedia. 2018. NVIDIA Tegra. Retrieved from https://en.wikipedia.org/wiki/Tegra.Google ScholarGoogle Scholar
  51. [51] Xiao Yinhao, Jia Yizhen, Liu Chunchi, Cheng Xiuzhen, Yu Jiguo, and Lv Weifeng. 2019. Edge computing security: State of the art and challenges. Proc. IEEE 107, 8 (2019), 16081631.Google ScholarGoogle ScholarCross RefCross Ref
  52. [52] Yao Shun and Yu Dantong. 2017. PhiOpenSSL: Using the xeon phi coprocessor for efficient cryptographic calculations. In Proceedings of the Parallel and Distributed Processing Symposium. 565574.Google ScholarGoogle ScholarCross RefCross Ref
  53. [53] Zhang Jiale, Chen Bing, Zhao Yanchao, Cheng Xiang, and Hu Feng. 2018. Data security and privacy-preserving in edge computing paradigm: Survey and open issues. IEEE Access 6 (2018), 1820918237.Google ScholarGoogle ScholarCross RefCross Ref
  54. [54] Zheng Fangyu, Pan Wuqiong, Lin Jingqiang, Jing Jiwu, and Zhao Yuan. 2014. Exploiting the floating-point computing power of GPUs for RSA. In Proceedings of the 17th International Conference on Information Security (ISC’14). 198215.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. EC-ECC: Accelerating Elliptic Curve Cryptography for Edge Computing on Embedded GPU TX2

    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 Embedded Computing Systems
      ACM Transactions on Embedded Computing Systems  Volume 21, Issue 2
      March 2022
      187 pages
      ISSN:1539-9087
      EISSN:1558-3465
      DOI:10.1145/3514174
      • Editor:
      • Tulika Mitra
      Issue’s Table of Contents

      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: 8 February 2022
      • Accepted: 1 October 2021
      • Revised: 1 August 2021
      • Received: 1 December 2020
      Published in tecs Volume 21, 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

    Full Text

    View this article in Full Text.

    View Full Text

    HTML Format

    View this article in HTML Format .

    View HTML Format
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!