초록
몽고메리 모듈러 역원 연산을 확장 가능형 하드웨어로 구현하기 위한 방법에 대해 기술한다. 제안되는 확장 가능형 구조는 워드 (32-비트) 단위로 연산을 수행하는 처리요소의 1차원 배열 구조를 가지며, 사용되는 처리요소의 개수에 따라 성능과 하드웨어 크기를 조절할 수 있다. 설계된 확장 가능형 몽고메리 모듈러 역원기를 Spartan-6 FPGA 소자에 구현하여 하드웨어 동작을 검증하였다. 설계된 역원기를 180-nm CMOS 표준 셀로 합성한 결과, 사용되는 처리요소의 개수 1~10에 따라 동작 주파수는 167~131 MHz, 게이트 수는 60,000~91,000 GEs (gate equivalents)로 평가되었다. 256 비트 모듈러 역원 연산의 경우, 처리요소의 개수 1~10에 따라 평균 18.7~118.2 Mbps의 연산성능을 갖는 것으로 예측되었다. 제안된 확장 가능형 모듈러 역원 연산기는 사용되는 처리요소의 개수에 따라 연산성능과 게이트 수 사이에 교환조건이 성립하며, 따라서 응용분야에서 요구되는 연산성능과 하드웨어 요구량에 최적화된 모듈러 역원 연산회로를 구현할 수 있다.
This paper describes a method for scalable hardware implementation of modular inversion. The proposed scalable architecture has a one-dimensional array of processing elements (PEs) that perform arithmetic operations in 32-bit word, and its performance and hardware size can be adjusted depending on the number of PEs used. The hardware operation of the scalable processor for modular inversion was verified by implementing it on Spartan-6 FPGA device. As a result of logic synthesis with a 180-nm CMOS standard cells, the operating frequency was estimated to be in the range of 167 to 131 MHz and the gate counts were in the range of 60,000 to 91,000 gate equivalents when the number of PEs was in the range of 1 to 10. When calculating 256-bit modular inverse, the average performance was 18.7 to 118.2 Mbps, depending on the number of PEs in the range of 1 to 10. Since our scalable architecture for computing modular inversion in GF(p) has the trade-off relationship between performance and hardware complexity depending on the number of PEs used, it can be used to efficiently implement modular inversion processor optimized for performance and hardware complexity required by applications.