Design and Implementation of a 128-bit Block Cypher Algorithm SEED Using Low-Cost FPGA for Embedded Systems

내장형 시스템을 위한 128-비트 블록 암호화 알고리즘 SEED의 저비용 FPGA를 이용한 설계 및 구현

  • 이강 (한동대학교 전산전자공학부) ;
  • 박예철 (한동대학교 전산전자공학부)
  • Published : 2004.08.01

Abstract

This paper presents an Implementation of Korean standard 128-bit block cipher SEED for the small (8 or 16-bits) embedded system using a low-cost FPGA(Field Programmable Gate Array) chip. Due to their limited computing and storage capacities most of the 8-bits/16-bits small embedded systems require a separate and dedicated cryptography processor for data encryption and decryption process which require relatively heavy computation job. So, in order to integrate the SEED with other logic circuit block in a single chip we need to invent a design which minimizes the area demand while maintaining the proper performance. But, the straight-forward mapping of the SEED specification into hardware design results in exceedingly large circuit area for a low-cost FPGA capacity. Therefore, in this paper we present a design which maximize the resource sharing and utilizing the modern FPGA features to reduce the area demand resulting in the successful implementation of the SEED plus interface logic with single low-cost FPGA. We achieved 66% area accupation by our SEED design for the XC2S100 (a Spartan-II series FPGA from Xilinx) and data throughput more than 66Mbps. This Performance is sufficient for the small scale embedded system while achieving tight area requirement.

본 논문에서는 국내 표준 128비트 블록 암호화 알고리즘인 SEED를 소형 내장형(8-bit/ 16-bit) 시스템에 탑재하도록 저가의 FPGA로 구현하는 방법을 제안한다. 대부분 8-bit 또는 16-bit의 소규모 내장형 시스템들의 프로세서들은 그 저장용량과 처리속도의 한계 때문에 상대적으로 계산양이 많아 부담이 되는 암호화 과정은 별도의 하드웨어 처리기를 필요로 한다. SEED 회로가 다른 논리 블록들과 함께 하나의 칩에 집적되기 위해서는 적정한 성능을 유지하면서도 면적 요구량이 최소화되는 설계가 되어야 한다. 그러나, 표준안 사양의 구조대로 그대로 구현할 경우 저가의 FPGA에 수용하기에는 면적 요구량이 지나치게 커지게 되는 문제점이 있다. 따라서, 본 논문에서는 면적이 큰 연산 모듈의 공유를 최대화하고 최근 시판되는 FPGA 칩의 특성들을 설계에 반영하여 저가의 FPGA 하나로 SEED와 주변 회로들을 구현할 수 있도록 설계하였다. 본 논문의 설계는 Xilinx 사의 저가 칩인 Spartan-II 계열의 XC2S100 시리즈 칩을 대상으로 구현하였을 때, 65%의 면적을 차지하면서 66Mpbs 이상의 throughput을 내는 결과를 얻었다. 이러한 성능은 작은 면적을 사용하면서도 목표로 하는 소형 내장형 시스템에서 사용하기에 충분한 성능이다.

Keywords

References

  1. Young-He Seo, Jong-Hyeon Kim, Yong-Jin Jung, and Dong-Wook Kim, 'An Area Efficient Implementation of 128-bit Block Cipher, SEED,' ITC-CSCC 2000, Korea, 2000. (r)
  2. 한국정보보호진흥원(KISA), 128비트 블록 암호알고리즘 표준,
  3. Rob A. Rutenbar, Max Baron, Thomas Daniel, Rajeev Jayaraman, Zvi Or-Bach, Jonathan Rose, Carl Sechen '(When) Will FPGAs Kill ASICs,' Proceedings of the 38th conference on Design automation June 2001, pp.321-322
  4. Miron Abramovici, Jose T. de Sousa, Daniel Saab, 'A massively-parallel easily-scalable satisfiability solver using reconfigurable hardware,' Proceedings of the 36th ACM/IEEE conference on Design automation conference June 1999 https://doi.org/10.1109/DAC.1999.782036
  5. 엄성용, 이규원, 박선화, 'SEED 블록 암호 알고리즘의 파이프라인 하드웨어 설계' 정보과학회 논문지, 시스템 및 이론 제 30권 제 3호, pp.149-159, 2003년 4 월
  6. 엄성용, 이규원, 'SEED 블록 암호 알고리즘의 파이프라인 하드웨어 설계에 관한 연구' 한국정보과학회 가을학술발표논문집(III), 2001, 10 pp.43-45
  7. 채수봉, 김기용, 조용범, 'Pipeline 구조의 SEED 암호 화 프로세서 구현 및 설계', 대한전자공학회 02 하계 종합학술대회 논문집(2) 2002.06, pp.125-128
  8. 신종호, 강준우, 'SEED 블록 암호 알고리즘의 단일 칩 연구', 대한전자공학회 하계종합학술대회 논문집, 제23권, 제1호, 한국외국어대학교 전자제어공, pp.165-168, 2000
  9. 전신우, 정용진, '128비트 SEED 암호화 알고리즘의 고속처리를 위한 하드웨어 구현' 통신정보보호화회논문집, 제 11권, 제 1호, 2001, 2
  10. 김종현, 서영호, 김동욱, '블록 암호 알고리즘 SEED 의 면적 효율성을 고려한 FPGA 구현' 정보과학회논문지, 컴퓨팅의 실제 제7권, 제4호, pp.372-381, 2001 년 8월
  11. 정진욱, 최병윤, 'SEED와 TDES 암호 알고리즘을 구현하는 암호 프로세서의 VLSI 설계', 대한전자공학회 하계 종합 학술대회 논문집, 제23권, 제1호, 2000. 6 pp.166-172