Abstract
In this paper, we proposed an architecture of a cryptosystem with various operating modes for the network security and implemented in hardware using the ASIC library. For configuring a cryptosystem, the standard block ciphers such as AES, SEED and 3DES were included. And the implemented cryptosystem can encrypt and decrypt the data in real time through the wired/wireless network with the minimum latency time (minimum 64 clocks, maximum 256 clocks). It can support CTR mode which is widely used recently as well as the conventional block cipher modes such as ECB, CBC and OFB, and operates in the multi-bit mode (64, 128, 192, and 256 bits). The implemented hardware has the expansion possibility for the other algorithms according to the network security protocol such as IPsec and the included ciphering blocks can be operated simultaneously. The self-ciphering mode and various ciphering mode can be supported by the hardware sharing and the programmable data-path. The global operation is programmed by the serial communication port and the operation is decided by the control signals decoded from the instruction by the host. The designed hardware using VHDL was synthesized with Hynix 0.25$\mu\textrm{m}$ CMOS technology and it used the about 100,000 gates. Also we could assure the stable operation in the timing simulation over 100㎒ using NC-verilog.
본 논문에서는 IPsec등의 네트워크 보안 프로토콜을 위해 다중모드를 가지는 블록암호시스템의 구조를 제안하고 ASIC 라이브러리를 이용해서 하드웨어로 구현하였다. 블록 암호시스템의 구성을 위해서 AES, SEED, 그리고 3DES 등의 국내외 표준 블록암호화 알고리즘을 사용하였고 네트워크를 비롯한 유/무선으로 입력되는 데이터를 최소의 대기시간(최소 64클럭, 최대 256클럭)만을 가지면서 실시간으로 데이터를 암호화 혹은 복호화시킬 수 있다. 본 설계는 ECB, CBC, OFB뿐 아니라 최근 많이 사용되는 CTR(Counter) 모드를 지원하고 다중 비트단위(64, 128, 192, 256 비트)의 암/복호화를 수행한다. IPsec등의 네트워크 보안 프로토콜로의 연계를 위해 알고리즘 확장성을 보유한 하드웨어로 구현되었고 여러 암호화 알고리즘의 동시적인 동작이 가능하다. 적절한 하드웨어 공유와 프로그래머블한 특성이 강한 내부데이터 패스를 통해 자체적인 블럭암호화 모드를 지원하기 때문에 다양한 방식의 암/복호화가 가능하다. 전체적인 동작은 직렬 통신에 의해서 프로그래밍되고 명령어의 디코딩을 통해 생성된 제어신호가 동작을 결정한다. VHDL을 이용해 설계된 하드웨어는 Hynix 0.25$\mu\textrm{m}$ CMOS 공정을 통해 합성되었고 약 10만 게이트의 자원을 사용하였으며, 100MHz 이상의 클럭 주파수에서 안정적으로 동작함을 NC-Verilog에서 확인하였다.