초록
모듈러 곱셈은 타원곡선 암호 (elliptic curve cryptography; ECC), RSA 등의 공개키 암호에서 중요하게 사용되는 산술연산 중 하나이며, 모듈러 곱셈기의 성능은 공개키 암호 하드웨어의 성능에 큰 영향을 미치는 핵심 요소가 된다. 본 논문에서는 워드기반 몽고메리 모듈러 곱셈 알고리듬의 효율적인 하드웨어 구현에 대해 기술한다. 본 논문의 모듈러 곱셈기는 SEC2 ECC 표준에 정의된 소수체 GF(p)와 이진체 GF(2k) 상의 11가지 필드 크기를 지원하여 타원곡선 암호 프로세서의 경량 하드웨어 구현에 적합하도록 설계되었다. 제안된 곱셈기 구조는 부분곱 생성 및 가산 연산과 모듈러 축약 연산이 파이프라인 방식으로 처리하며, 곱셈 연산에 소요되는 클록 사이클 수를 약 50% 줄였다. 설계된 모듈러 곱셈기를 FPGA 디바이스에 구현하여 하드웨어 동작을 검증하였으며, 65-nm CMOS 표준셀로 합성한 결과 33,635개의 등가 게이트로 구현되었고, 최대 동작 클록 주파수는 147 MHz로 추정되었다.
Modular multiplication is one of the most important arithmetic operations in public-key cryptography such as elliptic curve cryptography (ECC) and RSA, and the performance of modular multiplier is a key factor influencing the performance of public-key cryptographic hardware. An efficient hardware implementation of word-based Montgomery modular multiplication algorithm is described in this paper. Our modular multiplier was designed to support eleven field sizes for prime field GF(p) and binary field GF(2k) as defined by SEC2 standard for ECC, making it suitable for lightweight hardware implementations of ECC processors. The proposed architecture employs pipeline scheme between the partial product generation and addition operation and the modular reduction operation to reduce the clock cycles required to compute modular multiplication by 50%. The hardware operation of our modular multiplier was demonstrated by FPGA verification. When synthesized with a 65-nm CMOS cell library, it was realized with 33,635 gate equivalents, and the maximum operating clock frequency was estimated at 147 MHz.