Abstract
This paper describes a design of cryptographic processor supporting 233-bit elliptic curves over binary field defined by NIST. Scalar point multiplication that is core arithmetic in elliptic curve cryptography(ECC) was implemented by adopting modified Montgomery ladder algorithm, making it robust against simple power analysis attack. Point addition and point doubling operations on elliptic curve were implemented by finite field multiplication, squaring, and division operations over $GF(2^{233})$, which is based on affine coordinates. Finite field multiplier and divider were implemented by applying shift-and-add algorithm and extended Euclidean algorithm, respectively, resulting in reduced gate counts. The ECC processor was verified by FPGA implementation using Virtex5 device. The ECC processor synthesized using a 0.18 um CMOS cell library occupies 49,271 gate equivalents (GEs), and the estimated maximum clock frequency is 345 MHz. One scalar point multiplication takes 490,699 clock cycles, and the computation time is 1.4 msec at the maximum clock frequency.
NIST 표준에 정의된 이진체(binary field) 상의 233-비트 타원곡선을 지원하는 타원곡선 암호(elliptic curve cryptography; ECC) 프로세서를 설계하였다. 타원곡선 암호 시스템의 핵심 연산인 스칼라 점 곱셈을 수정형 Montgomery ladder 알고리듬을 이용하여 구현함으로써 단순 전력분석에 강인하도록 하였다. 점 덧셈과 점 두배 연산은 아핀(affine) 좌표계를 기반으로 유한체 $GF(2^{233})$ 상의 곱셈, 제곱, 나눗셈으로 구현하였으며, shift-and-add 방식의 곱셈기와 확장 유클리드 알고리듬을 이용한 나눗셈기를 적용함으로써 저면적으로 구현하였다. 설계된 ECC 프로세서를 Virtex5 FPGA로 구현하여 정상 동작함을 확인하였다. $0.18{\mu}m$ 공정의 CMOS 셀 라이브러리로 합성한 결과 49,271 GE로 구현되었고, 최대 345 MHz의 동작 주파수를 갖는다. 스칼라 점 곱셈에 490,699 클록 사이클이 소요되며, 최대 동작 주파수에서 1.4 msec의 시간이 소요된다.