DOI QR코드

DOI QR Code

The Design of a High-Performance RC4 Cipher Hardware using Clusters

클러스터를 이용한 고성능 RC4 암호화 하드웨어 설계

  • Received : 2019.05.27
  • Accepted : 2019.06.07
  • Published : 2019.07.31

Abstract

A RC4 stream cipher is widely used for security applications such as IEEE 802.11 WEP, IEEE 802.11i TKIP and so on, because it can be simply implemented to dedicated circuits and achieve a high-speed encryption. RC4 is also used for systems with limited resources like IoT, but there are performance limitations. RC4 consists of two stages, KSA and PRGA. KSA performs initialization and randomization of S-box and K-box and PRGA produces cipher texts using the randomized S-box. In this paper, we initialize the S-box and K-box in the randomization of the KSA stage to reduce the initialization delay. In the randomization, we use clusters to process swap operation between elements of S-box in parallel and can generate two cipher texts per clock. The proposed RC4 cipher hardware can initialize S-box and K-box without any delay and achieves about 2 times to 6 times improvement in KSA randomization and key stream generation.

RC4 스트림 암호화는 내부 구현이 간단하고 빠르게 암호화 할 수 있는 초경량 암호화 알고리즘으로 IEEE 802.11의 WEP와 IEEE 802.11i의 TKIP 등에 널리 이용되고 있다. RC4는 IoT 등의 제한적 자원을 갖는 시스템들에도 사용되지만 성능상 제약이 있다. RC4 암호화는 S-배열과 K-배열의 초기화 및 랜덤화를 수행하는 KSA(Key Scheduling Algorithm)와 랜덤화된 S-배열을 이용하여 암호문을 생성하는 PRGA(Pseudo-Random Generation Algorithm)의 두 단계로 구성된다. 본 논문에서는 KSA에서 발생하는 초기화 지연시간을 줄이기 위해, 랜덤화 과정에 초기화를 삽입하여 함께 처리한다. KSA의 랜덤화에서 교환(swap) 작업과 PRGA의 암호문 생성은 클러스터를 이용하여 매 클록마다 두 개의 교환 및 암호문이 생성되도록 하였다. 제안된 RC4 암호화 하드웨어 구조는 초기화 지연시간이 발생하지 않으며, 랜덤화와 키 스트림 생성율에서 다른 연구들과 비교하여 약 2배에서 6배의 성능이 향상되었다.

Keywords

HOJBC0_2019_v23n7_875_f0001.png 이미지

Fig. 2 data dependency check

HOJBC0_2019_v23n7_875_f0002.png 이미지

Fig. 3 RC4 hardware architecture using two clusters

HOJBC0_2019_v23n7_875_f0003.png 이미지

Fig. 4 Timing diagram for KSA

HOJBC0_2019_v23n7_875_f0004.png 이미지

Fig. 5 Timing diagram for PRGA

HOJBC0_2019_v23n7_875_f0005.png 이미지

Fig. 1 RC4 stream cipher algorithm

Table. 1 The synthesis report of RC4 hardware

HOJBC0_2019_v23n7_875_t0001.png 이미지

Table. 2 Comparison with other works

HOJBC0_2019_v23n7_875_t0002.png 이미지

References

  1. P. Jindal, and B. Singh, "A Survey on RC4 Stream Cipher," International Journal of Computer Network and Information Security, vol. 7, pp. 37-45, Jun. 2015.
  2. P. Jindal, and B. Singh, "RC4 Encryption-A Literature Survey," Procedia Computer Science, pp.697-705, vol.46, 2015. https://doi.org/10.1016/j.procs.2015.02.129
  3. E. Kartikadarm, T. Listyorini, and R. Rahim, "An Android mobile RC4 simulation for education," World Transactions on Engineering and Technology Education, pp.75-79, vol.16, no.1, 2018.
  4. K. H. Lee, "A Modulo Arithmetic Technique for RC4 Hardware Design," Journal of The Institute of Electronics and Information Engineers, pp.119-124, vol. 55, no. 7, Jul. 2018. https://doi.org/10.5573/ieie.2018.55.7.119
  5. P. Kitos, G. Kostopoulos, N. Sklavos, and O. Koufopavlou, "Hardware Implementation of the RC4 Stream Cipher," 2003 46th Midwest Symposium on Circuits and Systems, pp. 1363-1366, vol. 3, 2004.
  6. S. S. Gupta, K. Sinha, S. Maitra, and B. P. Sinha, "One Byte per Clock: A Novel RC4 Hardware," Progress in Cryptology-INDOCRYPT 2010, pp. 347-363, 2010.
  7. K. H. Tsoi, K. H. Lee, and P. H. W. Leong, "A Massively Parallel RC4 Key Search Engine," Proceedings. 10th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, pp. 13-21, 2002.
  8. B. Y. Choi, J. H. Lee, and H. S. Cho, "FPGA Implementation and Performance Analysis of High Speed Architecture for RC4 Stream Cipher Algorithm," Journal of the Korea Institute of Information Security and Cryptology, vol. 14, pp. 123-134, Aug. 2004.