On Software Parallel Implementation of Cryptographic Pairings

  • Philipp Grabher
  • Johann Großschädl
  • Dan Page
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5381)


A significant amount of research has focused on methods to improve the efficiency of cryptographic pairings; in part this work is motivated by the wide range of applications for such primitives. Although numerous hardware accelerators for pairing evaluation have used parallelism within extension field arithmetic to improve efficiency, thus far less emphasis has been placed on software exploitation of similar. In this paper we focus on parallelism within one pairing evaluation (intra-pairing), and parallelism between different pairing evaluations (inter-pairing). We identify several methods for exploiting such parallelism (extending previous results in the context of ECC) and show that it is possible to accelerate pairing evaluation by a significant factor in comparison to a naive approach.


Elliptic Curve Elliptic Curve Cryptography Residue Number System Pairing Evaluation Cryptology ePrint Archive 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Acar, T.: High-Speed Algorithms & Architectures For Number-Theoretic Cryptosystems. PhD Thesis, Oregon State University (1997)Google Scholar
  2. 2.
    Aoki, K., Hoshino, F., Kobayashi, T., Oguro, H.: Elliptic curve arithmetic using SIMD. In: Davida, G.I., Frankel, Y. (eds.) ISC 2001. LNCS, vol. 2200, pp. 235–247. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  3. 3.
    Bailey, D.V., Paar, C.: Efficient Arithmetic in Finite Field Extensions with Application in Elliptic Curve Cryptography. Journal of Cryptology 14(3), 153–176 (2001)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
    Barreto, P.S.L.M., Galbraith, S., Ó hÉigeartaigh, C., Scott., M.: Efficient Pairing Computation on Supersingular Abelian Varieties. Designs, Codes and Cryptography 42(3), 239–271 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Barreto, P.S.L.M., Kim, H., Lynn, B., Scott, M.: Efficient Algorithms for Pairing-Based Cryptosystems. In: Yung, M. (ed.) CRYPTO 2002. LNCS, vol. 2442, pp. 354–368. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  6. 6.
    Barreto, P.S.L.M., Naehrig, M.: Pairing-friendly Elliptic Curves of Prime Order. In: Preneel, B., Tavares, S. (eds.) SAC 2005. LNCS, vol. 3897, pp. 319–331. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  7. 7.
    Bhaskar, R., Dubey, P.K., Kumar, V., Rudra, A., Sharma, A.: Efficient Galois Arithmetic on SIMD Architectures. In: ACM Symposium on Parallel Algorithms and Architectures, pp. 256–257. ACM Press, New York (2003)Google Scholar
  8. 8.
    Biham, E.: A fast new DES implementation in software. In: Biham, E. (ed.) FSE 1997. LNCS, vol. 1267, pp. 260–272. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  9. 9.
    Boneh, D., Lynn, B., Shacham, H.: Short signatures from the Weil pairing. Journal of Cryptology 17(4), 297–319 (2004)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Bosselaers, A., Govaerts, R., Vandewalle, J.: SHA: A design for parallel architectures? In: Fumy, W. (ed.) EUROCRYPT 1997. LNCS, vol. 1233, pp. 348–362. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  11. 11.
    Clapp, C.S.K.: Optimizing a Fast Stream Cipher for VLIW, SIMD, and Superscalar Processors. In: Biham, E. (ed.) FSE 1997. LNCS, vol. 1267, pp. 273–287. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  12. 12.
    Crandall, R., Klivington, J.: Vector Implementation of Multiprecision Arithmetic. Technical Report (1999)Google Scholar
  13. 13.
    Devegili, A.J., ÓhÉigeartaigh, C., Scott, M., Dahab, R.: Multiplication and Squaring on Pairing-Friendly Fields. Cryptology ePrint Archive, Report 2006/471 (2006)Google Scholar
  14. 14.
    Devegili, A.J., Scott, M., Dahab, R.: Implementing Cryptographic Pairings over Barreto-Naehrig Curves. In: Takagi, T., Okamoto, T., Okamoto, E., Okamoto, T. (eds.) Pairing 2007. LNCS, vol. 4575, pp. 197–207. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  15. 15.
    Duursma, I., Lee, H.: Tate Pairing Implementation for Hyperelliptic Curves y 2 = x p - x+d. In: Laih, C.-S. (ed.) ASIACRYPT 2003. LNCS, vol. 2894, pp. 111–123. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  16. 16.
    Fan, J., Sakiyama, K., Verbauwhede, I.: Montgomery Modular Multiplication Algorithm on Multi-Core Systems. In: Workshop on Signal Processing Systems: Design and Implementation (SIPS), pp. 261–266 (2007)Google Scholar
  17. 17.
    Fan, J., Sakiyama, K., Verbauwhede, I.: Elliptic Curve Cryptography on Embedded Multicore Systems. In: WESS 2007, pp. 17–22 (2007)Google Scholar
  18. 18.
    Fournier, J.J.A.: Vector Microprocessors for Cryptography. PhD Thesis, University of Cambridge (2007)Google Scholar
  19. 19.
    Galbraith, S.D., Harrison, K., Soldera, D.: Implementing the tate pairing. In: Fieker, C., Kohel, D.R. (eds.) ANTS 2002. LNCS, vol. 2369, pp. 324–337. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  20. 20.
    Granger, R., Page, D., Smart, N.P.: High security pairing-based cryptography revisited. In: Hess, F., Pauli, S., Pohst, M. (eds.) ANTS 2006. LNCS, vol. 4076, pp. 480–494. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  21. 21.
    Granger, R., Smart, N.P.: On Computing Products of Pairings. In: Cryptology ePrint Archive, Report 2006/172 (2006)Google Scholar
  22. 22.
    Hankerson, D., Menezes, A., Vanstone, S.: Guide to Elliptic Curve Cryptography. Springer, Heidelberg (2004)zbMATHGoogle Scholar
  23. 23.
    Hess, F., Smart, N.P., Vercauteren, F.: The Eta Pairing Revisited. Transactions on Information Theory 52, 4595–4602 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  24. 24.
    Hankerson, D., Menezes, A.J., Scott, M.: Software Implementation of Pairings. To appear in Identity-Based Cryptography,
  25. 25.
    Intel Cooperation. Using Streaming SIMD Extensions (SSE2) to Perform Big Multiplications. Technical Report (2000)Google Scholar
  26. 26.
    Izu, T., Takagi, T.: Fast elliptic curve multiplications with SIMD operations. In: Deng, R.H., Qing, S., Bao, F., Zhou, J. (eds.) ICICS 2002. LNCS, vol. 2513, pp. 217–230. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  27. 27.
    Kerins, T., Marnane, W.P., Popovici, E.M., Barreto, P.S.L.M.: Efficient Hardware for the Tate Pairing Calculation in Characteristic Three. In: Rao, J.R., Sunar, B. (eds.) CHES 2005. LNCS, vol. 3659, pp. 412–426. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  28. 28.
    Koblitz, N., Menezes, A.: Pairing-based Cryptography at High Security Levels. In: Smart, N.P. (ed.) Cryptography and Coding 2005. LNCS, vol. 3796, pp. 13–36. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  29. 29.
    Koc, C.K., Acar, T., Kaliski, B.S.: Analyzing and Comparing Montgomery Multiplication Algorithms. IEEE Micro 16(3), 26–33 (1996)CrossRefGoogle Scholar
  30. 30.
    Kwon, S.: Efficient tate pairing computation for elliptic curves over binary fields. In: Boyd, C., González Nieto, J.M. (eds.) ACISP 2005. LNCS, vol. 3574, pp. 134–145. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  31. 31.
    Lee, R.B., Fiskiran, A.M.: PLX: A Fully Subword-Parallel Instruction Set Architecture for Fast Scalable Multimedia Processing. In: International Conference on Multimedia and Expo, pp. 117–120 (2002)Google Scholar
  32. 32.
    Lipmaa, H.: IDEA: A cipher for multimedia architectures? In: Tavares, S., Meijer, H. (eds.) SAC 1998. LNCS, vol. 1556, pp. 248–263. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  33. 33.
    Matsui, M., Nakajima, J.: On the power of bitslice implementation on intel core2 processor. In: Paillier, P., Verbauwhede, I. (eds.) CHES 2007. LNCS, vol. 4727, pp. 121–134. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  34. 34.
    Miller, V.: Short programs for functions on curves,
  35. 35.
    Montgomery, P.L.: Modular Multiplication without Trial Division. Mathematics of Computation 44(170), 519–521 (1985)MathSciNetCrossRefzbMATHGoogle Scholar
  36. 36.
    Montgomery, P.L.: Vectorization of the Elliptic Curve Method,
  37. 37.
    Nakajima, J., Matsui, M.: Performance analysis and parallel implementation of dedicated hash functions. In: Knudsen, L.R. (ed.) EUROCRYPT 2002. LNCS, vol. 2332, pp. 165–180. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  38. 38.
    Page, D., Smart, N.P.: Parallel Cryptographic Arithmetic Using a Redundant Montgomery Representation. Transactions on Computers 53(11), 1474–1482 (2004)CrossRefGoogle Scholar
  39. 39.
    Scott, M.: Implementing Cryptographic Pairings,

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Philipp Grabher
    • 1
  • Johann Großschädl
    • 1
  • Dan Page
    • 1
  1. 1.Merchant Venturers BuildingUniversity of BristolBristolUK

Personalised recommendations