Minimalism of Software Implementation

Extensive Performance Analysis of Symmetric Primitives on the RL78 Microcontroller
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8424)

Abstract

This paper studies state-of-the-art software implementation of lightweight symmetric primitives from embedded system programmer’s standpoint. In embedded environments, due to many possible variations of ROM/RAM-size combinations, it is not always easy to obtain an entire performance picture of a given primitive and to create a fair benchmark from top speed records.

In this study we classify these size combinations into several categories and optimize operation speed in each category. We implemented on Renesas’ RL78 microcontroller - a typical CISC embedded processor, four block ciphers and seven hash functions with various combinations of ROM and RAM sizes to make performance characteristics of these primitives clearer. We also discuss how to create an interface and measure size and speed of a given primitive from a practical point of view.

As a result, our AES encryption codes run at as fast as 3,855 cycles/block in the ROM-1KB RAM-64B category, and 6,622 cycles/block in the ROM-512B RAM-128B category. For another examples aiming at minimizing a ROM size, we have achieved 453-byte Keccak, 396-byte Skein-256 and 210-byte PRESENT encryption codes on this processor.

References

  1. 1.
    Ecrypt, II, Implementations of low cost block ciphers in Atmel AVR devices, http://perso.uclouvain.be/fstandae/source_codes/lightweight_ciphers/
  2. 2.
    ECRYPT II, Implementations of hash functions in Atmel AVR devices. http://perso.uclouvain.be/fstandae/source_codes/hash_atmel/
  3. 3.
    Advanced Encryption Standard (AES), Federal Information Processing Standards Publication 197, NIST (2001)Google Scholar
  4. 4.
    Aoki, K., Ichikawa, T., Kanda, M., Matsui, M., Moriai, S., Nakajima, J., Tokita, T.: The 128-Bit block cipher camellia. IEICE Trans. Fundam. E85–A(1), 11–24 (2002)Google Scholar
  5. 5.
    Shirai, T., Shibutani, K., Akishita, T., Moriai, S., Iwata, T.: The 128-Bit blockcipher CLEFIA (extended abstract). In: Biryukov, A. (ed.) FSE 2007. LNCS, vol. 4593, pp. 181–195. Springer, Heidelberg (2007) CrossRefGoogle Scholar
  6. 6.
    Bogdanov, A.A., Knudsen, L.R., Leander, G., Paar, C., Poschmann, A., Robshaw, M., Seurin, Y., Vikkelsoe, C.: PRESENT: an ultra-lightweight block cipher. In: Paillier, P., Verbauwhede, I. (eds.) CHES 2007. LNCS, vol. 4727, pp. 450–466. Springer, Heidelberg (2007) CrossRefGoogle Scholar
  7. 7.
    Secure Hash Standard (SHS), Federal Information Processing Standards Publication 180–3, NIST (2008)Google Scholar
  8. 8.
    Bertoni, G., Daemen, J., Peeters, M., Assche, G.V.: The Keccak sponge function family. http://keccak.noekeon.org/
  9. 9.
    Ferguson, N., Lucks, S., Schneier, B., Whiting, D., Bellare, M., Kohno, T., Callas, J., Walker, J.: The skein hash function family. http://www.skein-hash.info/
  10. 10.
    Gauravaram1, P., Knudsen, L.R., Matusiewicz, K., Mendel, F., Rechberger, C., Schläffer, M., Thomsen, S.S.: Grøstl - a SHA-3 candidate. http://www.groestl.info/
  11. 11.
  12. 12.
    AVR Instruction Set, Atmel Corporation. http://www.atmel.com/images/doc0856.pdf
  13. 13.
    CodeSuite+ V1.02.00 Integrated Development Environment User’s Manual: RL78,78K0R Coding. http://documentation.renesas.com/doc/products/tool/doc/+r20ut0977ej0100_qscd78.pdf
  14. 14.
    Eisenbarth, T., Kumar, S.S., Paar, C., Poschmann, A., Uhsadel, L.: A survey of lightweight-cryptography implementations. IEEE Des. Test Comput. 24(6), 522–533 (2007)CrossRefGoogle Scholar
  15. 15.
    Eisenbarth, T., et al.: Compact implementation and performance evaluation of block ciphers in attiny devices. In: Mitrokotsa, A., Vaudenay, S. (eds.) AFRICACRYPT 2012. LNCS, vol. 7374, pp. 172–187. Springer, Heidelberg (2012) CrossRefGoogle Scholar
  16. 16.
    Balasch, J., Ege, B., Eisenbarth, T., Gerard, B., Gong, Z., Guneysu, T., Heyse, S., Kerckhof, S., Koeune, F., Plos, T., Poppelmann, T., Regazzoni, F., Standaert, F.-X., Assche, G.V., Keer, R.V., van Oldeneel tot Oldenzeel, L., von Maurich, I.: Compact Implementation and Performance Evaluation of Hash Functions in ATtiny Devices, cryptology e-Print archive, report 2012/507Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  1. 1.Information Technology R&D CenterMitsubishi Electric CorporationKamakuraJapan

Personalised recommendations