Efficient Modular Division Implementation

ECC over GF(p) Affine Coordinates Application
  • Guerric Meurice de Dormale
  • Philippe Bulens
  • Jean-Jacques Quisquater
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3203)


Elliptic Curve Public Key Cryptosystems (ECPKC) are becoming increasingly popular for use in mobile appliances where bandwidth and chip area are strongly constrained. For the same level of security, ECPKC use much smaller key length than the commonly used RSA. The underlying operation of affine coordinates elliptic curve point multiplication requires modular multiplication, division/inversion and addition/substraction. To avoid the critical division/inversion operation, other coordinate systems may be chosen, but this implies more operations and a strong increase in memory requirements. So, in area and memory constrained devices, affine coordinates should be preferred, especially over GF(p).

This paper presents a powerful reconfigurable hardware implementation of the Takagi modular divider algorithm. Resulting 256-bit circuits achieved a ratio throughput/area improved by at least 900 % of the only known design in Xilinx Virtex-E technology. Comparison with typical modular multiplication performance is carried out to suggest the use of affine coordinates also for speed reason.


Elliptic Curve Clock Cycle Pipeline Stage Modular Multiplication Elliptic Curve Cryptosystems 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Brent, R.P., Kung, H.T.: Systolic VLSI arrays for linear time GCD computation. In: VLSI 1983, pp. 145–154 (1983)Google Scholar
  2. 2.
    Chang-Shantz, S.: From Euclid’s GCD to Montgomery Multiplication to the Great Divide. Technical report, Sun Microsystems Laboratories TR-2001-95 (June 2001)Google 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.
    Daly, A., Marnane, W., Kerins, T., Popovici, E.: Fast Modular Division for Application in ECC on Reconfigurable Logic. In: Y. K. Cheung, P., Constantinides, G.A. (eds.) FPL 2003. LNCS, vol. 2778, Springer, Heidelberg (2003)CrossRefGoogle Scholar
  5. 5.
    Daly, A., Marnane, W.: Efficient architectures for implementing montgomery modular multiplication and RSA modular exponentiation on reconfigurable logic. In: Proceedings of the 2002 ACM/SIGDA tenth international symposium on Fieldprogrammable gate arrays (2002)Google Scholar
  6. 6.
    Joye, M., Paillier, P.: GCD-free Algorithms for Computing Modular Inverses. In: Walter, C.D., Koç, Ç.K., Paar, C. (eds.) CHES 2003. LNCS, vol. 2779, pp. 243–253. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  7. 7.
    Kahaira, M.E., Takagi, N.: A VLSI Algorithm for Modular Mulitplication/Division. In: The 16th IEEE Symposium on Computer Arithmetic — ARITH 16, Spain, Santiago de Compostela, June 15-18 (2003)Google Scholar
  8. 8.
    Kaliski Jr., B.S.: The Montgomery Inverse and its Applications. IEEE Transactions on Computers 44(8), 1064–1065 (1995)zbMATHCrossRefGoogle Scholar
  9. 9.
    Knuth, D.E.: The Art of Computer Programming, 2nd edn. Seminumerical Algorithms. Addison-Wesley, Reading (1981)zbMATHGoogle Scholar
  10. 10.
    Savaş, E., Koç, Ç.K.: The Montgomery Modular Inverse - Revisited. IEEE Transactions on Computers 49(7), 763–766 (2000)CrossRefGoogle Scholar
  11. 11.
    Takagi, N.: A VLSI Algorithm for Modular Division Based on the Binary GCD Algorithm. IEICE Trans. Fundamentals of Electronics, Communications and Computer Sciences E81-A(5), 724–728 (1998)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Guerric Meurice de Dormale
    • 1
  • Philippe Bulens
    • 1
  • Jean-Jacques Quisquater
    • 1
  1. 1.UCL Crypto Group, Laboratoire de Microélectronique (DICE)Université Catholique de LouvainLouvain-La-NeuveBelgium

Personalised recommendations