Abstract
This paper suggests an efficient software implementation of lightweight encryption algorithm PRESENT which supports for secret key lengths of 80-bits. Each round of PRESENT is composed of the round key addition, substitution, and permutation and is repeated 31 times. Bo Zhu suggested combined substitution and permutation for efficient operation so that encryption throughput has been increased 2.6 times than processing substitution and permutation at separate times. The scheme that suggested in this paper improved the scheme of Bo Zhu to reduce the number of operation for the round key addition, substitution, and permutation. The scheme that suggested in this paper has increased encryption throughput up to 1.6 times than the scheme of Bo Zhu but memory usage has been increased.
본 논문은 경량 블록암호 알고리즘인 PRESENT를 소프트웨어로 구현 시 단위 시간 당 암호화 처리량을 증가시키는 기법을 제안한다. PRESENT의 각 라운드는 라운드 키 첨가, 치환, 전치 과정으로 구성되어 있으며, 이를 31회 반복 수행한다. Bo Zhu는 효율적 연산을 위해 치환과 전치 과정을 통합하여 연산하는 기법을 제안하였고, 치환과 전치를 따로 수행하는 기존 기법에 비해 암호화 처리량을 약 2.6배 증가 시켰다. 본 논문에서 제안한 기법은 Bo Zhu가 제안한 기법에서 특정 비트를 선택하기 위한 연산을 제거함으로써 암호화 성능을 개선하였다. Bo Zhu의 기법에 비해 메모리 사용량은 증가하지만, 암호화 처리량을 최대 약 1.6배 증가 시켰다.