Instruction Set Extensions for Fast Arithmetic in Finite Fields GF(p) and GF(2m)

  • Johann Großschädl
  • Erkay Savaş
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3156)


Instruction set extensions are a small number of custom instructions specifically designed to accelerate the processing of a given kind of workload such as multimedia or cryptography. Enhancing a general-purpose RISC processor with a few application-specific instructions to facilitate the inner loop operations of public-key cryptosystems can result in a significant performance gain. In this paper we introduce a set of five custom instructions to accelerate arithmetic operations in finite fields GF(p) and GF(2 m ). The custom instructions can be easily integrated into a standard RISC architecture like MIPS32 and require only little extra hardware. Our experimental results show that an extended MIPS32 core is able to perform an elliptic curve scalar multiplication over a 192-bit prime field in 36 msec, assuming a clock speed of 33 MHz. An elliptic curve scalar multiplication over the binary field GF(2191) takes only 21 msec, which is approximately six times faster than a software implementation on a standard MIPS32 processor.


Elliptic Curve Clock Cycle Elliptic Curve Cryptography Custom Instruction Elliptic Curve Digital Signature Algorithm 
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.
    American National Standards Institute. X9.62-1998, Public key cryptography for the financial services industry: The elliptic curve digital signature algorithm (1999)Google Scholar
  2. 2.
    Brown, M.K., et al.: Software implementation of the NIST elliptic curves over prime fields. In: Naccache, D. (ed.) CT-RSA 2001. LNCS, vol. 2020, pp. 250–265. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  3. 3.
    Cohen, H., Miyaji, A., Ono, T.: Efficient elliptic curve exponentiation using mixed coordinates. In: Ohta, K., Pei, D. (eds.) ASIACRYPT 1998. LNCS, vol. 1514, pp. 51–65. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  4. 4.
    Comba, P.G.: Exponentiation cryptosystems on the IBM PC. IBM Systems Journal 29(4), 526–538 (1990)CrossRefGoogle Scholar
  5. 5.
    Dhem, J.-F.: Design of an efficient public-key cryptographic library for RISC-based smart cards. Ph.D. Thesis, Université Catholique de Louvain, Belgium (1998) Google Scholar
  6. 6.
    Großschädl, J., Kamendje, G.-A.: Architectural enhancements for Montgomery multiplication on embedded RISC processors. In: Zhou, J., Yung, M., Han, Y. (eds.) ACNS 2003. LNCS, vol. 2846, pp. 418–434. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  7. 7.
    Großschädl, J., Kamendje, G.-A.: Instruction set extension for fast elliptic curve cryptography over binary finite fields GF(2m). In: Proceedings of the 14th IEEE International Conference on Application-specific Systems, Architectures and Processors (ASAP 2003), pp. 455–468. IEEE Computer Society Press, Los Alamitos (2003)CrossRefGoogle Scholar
  8. 8.
    Hankerson, D., López Hernandez, J., Menezes, A.J.: Software implementation of elliptic curve cryptography over binary fields. In: Paar, C., Koç, Ç.K. (eds.) CHES 2000. LNCS, vol. 1965, pp. 1–24. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  9. 9.
    Koç, Ç.K., Acar, T.: Montgomery multiplication in GF(2k). Designs, Codes and Cryptography 14(1), 57–69 (1998)zbMATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    Koç, Ç.K., Acar, T., Kaliski, B.S.: Analyzing and comparing Montgomery multiplication algorithms. IEEE Micro 16(3), 26–33 (1996)CrossRefGoogle Scholar
  11. 11.
    Lee, R.B.: Accelerating multimedia with enhanced microprocessors. IEEE Micro 15(2), 22–32 (1995)CrossRefGoogle Scholar
  12. 12.
    López, J., Dahab, R.: Fast multiplication on elliptic curves over GF(2m) without precomputation. In: Koç, Ç.K., Paar, C. (eds.) CHES 1999. LNCS, vol. 1717, pp. 316–327. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  13. 13.
    López, J., Dahab, R.: High-speed software multiplication in \(\mathbb{F}\)2m. In: Roy, B., Okamoto, E. (eds.) INDOCRYPT 2000. LNCS, vol. 1977, pp. 203–212. Springer, Heidelberg (2000)Google Scholar
  14. 14.
    Menezes, J., van Oorschot, P.C., Vanstone, S.A.: Handbook of Applied Cryptography. CRC Press, Boca Raton (1996)CrossRefGoogle Scholar
  15. 15.
    MIPS Technologies, Inc. MIPS32 4KmTM Processor Core Datasheet, Available for download at (September 2001)
  16. 16.
    MIPS Technologies, Inc. MIPS32TM Architecture for Programmers, Available for download at (March 2001)
  17. 17.
    MIPS Technologies, Inc. SmartMIPS Architecture Smart Card Extensions. Product brief, available for download at (February 2001)
  18. 18.
    MIPS Technologies, Inc. 64-bit architecture speeds RSA by 4x. White Paper, available for download at (June 2002)
  19. 19.
    Montgomery, P.L.: Modular multiplication without trial division. Mathematics of Computation 44(170), 519–521 (1985)zbMATHMathSciNetCrossRefGoogle Scholar
  20. 20.
    Nahum, E.M., et al.: Towards high performance cryptographic software. In: Proceedings of the 3rd IEEE Workshop on the Architecture and Implementation of High Performance Communication Subsystems (HPCS 1995), pp. 69–72. IEEE, Los Alamitos (1995)CrossRefGoogle Scholar
  21. 21.
    National Institute of Standards and Technology. Digital Signature Standard (DSS). Federal Information Processing Standards Publication 186-2 (2000) Google Scholar
  22. 22.
    The Open SystemC Initiative (OSCI). SystemC Version 2.0 User’s Guide (2002) Google Scholar
  23. 23.
    Phillips, B.J., Burgess, N.: Implementing 1,024-bit RSA exponentiation on a 32-bit processor core. In: Proceedings of the 12th IEEE International Conference on Application-specific Systems, Architectures and Processors (ASAP 2000), pp. 127–137. IEEE Computer Society Press, Los Alamitos (2000)CrossRefGoogle Scholar
  24. 24.
    Savaş, E., Tenca, A.F., Koç, Ç.K.: A scalable and unified multiplier architecture for finite fields GF(p) and GF(2m). In: Paar, C., Koç, Ç.K. (eds.) CHES 2000. LNCS, vol. 1965, pp. 277–292. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  25. 25.
    Schroeppel, R., et al.: Fast key exchange with elliptic curve systems. In: Coppersmith, D. (ed.) CRYPTO 1995. LNCS, vol. 963, pp. 43–56. Springer, Heidelberg (1995)Google Scholar
  26. 26.
    Solinas, J.A.: Generalized Mersenne numbers. Technical Report CORR-99-39, University of Waterloo, Canada (1999) Google Scholar
  27. 27.
    STMicroelectronics. ST22 SmartJ Platform Smartcard ICs, Available online at

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Johann Großschädl
    • 1
  • Erkay Savaş
    • 2
  1. 1.Institute for Applied Information Processing and CommunicationsGraz University of TechnologyGrazAustria
  2. 2.Faculty of Engineering and Natural SciencesSabanci UniversityOrhanli-Tuzla, IstanbulTurkey

Personalised recommendations