Elliptic curve cryptography on embedded multicore systems

Abstract

The increasing use of network-connected embedded devices and online transactions creates a growing demand of network security for embedded systems. The security requirements, such as authentication, confidentiality and integrity, always make computationally intensive processes and can easily become the bottleneck of the related applications. In this paper we implement Elliptic Curve Cryptography (ECC) (Miller in Lecture Notes in Computer Science, vol. 218, pp. 417–426, 1985; Koblitz in Math. Comput. 48:203–209, 1987) on an embedded multicore system, and explore the task scheduling methods in different levels. First, we propose an instruction scheduling method that utilizes all the cores to perform one modular operation in parallel. Second, we perform multiple modular operations with multiple cores in parallel. The performance of those two implementations is compared and a scheduling method combining these two types of parallelism is proposed. We discuss the details of our proposed method by using an FPGA implementation of ECC over a prime field.

This is a preview of subscription content, access via your institution.

References

  1. 1.

    Miller V (1985) Uses of elliptic curves in cryptography. In: Williams HC (ed) Advances in cryptology: proceedings of CRYPTO’85. Lecture notes in computer science, vol 218. Springer, Berlin, pp 417–426

    Google Scholar 

  2. 2.

    Koblitz N (1987) Elliptic curve cryptosystem. Math Comput 48:203–209

    MATH  Article  MathSciNet  Google Scholar 

  3. 3.

    SSL 3.0 specification. http://wp.netscape.com/eng/ssl3/

  4. 4.

    IPSec Working Group. http://www.ietf.org/html.charters/ipsec-charter.html

  5. 5.

    Hofstee H, Johns C, Maeurer T, Shippy D, Kahle J, Day M (2005) Introduction to the cell multiprocessor. IBM J Res Dev 49(4/5):589–604

    Google Scholar 

  6. 6.

    http://www.arm.com/products/CPUs/ARM11MPCoreMultiprocessor.html

  7. 7.

    http://jp.fujitsu.com/microelectronics/products/micom/frv/hard/fr550

  8. 8.

    Yoshida Y, Kamei T, Hayase K, Shibahara S, Nishii O, Hattori T, Hasegawa A, Takada M, Irie N, Uchiyama K, Odaka T, Takada K, Kimura K, Kasahara H (2007) A 4320MIPS four-processor core SMP/AMP with individually managed clock frequency for low power consumption. In: Solid-state circuits conference, ISSCC 2007. Digest of technical papers. 11–15 February 2007. IEEE International, New York, pp 100–590

    Google Scholar 

  9. 9.

    Rivest RL, Shamir A, Adleman L (1978) A method for obtaining digital signatures and public-key cryptosystems. Commun ACM 21(2):120–126

    MATH  Article  MathSciNet  Google Scholar 

  10. 10.

    Koblitz N (1998) Algebraic aspects of cryptography. 1st edn. Springer, Berlin

    MATH  Google Scholar 

  11. 11.

    Blake I, Seroussi G, Smart NP (1999) Elliptic curves in cryptography. London mathematical society lecture note series. Cambridge University Press, Cambridge

    MATH  Google Scholar 

  12. 12.

    Hankerson D, Menezes A, Vanstone S (2004) Guide to elliptic curve cryptography. Springer, Berlin

    MATH  Google Scholar 

  13. 13.

    Montgomery P (1985) Modular multiplication without trial division. Math Comput 44(170):519–521

    MATH  Article  Google Scholar 

  14. 14.

    Koç ÇK, Acar T, Kaliski BS Jr (1996) Analyzing and comparing Montgomery multiplication algorithms. IEEE Micro 16(3):26–33

    Article  Google Scholar 

  15. 15.

    Eldridge SE, Walter CD (1993) Hardware implementation of Montgomery’s modular multiplication algorithm. IEEE Trans Comput 42:693–699

    Article  Google Scholar 

  16. 16.

    Tenca AF, Koç ÇK (2003) A scalable architecture for modular multiplication based on Montgomery’s algorithm. IEEE Trans Comput 52(9):1215–1221

    Article  Google Scholar 

  17. 17.

    Mentens N, Sakiyama K, Preneel B, Verbauwhede I (2007) Efficient pipelining for modular multiplication architectures in prime fields. In: Proceedings of the 2007 Great Lakes symposium on VLSI (GLSVLSI2007), pp 534–539

  18. 18.

    Preneel B, Sakiyama K, Batina L, Verbauwhede I (2006) Superscalar coprocessor for high-speed curve-based cryptography. Cryptogr Hardw Embed Syst 4249:415–429

    Article  Google Scholar 

  19. 19.

    Aydos M, Yanik T, Koç ÇK (2001) High-speed implementation of an ECC-based wireless authentication protocol on an ARM microprocessor. IEE Proc Commun 148(5):273–279

    Article  Google Scholar 

  20. 20.

    Brown M, Hankerson D, López J, Menezes A (2001) Software Implementation of the “NIST” elliptic curves over prime fields. In: Proceedings of the 2001 conference on topics in cryptology: the cryptographer’s track at RSA. Lecture notes in computer science, vol 2020. Springer, Berlin, pp 250–265

    Google Scholar 

  21. 21.

    Orlando G, Paar C (2001) A scalable GF(p) elliptic curve processor architecture for programmable hardware. In: Proceedings of 3rd international workshop on cryptograpic hardware and embedded systems (CHES). Lecture notes in computer science, vol 2162. Springer, Berlin, pp 356–371

    Google Scholar 

  22. 22.

    Sakiyama K, Mentens N, Preneel B, Verbauwhede I (2006) A parallel processing hardware architecture for elliptic curve cryptosystems. In Proceedings of IEEE international conference on acoustics, speech, and signal processing (ICASSP 2006), pp 904–907

Download references

Author information

Affiliations

Authors

Corresponding author

Correspondence to Junfeng Fan.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Fan, J., Sakiyama, K. & Verbauwhede, I. Elliptic curve cryptography on embedded multicore systems. Des Autom Embed Syst 12, 231–242 (2008). https://doi.org/10.1007/s10617-008-9021-3

Download citation

Keywords

  • Multicore embedded system
  • Elliptic curve cryptography
  • Parallel computing