블록 암호알고리즘 SEED의 면적 효율성을 고려한 FPGA 구현

Area Efficient FPGA Implementation of Block Cipher Algorithm SEED

  • 김종현 (광운대학교 전자재료공학과) ;
  • 서영호 (광운대학교 전자재료공학과) ;
  • 김동욱 (광운대학교 전자재료공학과)
  • Kim, Jong-Hyeon (Dept.of Electronics Materials Engineering, Kwangwoon University) ;
  • Seo, Young-Ho (Dept.of Electronics Materials Engineering, Kwangwoon University) ;
  • Kim, Dong-Wook (Dept.of Electronics Materials Engineering, Kwangwoon University)
  • 발행 : 2001.08.01

초록

본 논문에서는 대한민국 표준 128비트 블록 암호알고리즘인 SEED를 하나의 FPGA에 사상될 수 있도록 설계한다. 이를 위해 VHDL을 이용하여 설계하고 회로는 라운드키 생성부, F함수부, G함수부, 라운드 처리부, 제어부, I/O부로 구성한다. 본 논문에서 SEED는 FPGA를 대상으로 설계하나 ASIC이나 코어(core)를 사용하는 설계 등에 응용될 수 있도록 구현대상을 정하지 않고(technology independent) 범용적으로 설계한다. SEED구조상 많은 하드웨어 자원을 필요로 하는 점 때문에 구현 시 자원제한에 의한 문제점을 최소화하기 위해 F함수부와 라운드 키 생성부에서 사용되는 G 함수를 각각 1개씩 구현하고 이를 순차적으로 사용함으로써 게이트 수를 최소화하여 부가적인 하드웨어 없이 모든 SEED알고리즘이 하나의 FPGA 내에 구현되도록 한다. SEED는 Altera FLEX10K100에서 구현할 경우 FPGA 사용률이 약 80%이고 최대 28Mhz clock에서 동작하여 14.9Mbps로 암호화를 수행할 수 있다. 설계된 SEED는 공정기술과 무관하고 공정기술의 변경에 따른 부가 하드웨어가 전혀 필요 없이 하나의 FPGA로 설계되었다. 따라서 SEED의 구현이나 이를 사용하는 시스템 제작 등에 쉽게 응용할 수 있으리라 사료된다.

In this paper SEED, the Korea Standard 128-bit block cipher algorithm is implemented with VHDL and mapped into one FPGA. SEED consists of round key generation block, F function block, G function block, round processing block, control block and I/O block. The designed SEED is realized in an FPGA but we design it technology-independently so that ASIC or core-based implementation is possible. SEED requires many hardware resources which may be impossible to realize in one FPGA. So it is necessary to minimize hardware resources. In this paper only one G function is implemented and is used for both the F function block and the round key block. That is, by using one G function sequentially, we can realize all the SEED components in one FPGA. The used cell rate after synthesis is 80% in Altem FLEXI0KlOO. The resulted design has 28Mhz clock speed and 14.9Mbps performance. The SEED hardware is technology-independent and no other external component is needed. Thus, it can be applied to other SEED implementations and cipher systems which use SEED.

키워드

참고문헌

  1. National Bureau of Standards. FIPS PUB 46 : Data Encryption Standard, January 1997
  2. Akihiro Shimizu and Shoji Miyaguchi. 'Fast data encipherment algorithm FEAL.' In david Chaum and Wyn L. Price, editors, Advances in Cryptology-Eurocrypt'87, vol.304 of Lecture Notes in Computer Science, pp.267-280, Springer-Verlag, Berlin, 1998
  3. Lawewnce Brown, Josef Pieprzyk, and Jennifer Seberry. 'LOKI-a cryptographic primitive for authentication and secrecy applications'. In Jennifer Seberry and Josef Pieprzyk, editors, Advances in Cryptology Auscrypt'90, vol.453 of Lecture Notes in Computer Science, pp.229-236, Springer-Verlag, Berlin, 1990
  4. Xuejia Lai and James L. Massey.' A proposal for a now block encryption standard. in Ivan bjerre Damgard,' editor, Advamces in Cryptology Eurocrypt'90, vol.473 of Lecture Notes in Computer Science, pp.389-404, Springer-Verla, Berlin, 1990
  5. Lai, X., and Massey, J. 'A Proposal for a New Block encryption Standard.' Proceedings, EUROCRYPT'90, 1990
  6. Rivest. Shamir, and Adleman, 'A Method for Obtainng Digital signature and Public Key Cryptosystems.' Communications of the ACM, 2, 1978 https://doi.org/10.1145/359340.359342
  7. 'Proposed Federal Information Proceeding Standard for Digital Signature Standard(DDS),' Federal Register, Vol.56 No.169 30, 1991
  8. 한국정보보호센터, 128비트 블록 암호알고리즘(SEED) 개발 및 분석 보고서, 12. 1998
  9. 한승조, '개선된 DES 암호기 설계', Computer Systems and Theory v. 24, n. 1 pp.57-67, 1, 1997
  10. 한효정, 장형석, 전덕수, 강문식, 'LESR Key Stream Generator를 이용한 DES의 FPGA구현' IDEC MPW 발표회 논문집, pp354-357, 10. 1999
  11. H. Feistel, Block Cipher Cryptographic System, U.S. Patent #3,798,359,19, 3, 1974
  12. N.A. Koblitz. A Course in Numter Teory and Cryptography. Springer-Verlag, 1987
  13. Behrooz Parhami, 'Computer Arithmetic Algorithms and Hardware Designs,' Oxpord University Press, 2000
  14. Tom Shanley and Don Anderson, PCI System Architecture, Mindshare Inc., 1995
  15. I.S 1076-1993, IEEE Standard VHDL Language Reference Manual, IEEE, 1993
  16. L. R. Knudsen, 'Block Ciphers-Analysis, Design and Applications,' Ph.D Thesis, Computer Science department, Aarhus University, 1994
  17. Pran Kurup and Taher Abbasi, Logic Synthesis Using Synopsys, Kluwer Academic Publishers, 1997
  18. Michael Keating and Pierre Bricaud, Reuse Methodology Manual, Kluwer Academic Publishers, 1999