Skip to main content

VLSI Implementation of a Functional Unit to Accelerate ECC and AES on 32-Bit Processors

  • Conference paper
Arithmetic of Finite Fields (WAIFI 2007)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4547))

Included in the following conference series:

Abstract

Embedded systems require efficient yet flexible implementations of cryptographic primitives with a minimal impact on the overall cost of a device. In this paper we present the design of a functional unit (FU) for accelerating the execution of cryptographic software on 32-bit processors. The FU is basically a multiply-accumulate (MAC) unit able to perform multiplications and MAC operations on integers and binary polynomials. Polynomial arithmetic is a performance-critical building block of numerous cryptosystems using binary extension fields, including public-key primitives based on elliptic curves (e.g. ECDSA), symmetric ciphers (e.g. AES or Twofish), and hash functions (e.g. Whirlpool). We integrated the FU into the Leon2 SPARC V8 core and prototyped the extended processor in an FPGA. All operations provided by the FU are accessible to the programmer through custom instructions. Our results show that the FU allows to accelerate the execution of 128-bit AES by up to 78% compared to a conventional software implementation using only native SPARC V8 instructions. Moreover, the custom instructions reduce the code size by up to 87.4%. The FU increases the silicon area of the Leon2 core by just 8,352 gates and has almost no impact on its cycle time.

The work described in this paper was supported by the Austrian Science Fund under grant P16952-NO4 (“Instruction Set Extensions for Public-Key Cryptography”) and by the European Commission under grant FP6-IST-033563 (project SMEPP).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  • 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 Verlag, Heidelberg (2003)

    Chapter  Google Scholar 

  • Bertoni, G., Breveglieri, L., Farina, R., Regazzoni, F.: Speeding up AES by extending a 32-bit processor instruction set. In: Proceedings of the 17th IEEE International Conference on Application-Specific Systems, Architectures and Processors (ASAP 2006), pp. 275–282. IEEE Computer Society Press, Los Alamitos (2006)

    Chapter  Google Scholar 

  • Daemen, J., Rijmen, V.: The Design of Rijndael: AES – The Advanced Encryption Standard. Springer Verlag, Heidelberg (2002)

    MATH  Google Scholar 

  • Gaisler, J.: The LEON-2 Processor User’s Manual (Version 1.0.10) (2003) Available for download at http://www.gaisler.com/doc/leon2-1.0.10.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 .

  • Großschädl, J., Kamendje, G.-A.: Low-power design of a functional unit for arithmetic in finite fields GF(p) and GF(2m). In: Chae, K.-J., Yung, M. (eds.) Information Security Applications - WISA 2003. LNCS, vol. 2908, pp. 227–243. Springer, Heidelberg (2004)

    Google Scholar 

  • Großschädl, J., Tillich, S., Szekely, A., Wurm, M.: Cryptography instruction set extensions to the SPARC V8 architecture. Preprint, submitted for publication

    Google Scholar 

  • Hankerson, D.R., Menezes, A.J., Vanstone, S.A.: Guide to Elliptic Curve Cryptography. Springer Verlag, Heidelberg (2004)

    MATH  Google Scholar 

  • Hodjat, A., Verbauwhede, I.: Interfacing a high speed crypto accelerator to an embedded CPU. In: Proceedings of the 38th Asilomar Conference on Signals, Systems, and Computers, vol. 1, pp. 488–492. IEEE, New York (2004)

    Google Scholar 

  • Koufopavlou, O., Selimis, G., Sklavos, N., Kitsos, P.: Cryptography: Circuits and systems approach. In: Proceedings of the 5th IEEE Symposium on Signal Processing and Information Technology (ISSPIT 2005), December 2005, pp. 918–923. IEEE, New York (2005)

    Chapter  Google Scholar 

  • Lim, W.M., Benaissa, M.: Subword parallel GF(2m) ALU: An implementation for a cryptographic processor. In: Proceedings of the 17th IEEE Workshop on Signal Processing Systems (SIPS 2003), pp. 63–68. IEEE, New York (2003)

    Google Scholar 

  • 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, New York (2004)

    Google Scholar 

  • National Institute of Standards and Technology. FIPS-197: Advanced Encryption Standard (November 2001) Available online at http://www.itl.nist.gov/fipspubs/

  • Page, D.: Theoretical Use of Cache Memory as a Cryptanalytic Side-Channel. Technical Report CSTR-02-003, Department of Computer Science, University of Bristol (June 2002)

    Google Scholar 

  • Savaş, E., Tenca, A.F., Koç, Ç.K.: A scalable and unified multiplier architecture for finite fields GF(p) and GF(2m). In: Paar, C., Koç, Ç.K. (eds.) CHES 2000. LNCS, vol. 1965, pp. 277–292. Springer Verlag, Heidelberg (2000)

    Chapter  Google Scholar 

  • Schaumont, P., Sakiyama, K., Hodjat, A., Verbauwhede, I.: Embedded software integration for coarse-grain reconfigurable systems. In: Proceedings of the 18th International Parallel and Distributed Processing Symposium (IPDPS 2004), pp. 137–142. IEEE Computer Society Press, Los Alamitos (2004)

    Chapter  Google Scholar 

  • Tillich, S., Großschädl, J.: Accelerating AES using instruction set extensions for elliptic curve cryptography. In: Gervasi, O., Gavrilova, M., Kumar, V., Laganà, A., Lee, H.P., Mun, Y., Taniar, D., Tan, C.J.K. (eds.) Computational Science and Its Applications – ICCSA 2005. LNCS, vol. 3481, pp. 665–675. Springer, Heidelberg (2005)

    Google Scholar 

  • Tillich, S., Großschädl, J.: Instruction set extensions for efficient AES implementation on 32-bit processors. In: Goubin, L., Matsui, M. (eds.) CHES 2006. LNCS, vol. 4249, pp. 270–284. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  • Tillich, S., Großschädl, J., Szekely, A.: An instruction set extension for fast and memory-efficient AES implementation. In: Dittmann, J., Katzenbeisser, S., Uhl, A. (eds.) CMS 2005. LNCS, vol. 3677, pp. 11–21. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  • Trusted Computing Group. TCG Specification Architecture Overview (Revision 1.2) (April 2004), Available for download at https://www.trustedcomputinggroup.org/groups/TCG_1_0_Architecture_Overview.pdf

Download references

Author information

Authors and Affiliations

Authors

Editor information

Claude Carlet Berk Sunar

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Tillich, S., Großschädl, J. (2007). VLSI Implementation of a Functional Unit to Accelerate ECC and AES on 32-Bit Processors. In: Carlet, C., Sunar, B. (eds) Arithmetic of Finite Fields. WAIFI 2007. Lecture Notes in Computer Science, vol 4547. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-73074-3_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-73074-3_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-73073-6

  • Online ISBN: 978-3-540-73074-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics