DOI QR코드

DOI QR Code

VLSI Architecture for High Speed Implementation of Elliptic Curve Cryptographic Systems

타원곡선 암호 시스템의 고속 구현을 위한 VLSI 구조

  • 김창훈 (대구대학교 컴퓨터.IT 공학부)
  • Published : 2008.04.30

Abstract

In this paper, we propose a high performance elliptic curve cryptographic processor over $GF(2^{163})$. The proposed architecture is based on a modified Lopez-Dahab elliptic curve point multiplication algorithm and uses Gaussian normal basis for $GF(2^{163})$ field arithmetic. To achieve a high throughput rates, we design two new word-level arithmetic units over $GF(2^{163})$ and derive a parallelized elliptic curve point doubling and point addition algorithm with uniform addressing based on the Lopez-Dahab method. We implement our design using Xilinx XC4VLX80 FPGA device which uses 24,263 slices and has a maximum frequency of 143MHz. Our design is roughly 4.8 times faster with 2 times increased hardware complexity compared with the previous hardware implementation proposed by Shu. et. al. Therefore, the proposed elliptic curve cryptographic processor is well suited to elliptic curve cryptosystems requiring high throughput rates such as network processors and web servers.

본 논문에서는 $GF(2^{163})$타원곡선 암호 프로세서를 제안한다. 제안한 암호 프로세서는 타원곡선 정수 곱셈을 위해 수정된 Loez-Dahab Montgomery 알고리즘을 채택하고, $GF(2^{163})$상의 산술 연산을 위해 가우시안 정규 기저(Gaussian Normal Basis: GNB)를 이용한다. 높은 처리율을 위해 Lopez-Dahab 방식에 기반한 규칙적인 주소화 방식의 병렬 타원곡선 좌표 덧셈 및 배 연산 알고리즘을 유도하고 $GF(2^{163})$상의 연산을 수행하는 두 개의 워드-레벨 산술 연산기(Arithmetic Unit: AU)를 설계한다. 제안된 타원곡선 암호 프로세서는 Xilinx사의 XC4VLX80 FPGA 디바이스에 구현되었으며, 24,263개의 슬라이스를 사용하고 최대 동작주파수는 143MHz이다. 제안된 구조를 Shu 등의 하드웨어 구현과 비교했을 때 하드웨어 복잡도는 약 2배 증가 하였지만 4.8배의 속도 향상을 보인다. 따라서 제안된 타원곡선 암호 프로세서는 네트워크 프로세서와 웹 서버등과 같은 높은 처리율을 요구하는 타원곡선 암호시스템에 적합하다.

Keywords

References

  1. V.S. Miller, "Use of Elliptic Curves in Cryptography," in Advances in Cryptology-Proc. of CRYPTO'85, pp.417-426, 1986
  2. N. Koblitz, "Elliptic Curve Cryptosystems," Mathematics of Computation, vol.48, pp.203-209, 1987 https://doi.org/10.2307/2007884
  3. M. Rosing, Implementing Elliptic Curve Cryptography, Manning, 1999
  4. D. Hankerson, J. Hernandez, and A. Menezes, "Software Implementation of Elliptic Curve Cryptography Over Binary Fields," Proc. of CHES 2000, Lecture Notes in Computer Science, Vol.1965, pp.1-24, 2000 https://doi.org/10.1007/3-540-44499-8_1
  5. A. Satoh and K. Takano, "A Scalable Dual-Field Elliptic Curve Cryptographic Processor," IEEE Trans. on Computers, Vol.52, No.4, pp.449-460, Apr. 2003 https://doi.org/10.1109/TC.2003.1190586
  6. G. Orlando and C. Parr, "A High Performance Reconfigurable Elliptic Curve Processor for GF$(2^m)^n$," CHES 2000, Lecture Notes in Computer Science, Vol.1965, 2000
  7. C. Shu, K. Gaj, and T. El-Ghazawi, "Low Latency Elliptic Curve Cryptography Accelerators for NIST Curves over Binary Fields," FPT 2005 1965, pp.309-310, 2005
  8. N. Gura, S.C. Shantz, H. Eberle, S. Gupta, V. Gupta, D. Finchelstein, E. Goupy, and D. Stebila, "An End-to-End Systems Approach to Elliptic Curve Cryptography," CHES 2002, Lecture Notes in Computer Science, Vol.2523, pp. 349-365, 2002
  9. A. K. Daneshbeh, M. A. Hasan, "Area efficient high speed elliptic curve cryptoprocessor for random curves," IEEE Symposium on Information Technology: Coding and Computing (ITCC), Vol.2, pp.588-592, 2004
  10. H. Eberle, N. Gura, S. Chang-Shantz, and Vipul Gupta, "A cryptographic processor for arbitrary elliptic curves over $(2^m)^n$," Application-Specific Systems, Architectures, and Processors (ASAP), pp.444-454, 2003
  11. C. Grabbe, M. Bednara, J. von zur Gathen, J. Shokrollahi, J. Teich, "A high performance vliw processor for finite field arithmetic," Reconfigurable Architectures Workshop (RAW), 2003
  12. K. J.rvinen, M. Tommiska, J. Skytt., "A scalable architecture for elliptic curve point multiplication," IEEE Field- Programmable Technology (FPT), pp.303-306, 2004
  13. N.A. Saqib, F. Rodriguez-Henriquez, A. Diaz-Pierez, "A parallel architecture for fast computation of elliptic curve scalar multiplication over $(2^m)^n$," Parallel & Distributed Processing Symposium (IPDPS), 2004
  14. IEEE 1363, Standard Specifications for Publickey Cryptography, 2000
  15. NIST, Recommended elliptic curves for federal government use, May 1999. http://csrc.nist.gov/encryption
  16. A.J. Menezes, I.F. Blake, X. Gau, R.C. Mullin, S.A. Vanstone, and T. Yaghoobian, Applications of Finite Fields, Kluwer Academic Publisher, 1993
  17. S. Kwon, K. Gaj, C. H. Kim, and C. P. Hong, "Efficient Linear Array for Multiplication in $(2^m)^n$ Using a Normal Basis for Elliptic Curve Cryptography," CHES 2004 Lecture Notes in Computer Science, Vol.3156, pp.76-91, 2004
  18. J. Lopez and R. Dahab, "Fast Multiplication on Elliptic Curves over $(2^m)^n$without Precomputation," CHES 1999, Lecture Notes in Computer Science, Vol.1717, pp.316-327, 1999 https://doi.org/10.1007/3-540-48059-5_27
  19. T. Itoh and S. Tsuji, "A fast algorithm for computing multiplicative inverses $GF(2^m)$ in using normal bases," Information and Computing, Vol.78, No.3, pp.171-177, 1988 https://doi.org/10.1016/0890-5401(88)90024-7
  20. B. Ansari, M. Anwar Hasan, "High Performance Architecture of Elliptic Curve Scalar Multiplication," Tech. Report CACR 2006-01, 2006
  21. M. Benaissa and W.M. Lim, "Design of Flexible $(2^m)^n$ Elliptic Curve Cryptography Processors," IEEE Trans. VLSI Syst., Vol.14, No.6, pp.659-662, June 2006 https://doi.org/10.1109/TVLSI.2006.878235
  22. C.J. McIvor, M. McLoone, and J.V. McCanny, “Hardware Elliptic Curve Cryptography Processor over GF(p),” IEEE Trans. Circuits Syst. I: Reg. Papers, Vol.53, No.9, pp.1946-1957, Sept. 2006 https://doi.org/10.1109/TCSI.2006.880184
  23. G. Chen, G. Bai, and H. Chen, “A High-Performance Elliptic Curve Cryptographic Processor for General Curves Over GF(p) Based on a Systolic Arithmetic Unit,” IEEE Trans. Circuits Syst. II: Express Briefs, Vol.54, No.5, pp.412-416, May 2007 https://doi.org/10.1109/TCSII.2006.889459

Cited by

  1. An RFID Authentication Protocol based Symmetric Key using Hashed Tag ID vol.16C, pp.6, 2009, https://doi.org/10.3745/KIPSTC.2009.16C.6.669