Linux 커널의 ARIA 블록 암호 알고리즘 성능을 위한 최적화 방법론
Optimization Methodologies for the ARIA Block Cipher Algorithm Performance in the Linux Kernel
0
조회
0
다운로드
0
인용
0
참고문헌
키워드
초록
최근 고성능 블록 암호 알고리즘의 중요성이 크게 부각되고 있다. 방대한 양의 데이터를 빠르고 효율적으로 암호화하고 복호화할 수 있는 알고리즘은 디지털 정보를 안전하게 보호하는 데 중요한 역할을 한다. 특히 국내 학계, 연구기관, 정부기관이 협력해 개발한 ARIA 알고리즘은 이러한 알고리즘을 암복호화 프로세스에 효과적으로 활용할 수 있는 좋은 사례이다. 최근 ARIA 알고리즘은 리눅스 커널에 구현되어 이 분야에서 상당한 진전을 이루었다. 그럼에도 불구하고 그 구조와 성능에 대한 종합적인 분석이 부족하다. 본 연구에서는 리눅스 커널의 암호화 서브시스템에 적용된 ARIA 블록암호 알고리즘 코드에 대한 심층적인 수학적 분석을 수행한다. 인텔의 x86 기반 CPU에서 AES-NI, GFNI, AVX 등의 명령을 활용하여 고성능을 달성하고 알고리즘의 구조에 대한 포괄적인 이해를 목표로 한다. 또한 다양한 입력 크기에서 발생할 수 있는 특정 비효율적인 성능 문제를 진단하여 ARIA 알고리즘의 성능에 영향을 미칠 수 있는 잠재적인 병목 현상과 문제를 나타낸다. 이 논문은 이러한 문제를 해결할 수 있는 타당한 방안을 제시함으로써 ARIA 알고리즘이 실용적인 고성능 알고리즘으로 발전할 수 있도록 기여하는 것을 목표로 한다.
Abstract
Recently, the critical importance of high-performance block cipher algorithms has come into the spotlight. These algorithms, capable of quickly and efficiently encrypting and decrypting vast amounts of data, play a crucial role in securing digital information. Notably, the ARIA algorithm, a collaboration between domestic academia, research institutions, and government agencies, stands as an excellent example of how these algorithms can be utilized effectively for encryption and decryption processes. The ARIA algorithm has recently been implemented in the Linux kernel, representing a significant advancement in the field. Despite this, there has been a lack of comprehensive analysis regarding its structure and performance. In this study, we conduct a deep mathematical analysis of the ARIA block cipher algorithm code applied in the Linux kernel's encryption subsystem. Utilizing commands such as AES-NI, GFNI, and AVX on Intel's x86-based CPU, our aim is to achieve high performance and gain a comprehensive understanding of the algorithm's structure. Moreover, we diagnose specific inefficient performance issues that can occur at various input sizes, shedding light on potential bottlenecks and challenges that can affect the performance of the ARIA algorithm. This paper aims to facilitate the emergence of the ARIA algorithm as a practical high-performance algorithm by proposing well-founded solutions that can address these challenges.
참고문헌 (42)
- D. Kwon, "New block cipher, ARIA", International conference on information security and cryptology, pp.432~445 (2003)
- J. Daemen, "The design of rijndael : AES-the advanced encryption standard" (2002), Springer
- "Information Technology-Security techniques-Encryption Algorithms-Part 3:Block Ciphers-Amendment 1: SM4" (2023)[URL]
- W. Guo, "Efficient constant-Time implementation of SM4 with Intel GFNI instruction set extension and ARM NEON coprocessor", Cryptol. ePrint Archive, ~ (2022)
- "RFC3713" (2023)[URL]
- K. Aoki, "Camellia: A 128-bit block cipher suitable for multiple platforms-design andanalysis", Selected Areas in Cryptography: 7th Annual International Workshop, pp.39~56 (2001)
- "RFC5794" (2023)[URL]
- "RFC6209" (2023)[URL]
- "Advanced Vector Extensions (AVX)" (2023)[URL]
- "Breakthrough AES performance with Intel AES new instructions" (2023)[URL]
- "Galois field new instructions (GFNI)" (2023)[URL]
- J. Katz, "Introduction to modern cryptography" (2020), CRC press
- W. Stallings, "Cryptography and network security" (2006), Pearson Education India
- A. J. Elbirt, "An FPGA-based performance evaluation of the AES block cipher candidate algorithm finalists", IEEE Transactions on Very Large Scale Integration(VLSI)Systems, 9(4), pp.545~557 (2001)
- U. Farooq, "Comparative analysis of different AES implementation techniques for efficient resource usage and better performance of an FPGA", Journal of King Saud University-Computer and Information Sciences, 29(3), pp.295~302 (2017)
- M. Mozaffari-Kermani, "Efficient and high-performance parallel hardware architectures for the AES-GCM", IEEE Transactions on Computers, 61(8), pp.1165~1178 (2011)
- S. Morioka, "An optimized S-Box circuit architecture for low power AES design", International Workshop on Cryptographic Hardware and Embedded Systems, pp.172~186 (2002)
- G. L. Guo, "Different implementations of AES cryptographic algorithm", 2015 IEEE 17th International Conference on High Performance Computing nd Communications, pp.1848~1853 (2015)
- A. Bogdanov, "AES-based lightweight authenticated encryption", Fast Software Encryption: 20th International Workshop, pp.447~466 (2014)
- D. A. Osvik, "Fast software AES encryption", Fast Software Encryption: 17th International Workshop, pp.75~93 (2010)
- B. Rashidi, "Low-cost and two-cycle hardware structures of PRINCE lightweight block cipher", International Journal of Circuit Theory and Applications, 48(8), pp.1227~1243 (2020)
- B. Rashidi, "Flexible structures of lightweight block ciphers PRESENT, SIMON and LED", IET Circuits, Devices & Systems, 14(3), pp.369~380 (2020)
- B. Rashidi, "Flexible and high-throughput structures of Camellia block cipher for security of the Internet of Things", IET Computers & Digital Techniques, 15(3), pp.171~184 (2021)
- S. Eum, "Parallel implementations of ARIA on ARM processors and graphics processing unit", Applied Sciences, 12(23), pp.12246~ (2022)
- H. Seo, "ACE: ARIA-CTR encryption for low-end embedded processors", Sensors, 20(13), pp.3788~ (2020)
- "Accelerated AES for Arm64 Linux Kernel" (2023)[URL]
- C. Rebeiro, "Bitslice implementation of AES", International Conference on Cryptology and Network Security, pp.203~212 (2006)
- T. Müller, "AESSE: a cold-boot resistant implementation of AES", Proceedings of the Third European Workshop on System Security, pp.42~47 (2010)
- 강민섭, "프레임 분할 스레드를 이용한 실시간 CCTV 영상 보안시스템 설계", 한국정보기술학회논문지, 19(3), pp.113~119 (2021), 한국정보기술학회[DOI]
- A Study on Mail Cryptography System using the ARIA, "H. Kim", The Korea Academia-Industrial cooperation Society, 77~80 (2010)
- 김기쁨, "4가지 운영모드와 128", 256-비트 키 길이를 지원하는 ARIA-AES 통합 암호 프로세서, 2017, pp.21(4), 795~803[DOI]
- 유흥렬, "High Throughput을 위한 블록 암호 알고리즘 ARIA의 하드웨어 설계 및 구현", 전기전자학회논문지, 22(1), pp.104~109 (2018), 한국전기전자학회[DOI]
- 구본석, "자원 공유기법을 이용한 AES-ARIA 연산기의 효율적인 설계", 정보보호학회논문지, 18(6), pp.39~50 (2008), 한국정보보호학회
- 이완연, "Optimization of ARIA Block-Cipher Algorithm for Embedded Systems with 16-bits Processors", The International Journal of Internet, Broadcasting and Communication, 8(1), pp.42~52 (2016), 한국인터넷방송통신학회[DOI]
- J. Kivilinna, "Block ciphers: fast implementations on x86-64 architecture" (2013)
- R. Benadjila, "The Intel AES instructions set and the SHA-3 candidates", International Conference on the Theory and Application of Cryptology and Information Security, pp.162~178 (2009)
- Security and performance analysis of ARIA, Final report, "A. Biryukov", KU Leuven ESAT, 2004, pp.4~
- "Generic version of ARIA algorithm" (2023)[URL]
- "AVX related version of ARIA algorithm" (2023)[URL]
- "AVX512 version of ARIA algorithm" (2023)[URL]
- "Tcrypt (The Linux Kernel Cryptography Testing Module)" (2023)[URL]
- D. J. Bernstein, "NEON crypto", Cryptographic Hardware and Embedded Systems–CHES 2012: 14th International Workshop, pp.320~339 (2012)
