Abstract
As more and more security-critical computation is done in embedded systems it is also becoming increasingly important to facilitate cryptography in such systems. The Advanced Encryption Standard (AES) specifies one of the most important cryptographic algorithms today and has received a lot of attention from researchers. Most prior work has focused on efficient implementations with throughput as main criterion. However, AES implementations in small and constrained environments require additional factors to be accounted for, such as limited memory and energy supply. In this paper we present an inexpensive extension to a 32-bit general-purpose processor which allows compact and fast AES implementations. We have integrated this extension into the SPARC V8-compatible LEON-2 processor and measured a speedup by a factor of up to 1.43 for encryption and 1.3 for decryption. At the same time the code size has been reduced by 30–40%.
Chapter PDF
Similar content being viewed by others
Keywords
References
Bertoni, G., Bircan, A., Breveglieri, L., Fragneto, P., Macchetti, M., Zaccaria, V.: About the performances of the Advanced Encryption Standard in embedded systems with cache memory. In: Proceedings of the 36th IEEE International Symposium on Circuits and Systems (ISCAS 2003), vol. 5, pp. 145–148. IEEE, Los Alamitos (2003)
Bertoni, G., Breveglieri, L., Fragneto, P., Macchetti, M., Marchesin, S.: Efficient software implementation of AES on 32-bit platforms. In: Kaliski Jr., B.S., Koç, Ç.K., Paar, C. (eds.) CHES 2002. LNCS, vol. 2523, pp. 159–171. Springer, Heidelberg (2003)
Bertoni, G., Zaccaria, V., Breveglieri, L., Monchiero, M., Palermo, G.: AES power attack based on induced cache miss and countermeasure. In: Proceedings of the 6th International Conference on Information Technology: Coding and Computing (ITCC 2005), pp. 586–591. IEEE Computer Society Press, Los Alamitos (2005)
Daemen, J., Rijmen, V.: The Design of Rijndael. Springer, Heidelberg (2002)
Feldhofer, M., Dominikus, S., Wolkerstorfer, J.: Strong authentication for RFID systems using the AES algorithm. In: Joye, M., Quisquater, J.-J. (eds.) CHES 2004. LNCS, vol. 3156, pp. 357–370. Springer, Heidelberg (2004)
Gaisler, J.: The LEON-2 Processor User’s Manual (Version 1.0.24) (September 2004), Available for download at http://www.gaisler.com/doc/leon2-1.0.24-xst.pdf
Gladman, B.: Implementations of AES (Rijndael) in C/C++ and assembler, Available for download at http://fp.gladman.plus.com/cryptography_technology/rijndael/index.htm
Irwin, J., Page, D.: Using media processors for low-memory AES implementation. In: 14th International Conference on Application-specific Systems, Architectures and Processors (ASAP 2003), pp. 144–154. IEEE Computer Society Press, Los Alamitos (2003)
Lee, R.B., Shi, Z., Yang, X.: Efficient permutation instructions for fast software cryptography. IEEE Micro. 21(6), 56–69 (2001)
Nadehara, K., Ikekawa, M., Kuroda, I.: Extended instructions for the AES cryptography and their efficient implementation. In: Proceedings of the 18th IEEE Workshop on Signal Processing Systems (SIPS 2004), pp. 152–157. IEEE, Los Alamitos (2004)
National Institute of Standards and Technology (NIST). Advanced Encryption Standard (AES). Federal Information Processing Standards (FIPS) Publication 197 (November 2001)
Page, D.: Theoretical Use of Cache Memory as a Cryptanalytic Side-Channel. Technical Report CSTR-02-003, University of Bristol, Bristol, UK (2002)
Ravi, S., Raghunathan, A., Potlapally, N., Sankaradass, M.: System design methodologies for a wireless security processing platform. In: Proceedings of the 39th Design Automation Conference (DAC 2002), pp. 777–782. ACM Press, New York (2002)
Schaumont, P., Sakiyama, K., Hodjat, A., Verbauwhede, I.: Embedded software integration for coarse-grain reconfigurable systems. In: Proceedings fo the 18th International Parallel and Distributed Processing Symposium (IPDPS 2004), pp. 137–142. IEEE Computer Society Press, Los Alamitos (2004)
Sinha, A., Chandrakasan, A.: Jouletrack – A web based tool for software energy profiling. In: Proceedings of the 38th Design Automation Conference (DAC 2001), pp. 220–225. ACM Press, New York (2001)
Tensilica Inc. Xtensa Application Specific Microprocessor Solutions. Overview handbook (2001), Available for download at http://www.tensilica.com
Tillich, S., Großschädl, J.: Accelerating AES using instruction set extensions for elliptic curve cryptography. In: Gervasi, O., Gavrilova, M.L., Kumar, V., Laganá, A., Lee, H.P., Mun, Y., Taniar, D., Tan, C.J.K. (eds.) ICCSA 2005. LNCS, vol. 3481, pp. 665–675. Springer, Heidelberg (2005)
Tsunoo, Y., Tsujihara, E., Minematsu, K., Miyauchi, H.: Cryptanalysis of block ciphers implemented on computers with cache. In: Proceedings of the 25th International Symposium on Information Theory and Its Applications (ISITA 2002), SITA (2002)
Wolkerstorfer, J., Oswald, E., Lamberger, M.: An ASIC implementation of the AES sboxes. In: Preneel, B. (ed.) CT-RSA 2002. LNCS, vol. 2271, pp. 67–78. Springer, Heidelberg (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 IFIP International Federation for Information Processing
About this paper
Cite this paper
Tillich, S., Großschädl, J., Szekely, A. (2005). An Instruction Set Extension for Fast and Memory-Efficient AES Implementation. In: Dittmann, J., Katzenbeisser, S., Uhl, A. (eds) Communications and Multimedia Security. CMS 2005. Lecture Notes in Computer Science, vol 3677. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11552055_2
Download citation
DOI: https://doi.org/10.1007/11552055_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-28791-9
Online ISBN: 978-3-540-31978-8
eBook Packages: Computer ScienceComputer Science (R0)