15th international conference on Sciences and Techniques of Automatic control & computer engineering - STA'2014, Hammamet, Tunisia, December 21-23, 2014
STA'2014-PID3424- CES
Software Implementation of AES Algorithm on LEON3 Processor Afef KCHAOU, Wajih EL HADJ YOUSSEF, Rached TOURKI Physic Department of Faculty of Sciences of Monastir Electronics and Micro-Electronic Laboratory (LEME) Monastir, Tunisia
[email protected] Abstract—Embedded system design is characterized by its complexity day by day, combined with reduced time-to-market deadlines. An embedded system integrates together a hardware and software parts on a common platform.The Advanced Encryption Standard (AES) is a cryptographic algorithm that can be used to encrypt a huge bulk of data and for embedded system security. This paper, explains the characteristics of leon3 Soft Core processor, and its implementation on FPGA board. We have implemented AES algorithm for both encryption/decryption by using C language and leon3 processor. The algorithm is implemented with different key of 128, 192 and 256 bit length. Our proposed software implementation is very efficient for encryption/ decryption functions in leon3 embedded processor. It can be used in low cost applications. Keywords—LEON3 Standard, FPGA.
processor,
Advanced
Encryption
I. INTRODUCTION Embedded system is based on an integrated processor which executes software designed for a particular function. Security, energy and real-time becomes more and more important for embedded system [1]. Application of embedded system in many aspects such as credit card numbers, passwords etc, needed a protection. Various cryptographic solutions have emerged to develop system protection [2]. LEON3 processor is designed for embedded applications, combining high performance with low complexity and low power consumption. The model is highlyconfigurable, support power-down mode and clock gating with robust and fully synchronous single-edge clock design[3]. ASIC and FPGA technologies provides integration of complex systems based on leon3 soft core processor on a single chip. The implementation of leon3 open source cores is freely available from open source communities, Gaisler Researches [4]. Many study shown that LEON3 have the best performance and the most configurable processor. Another study suggests that LEON3 is the most efficient processor by contribution with other processor like the Xilinx MicroBlazesoftcore processor and hardcore on-chip PowerPC processor[5].
standard by the National Institute of Standards and technology (NIST) in 1997 based on principal criteria of performance, security, flexibility and competence in hardware and software implementation [6]. AES is a famous and strong encryption algorithm which has several advantages in data ciphering, security, simplicity of implementation and low memory requirements [7], but it suffer from some drawbacks like the high computations, pattern in ciphered images, and hardware requirement.Though related work exists for FPGA based AES implementation [8], [9]. In [10], a hardware implementation of AES in different FPGA devices was effected. The results affirmed that Virtex V devices improvement the design efficiency (frequency of implementation, throughput, and area ratio). The manual idea in this paper is to study the soft core LEON3 processor in section 2. The principles of the Rijindael’s Encryption Algorithm (AES) for both Encryption/Decryption functions are described in section 3. In section 4 we will talk about the software implementation of AES algorithm on the LEON3 processor and we conclude the paper in section 5. II. LEON3 PROCESSOR A. Leon3 Leon3 processor is an open source coredeveloped by Gaisler Research [11]. The Leon3 core is synthesized using VHDL and is intended for SoC. It is a 32 bit processor core conforming to the IEEE-1754 (SPARC V8) architecture with support for multiprocessing configurations. The Leon3 processor is divided into 7-stage pipeline (Fetch, Decode, Register Access, Execute, Memory, Exception and Write Back) with Harvard architecture (separate Instruction and Data cache). It has the following main features: hardware multiplier and divider, on-chip debug support and multiprocessor extensions. The LEON3 is used to generate a smaller or faster implementation. The block diagram of the leon3 is shown in “Fig. 1”.
Actually, implementing cryptography in embedded systems is a challenge. Cryptography is important in the security of data transmission. The advanced Encryption standard (AES) algorithm was selected as a data encryption
978-1-4799-5907-5/14/$31.00 ©2014 IEEE
237