$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

GF(2m) 상의 NIST 타원곡선을 지원하는 ECC 프로세서의 경량 하드웨어 구현
A Lightweight Hardware Implementation of ECC Processor Supporting NIST Elliptic Curves over GF(2m) 원문보기

전기전자학회논문지 = Journal of IKEEE, v.23 no.1, 2019년, pp.58 - 67  

이상현 (School of Electronic Engineering, Kumoh National Institute of Technology) ,  신경욱 (School of Electronic Engineering, Kumoh National Institute of Technology)

초록
AI-Helper 아이콘AI-Helper

NIST 표준으로 정의된 $GF(2^m)$ 상의 슈도 랜덤 곡선과 Koblitz 곡선을 지원하는 타원곡선 암호(ECC) 프로세서 설계에 대해 기술한다. 고정된 크기의 데이터 패스를 사용하여 5가지 키 길이를 지원함과 아울러 경량 하드웨어 구현을 위해 워드 기반 몽고메리 곱셈기를 기반으로 유한체 연산회로를 설계하였다. 또한, Lopez-Dahab 좌표계를 사용함으로써 유한체 나눗셈을 제거하였다. 설계된 ECC 프로세서를 FPGA 검증 플랫폼에 구현하고, ECDH(Elliptic Curve Diffie-Hellman) 키 교환 프로토콜 동작을 통해 하드웨어 동작을 검증하였다. 180-nm CMOS 표준 셀 라이브러리로 합성한 결과 10,674 등가 게이트와 9 kbit의 dual-port RAM으로 구현되었으며, 최대 동작 주파수는 154 MHz로 평가되었다. 223-비트 슈도 랜덤 타원곡선 상의 스칼라 곱셈 연산에 1,112,221 클록 사이클이 소요되며, 32.3 kbps의 처리량을 갖는다.

Abstract AI-Helper 아이콘AI-Helper

A design of an elliptic curve cryptography (ECC) processor that supports both pseudo-random curves and Koblitz curves over $GF(2^m)$ defined by the NIST standard is described in this paper. A finite field arithmetic circuit based on a word-based Montgomery multiplier was designed to suppo...

주제어

표/그림 (12)

AI 본문요약
AI-Helper 아이콘 AI-Helper

* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.

제안 방법

  • NIST 표준에 정의된 GF(2m) 상의 10가지 타원곡선을 지원하는 ECC 프로세서를 Lopez-Dahab 좌표계와 워드 기반 몽고메리 곱셈기를 적용하여 경량 하드웨어로 설계하였으며, FPGA 구현을 통해 하드웨어 동작을 검증하였다.
  • 본 논문의 ECC 프로세서는 Lopez-Dahab 좌표계와 페르마의 소정리(Fermat’s little theorem)를 사용하여 역원 연산을 위한 하드웨어 자원을 절약하였으며, 워드 기반 몽고메리 곱셈기 기반의 고정된 하드웨어로 다양한 키 길이의 타원곡선을 지원할 수 있도록 설계하여 경량 하드웨어로 구현하였다.
  • 본 논문의 ECC 프로세서는 Lopez-Dahab 좌표계와 페르마의 소정리를 적용하여 역원 연산을 위한 하드웨어 자원을 절약하였으며, 32-비트 워드 기반 몽고메리 곱셈기 기반의 고정된 크기의 하드웨어로 다양한 키 길이의 타원곡선을 지원하도록 경량 하드웨어로 설계되었다.
  • 제어 FSM 블록은 GFb_ALU 블록, Data_Mem 그리고 REGs 블록의 하드웨어 자원을 이용하여 스칼라 곱셈 연산이 수행되도록 ECC 프로세서의 전체적인 동작을 제어하며, 그림 4의 상태 천이도를 갖는 유한상태머신으로 구현되었다. 설계된 ECC 프로세서는 데이터 및 파라미터 입력, 매핑, 점 연산, 좌표계 변환, 리매핑, 데이터 출력의 과정을 통해 스칼라 곱셈 연산을 수행한다.
  • 그림 2의 슈도코드에서 j-루프 내부의 이진체 곱셈은 j = 0일 때 단계-4, 단계-7, 단계-9에서 3회 연속 수행되며, j > 0인 경우에는 단계-4와 단계-9에서 2회 연속수행되어야 한다. 세 개의 이진체 곱셈기를 사용하면 병렬 처리를 극대화할 수 있으나, 본 논문에서는 저면적 하드웨어 구현을 위해 하나의 이진체 곱셈기를 사용하였으며, 이진체 곱셈에 한 클록 사이클이 소요되도록 설계하였다.
  • 이상의 과정으로 Alice와 Bob 사이에 공유된 비밀키와 소프트웨어로 계산된 결과의 일치 여부가 화면에 표시된다. 이와 같은 ECDH 키교환 프로토콜을 통해 설계된 ECC 프로세서의 하드웨어 동작을 검증하였다.
  • 워드 기반 몽고메리 곱셈기는 유한체 곱셈의 승수와 피승수를 32-비트의 워드들로 분할하고, 각 워드에 대한 반복 연산을 통해 임의의 길이의 유한체 곱셈을 연산하며, 합동 특성을 이용하여 모듈러 축약이 이루어진다. 이와같이, 워드 단위의 유한체 연산 하드웨어를 기반으로 연산 사이클 수를 가변시킴으로써 다양한 키 길이의 타원곡선 연산을 지원할 수 있도록 설계하였다.

대상 데이터

  • RTL 기능검증이 완료된 ECC 프로세서는 FPGA 구현을 통해 하드웨어 동작을 검증하였다. FPGA 검증 플랫폼은 그림 7과 같으며, FPGA 보드, uart 인터페이스, Python 기반 구동 및 GUI 소프트웨어로 구성되며, FPGA 소자는 Xilinx Virtex5 XC5VSX95T 디바이스가 사용되었다. FPGA에 구현된 ECC 프로세서로 테스트 벡터를 로딩한 후, ECC 연산을 수행한 결과가 PC로 전송되어 GUI 화면에 표시된다.
  • ) ECC 프로세서는 ModelSim으로RTL 기능검증을 하였으며, FPGA 구현을 통해 하드웨어 동작을 검증하였다. NIST FIPS 186-2에 정의되어 있는 타원곡선 계수, 타원곡선의 생성점 등의 파라미터를 검증에 사용하였다.

데이터처리

  • RTL 기능검증이 완료된 ECC 프로세서는 FPGA 구현을 통해 하드웨어 동작을 검증하였다. FPGA 검증 플랫폼은 그림 7과 같으며, FPGA 보드, uart 인터페이스, Python 기반 구동 및 GUI 소프트웨어로 구성되며, FPGA 소자는 Xilinx Virtex5 XC5VSX95T 디바이스가 사용되었다.
  • 설계된 GF(2m) ECC 프로세서는 ModelSim으로RTL 기능검증을 하였으며, FPGA 구현을 통해 하드웨어 동작을 검증하였다. NIST FIPS 186-2에 정의되어 있는 타원곡선 계수, 타원곡선의 생성점 등의 파라미터를 검증에 사용하였다.

이론/모형

  • 변환이 완료된 데이터는 몽고메리 래더 알고리듬[16]을 적용하여 점 덧셈과 점 두 배 연산의 반복으로 스칼라 곱셈이 연산된다. 상태 POINT_ INIT_SET에서는 매핑된 타원곡선의 생성점을 점 연산의 초기값으로 설정하며, 상태 K_ZERO_SKIP에서는 개인키가 저장된 레지스터 Key_reg를 왼쪽으로 시프트 시키면서 MSB를 스캔하여 처음으로 1이 나올 때 까지 대기한다.
  • 아핀 좌표계는 상대적으로 연산 수식이 간단하지만 나눗셈 연산이 필요하며, 투영 좌표계는 연산 수식이 다소 복잡하지만 나눗셈 연산이 없어 두 좌표계가 서로 장점과 단점을 갖는다. 본 논문의 ECC 프로세서는 NIST에서 정의한 GF(2m)상의 10가지 타원곡선을 지원하며, 경량 하드웨어구현에 적합하도록 Lopez-Dahab 좌표계를 적용하여 설계하였다.
  • 상태 POINT_ INIT_SET에서는 매핑된 타원곡선의 생성점을 점 연산의 초기값으로 설정하며, 상태 K_ZERO_SKIP에서는 개인키가 저장된 레지스터 Key_reg를 왼쪽으로 시프트 시키면서 MSB를 스캔하여 처음으로 1이 나올 때 까지 대기한다. 이 후 MSB 값에 따라 몽고메리 래더 알고리듬을 수행한다. 상태 POINT_ADD와 상태 POINT_DOUBLE에서는 각각 점 덧셈과 점 두 배 연산이 수행된다.
본문요약 정보가 도움이 되었나요?

질의응답

핵심어 질문 논문에서 추출한 답변
아핀 좌표계의 장점과 단점은? 문헌 [12, 13]은 저면적 및 고속 동작이 가능한 ECC 프로세서 사례이다. 문헌 [12, 13]은 아핀 좌표계를 사용하여 빠른 연산이 가능하지만 스칼라 곱셈에서 역원 연산을 위한 부가적인 하드웨어 자원이 필요하다는 단점을 갖는다.
오늘날 널리 사용되고 있는 정보보안 체제에는 무엇이 있는 가? 주변의 사물이 인터넷과 연결되어 유기적으로 정보를 주고받는 사물인터넷(Internet of Things; IoT) 기술이 급속히 발전함에 따라 유․무선 네트워크를 통해 유통되는 정보를 안전하게 보호하기 위한 정보보안의 중요성이 크게 대두되고 있다. 오늘날 널리 사용되고 있는 정보보안 체제로는 암호화, 전자서명, 인증 등이 있으며, 대칭키(symmetric- key) 암호, 공개키(public-key) 암호, 해시 함수 등이 사용된다[1]. 전자서명, 인증, 키교환 등의 보안 프로토콜에 필수적인 공개키 암호방식은 RSA (Rivest, Shamir, and Adleman) [2], 타원곡선 암호 (Elliptic Curve Cryptography; ECC) [3] 등이 널리 사용되고 있다.
공개키 암호방식에 타원곡선 암호 방식이 많이 사용되는 이유는? 1985년 Koblitz [4]와 Miller [5]에 의해 제안된 타원곡선 암호는 타원곡선 군(group)의 이산대수문제(elliptic curve discrete logarithmic problem)에 안전성의 기반을 두고 있으며, 대표적인 공개키 암호 방식인 RSA 보다 짧은 키 길이를 사용하면서도 유사한 안전성을 제공한다는 장점이 있어 응용 분야가 급속히 확대되고 있다. ECC는 RSA에 비해 연산량과 요구되는 메모리가 작아 제한된 하드웨어 자원을 갖는 IoT, IC 카드, 스마트 단말기 등의 보안에 적합하므로, ECC의 경량 하드웨어 구현에 관한 다양한 연구가 이루어지고 있다. ECC는 타원곡선이 정의되는 유한체에 따라 소수체(prime field) GF(p) 상의 ECC와 이진체(binary field) GF(2m)상의 ECC로 구분되며, 적용되는 체에 따라 타원곡선 방정식도 달라진다.
질의응답 정보가 도움이 되었나요?

참고문헌 (17)

  1. A. Firestone, "Information Security Overview," Security Industry Association, pp. 1-25, 2018. 

  2. R. Rivest, A. Shamir and L. Adleman, "A method for obtaining Digital Signatures and Public-Key Crypto-systems," Communications of Association for Computing Machinery (ACM), vol. 21, no. 2, pp. 120-126, 1978. DOI: 10.1145/359340.359342 

  3. NIST Std. FIPS PUB 186-2, Digital Signature Standard (DSS), National Institute of Standard and Technology (NIST), 2000. 

  4. N. Koblitz, "Elliptic Curve Cryptosystems," Mathematics of Computation, vol. 48, no. 177, pp. 203-309, 1987. DOI: 10.1090/S0025-5718-1987-0866109-5 

  5. V. S. Miller, "Uses of Elliptic Curves in Cryptography," Advances in cryptography-CRYPTO'85, LNCS 218, Springer-Verlag, pp. 417-426, 1986. DOI: 10.1007/3-540-39799-X_31 

  6. H. Marzouqi, M. Al-Qutayri and K. Salah, "Review of Elliptic Curve Cryptography processor designs," Microprocessors and Microsystems, vol. 39, pp. 97-112, 2015. DOI: 10.1016/j.micpro.2015.02.003 

  7. B. G. Park and K. W. Shin, "A Lightweight ECC Processor Supporting Elliptic Curves over NIST Prime Fields," Journal of The Institute of Electronics and Information Engineers, vol. 55, no. 9, pp. 35-43, 2018. DOI: 10.5573/ieie.2018.55.9.35 

  8. P. M. Matutino, J. Araujo, L. Sousa and R. Chaves, "Pipelined FPGA coprocessor for elliptic curve cryptography based on residue number system," 2017 International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation(SAMOS), Pythagorion, pp. 261-268, 2017. DOI: 10.1109/SAMOS.2017.8344638 

  9. Z. He and X. Chen, "Design and implementation of high-speed configurable ECC co-processor," 2017 IEEE 12th International Conference on ASIC (ASICON), Guiyang, pp. 734-737, 2017. DOI: 10.1109/ASICON.2017.8252580 

  10. K. M. John and S. Sabi, "A novel high performance ECC processor architecture with two staged multiplier," 2017 IEEE International Conference on Electrical, Instrumentation and Communication Engineering (ICEICE), Karur, pp. 1-5, 2017. DOI: 10.1109/ICEICE.2017.8191885 

  11. K. C. Cinnati Loi, Sen An and Seok-Bum Ko, "FPGA Implementation of Low Latency Scalable Elliptic Curve Cryptosystem Processor in $GF(2^m)$ " Proceedings of 2014 IEEE International Symposium on Circuits and Systems (ISCAS'14), Melbourne, pp. 822-825, 2014. DOI: 10.1109/ISCAS.2014.6865262 

  12. M. S. Hossain, E. Saeedi, and Y. Kong. "High-Speed, Area-Efficient, FPGA-Based Elliptic Curve Cryptographic Processor over NIST Binary Fields," Data Science and Data Intensive Systems (DSDIS), 2015 IEEE International Conference on. IEEE, 2015. pp. 175-181. DOI: 10.1109/DSDIS.2015.44 

  13. B. G. Park, and K. W. Shin, "A small-area implementation of cryptographic processor for 233-bit elliptic curves over binary field," Journal of the Korea Institute of Information and Communication Engineering, vol. 21, no. 7, pp. 1267-1275, 2017. 

  14. L. Li and S. Li, "High-Performance Pipelined Architecture of Point Multiplication on Koblitz Curves," in IEEE Transactions on Circuits and Systems II: Express Briefs, vol. 65, no. 11, pp. 1723-1727, 2018. DOI: 10.1109/TCSII.2017.2785382 

  15. C. K. koc, T. Acar, and B. S. Kaliski, "Analyzing and comparing Montgomery multiplication algorithms," IEEE Micro, vol. 16, no. 3, pp. 26-33, 1996. DOI: 10.1109/40.502403 

  16. P. L. Montgomery, "Speeding the Pollard and elliptic curve methods of factorization," Mathematics of computation, vol. 48, no. 177 pp. 243-264, 1987. DOI: 10.1090/S0025-5718-1987-0866113-7 

  17. TTA Std. TTAK.KO-12.0015/R1, Digital Signature Mechanism with Appendix (Part 3) Korean Certificate-based Digital Signature Algorithm using Elliptic Curves, Telecommunications Technology Association (TTA), 2012. 

저자의 다른 논문 :

LOADING...

관련 콘텐츠

오픈액세스(OA) 유형

GOLD

오픈액세스 학술지에 출판된 논문

저작권 관리 안내
섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로