In this paper we present an efficient software im plementation of the Advanced Encryption Standard (AES) used in the confidentiality algorithm of the Long Term Evolution (LTE) protocol. Our implementation is based on slicing and merging the bytes of several data blocks to exploit processor's architecture width for multi-block encryption. In addition, an appropriate lookup table and data organization in memory are applied, combined with media processing instructions in order to enhance the performance of AES in embedded environments.Other optimized software implementations from literature are also explored and evaluated in comparison to the proposed implementation with respect to processing throughput and energy consumption using a multi-core based mobile phone platform.Simulation results show that the proposed implementation is the fastest among other implementations and achieves improvements in performance up to 69 % while providing S9 % of energy savings. Moreover, the presented implementation is scalable for multi-core execution. When running on two cores, it fulfills the LTE data rate of 100 Mbitls and extends energy savings to 68%, leading to a total of 13 times improvement in energy efficiency.
I. I NTRODUCTIONThe speed of data transfer in mobile networks is continu ously increasing, reaching up to 100 Mbitls in the upcoming Long Term Evolution (LTE) standard. Security in cellular communication systems is based on cryptographic algorithms to encrypt and decrypt user data. These algorithms are com putationally expensive and require relatively long execution times. A former performance analysis of the LTE protocol stack in [1] identified ciphering as a time critical function. Thus providing an efficient ciphering implementation has a great impact on overall system performance. The energy consumption of software plays also a vital role in mobile devices due to its limited battery capacity.Ciphering algorithms in mobile handsets are typically ac celerated by dedicated hardware. Software implementations, however, enable sharing of computing resources between ci phering and other communication functionalities. In addition, it provides flexibility needed to support multiple cellular stan dards using different ciphering schemes. However, software implementations are relatively slow and therefore have to be efficient enough in order to fulfill the required timing constraints while consuming lowest energy possible. In this paper we introduce a novel software implementation of the confidentiality algorithm used in the LTE standard. The pro posed implementation exploits the processor architecture width to perform several ciphering operations simultaneously. As 978-1-61284-486-2/111$26.00 ©2011 IEEE embedded multi-core processors are expected to be deployed in future mobile devices [2], we also investigate how further speedups can be obtained by using multi-core processing. Fi nally, our implementation is evaluated against other optimized implementations from literature with respect to processing throughput and energy c...