Efficient Modular Division Implementation
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.
KeywordsElliptic Curve Clock Cycle Pipeline Stage Modular Multiplication Elliptic Curve Cryptosystems
Unable to display preview. Download preview PDF.
- 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.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
- 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
- 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
- 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