Design of Programmable and Configurable Elliptic Curve Cryptosystem Coprocessor

재구성 가능한 타원 곡선 암호화 프로세서 설계

  • Lee Jee-Myong (School of Electronic Engineering Soongsil University) ;
  • Lee Chanho (School of Electronic Engineering Soongsil University) ;
  • Kwon Woo-Suk (School of Electronic Engineering Soongsil University)
  • 이지명 (숭실대학교 정보통신전자공학부) ;
  • 이찬호 (숭실대학교 정보통신전자공학부) ;
  • 권우석 (숭실대학교 정보통신전자공학부)
  • Published : 2005.06.01

Abstract

Crypto-systems have difficulties in designing hardware due to the various standards. We propose a programmable and configurable architecture for cryptography coprocessors to accommodate various crypto-systems. The proposed architecture has a 32 bit I/O interface and internal bus width, and consists of a programmable finite field arithmetic unit, an input/output unit, a register file, and a control unit. The crypto-system is determined by the micro-codes in memory of the control unit, and is configured by programming the micro-codes. The coprocessor has a modular structure so that the arithmetic unit can be replaced if a substitute has an appropriate 32 bit I/O interface. It can be used in many crypto-systems by re-programming the micro-codes for corresponding crypto-system or by replacing operation units. We implement an elliptic curve crypto-processor using the proposed architecture and compare it with other crypto-processors

암호화 시스템은 다양한 표준으로 인해 하드웨어 구성에 많은 어려움이 있다. 본 논문에서는 다양한 암호화 규격을 수용할 수 있는 재구성 가능한 타원 곡선 암호화 프로세서 구조를 제안한다. 제안된 프로세서 구조는 32bit 크기의 입출력 포트와 내부 버스를 가지며 유한체 연산 장치(AU), 입력/출력 장치(IOU), 레지스터 파일 그리고 프로그램이 가능한 제어 장치(CU)로 이루어져 있다. 제어 장치의 ROM에 저장되어 있는 마이크로 코드에 의하여 프로세서에서 사용할 키의 길이와 원시 다항식이 결정된다 마이크로 코드는 사용자가 프로세서 내부 ROM에 프로그래밍을 통해 저장할 수 있다. 프로세서 내부의 각 장치는 32 bit 크기의 버스로 연결되어 있어 타원 곡선 암호 규격에 무관하게 동작이 가능하므로 32bit 규격의 입출력 포트만 가지고 있으면 새로운 장치로 교체가 가능한 모듈 구조를 갖고 있다. 따라서 소프트웨어적으로 새로운 마이크로 코드를 프로그래밍하고 하드웨어적으로는 필요한 연산 장치의 교체를 통하여 다양한 타원 곡선 암호 체계에 응용될 수 있다. 본 논문에서는 제안된 프로세서 구조를 이용하여 타원곡선 암호화 프로세서를 구현하였으며 그 결과를 기존의 암호화 프로세서와 비교하였다.

Keywords

References

  1. P. Kitsos, G. Theodoridis, and O. Koufopavlou, 'An efficient reconfigurable multiplier architecture for Galois field $GF(2^m)$,' Microelectronics Journal, Vol. 34, pp. 975-980, 2003 https://doi.org/10.1016/S0026-2692(03)00172-1
  2. 'SEC2: Recommended Elliptic Curve Domain Parameters. v. 1.0,' Certicom Corp, pp. 29-32, Sept. 2000
  3. '부가형 전자 서명 방식 표준 - 제 3부 타원 곡선을 이용한 기반 전자서명 알고리즘,' 한국 정보통신 기술 협회, pp. 8-61, Nov. 2001
  4. L. Song, and K. K. Parhi, 'Low-energy digit-serial parallel finite field multipliers,' Journal of VLSI signal processing, Vol. 19, pp. 149-166, 1998 https://doi.org/10.1023/A:1008013818413
  5. C. K. Koc, and T. Acar, 'Montgomery multiplier in GF(2k) design,' Codes and Cryptography, Vol. 14, pp.57-69, 1998 https://doi.org/10.1023/A:1008208521515
  6. S. Janssens, J. Thomas, W. Borremans, P. Gijsels, I. Verbauwhede, F. Vercauteren, B. Preneel, and J. Vandewalle, 'Hardware/Software co-design of an elliptic curve public-key ctyptosystem,' 2001 IEEE Workshop on Signal Processing Systems, pp.209-216, Antwerp, Belgium, Sept. 26-28, 2001
  7. J. H. Guo, and C. L. Wang, 'Digit-serial systolic multiplier for finite fields $GF(2^m)$,' Computers and Digital Techniques, IEE Proceedings, Vol. 145, pp. 143-148, March 1998 https://doi.org/10.1049/ip-cdt:19981906
  8. K. H. Leung, K. W. Ma, W. K. Wong, and P. H. W. Leong, 'FPGA implementation of a microcoded elliptic curve cryptographic processor,' 2000 IEEE Symposium on Field-Programmable Custom Computing Machines, pp. 68-76, Napa Valley California USA, April 17-19, 2000 https://doi.org/10.1109/FPGA.2000.903394