AESPIE: RASPBERRY PI AES PERFORMANCE EVALUATION USING IMAGE ENCRYPTION IN C AND PYTHON
Paper ID : 1038-ICRSSSA-FULL
Authors
Mohamed Ezzat El-Hadedy *1, Valerio Formicola2
13801 West Temple Ave. Pomona, CA 91768 USA, College of Engineering ECE-department College of Engineering ECE-department
23801 W Temple Ave, Pomona, CA-91768, College of Engineering, ECE-department
Abstract
There are several important hardware and software system design implementation choices when considering the execution speeds of cryptographic data processing in an IoT device, such as The encryption algorithm selected, the software language for code implementation, the availability of hardware acceleration, the processor specifications, and the amount of data being encrypted. Each of these parameters impacts the performance of cryptographic processing and the overall system performance of an IoT device. To evaluate some of these parameters for an industry-standard encryption algorithm, AES cryptographic algorithm was selected for performance evaluation.

To collect comparative insights on popular hardware and software tools with AES performance, this study used image encryption of a 700x875 RGB image as the benchmark data set for AES128, AES192, and AES256 encryption and decryption in Python and C, using the MicroBlaze processor on the Raspberry Pi IoT device. The benchmark gives a reference test that connects the parameters of AES implementation to their impact on execution time and overall performance of the AES encryption and decryption algorithms. The overall outcome of this paper is a set of performance-related relationships between important AES parameters and system design choices when using a MicroBlaze processor on the Raspberry Pi IoT device. The benchmark shows that C is 46x times faster at encryption and 6x faster at decryption than Python. It also shows that AES decryption is 1.3x slower than encryption in Python, and AES decryption is 10x slower than encryption in C.
Keywords
Advanced Encryption Standard (AES), Raspberry Pi, IoT Device, MicroBlaze, Image Encryption, Python, C, Cryptography, Algorithm Performance Evaluation, Hardware, and Software Performance Evaluation.
Status: Accepted (Oral Presentation)