Compact Implementation and Performance Evaluation of Hash Functions in ATtiny Devices

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7771)


The pervasive diffusion of electronic devices in security and privacy sensitive applications has boosted research in cryptography. In this context, the study of lightweight algorithms has been a very active direction over the last years. In general, symmetric cryptographic primitives are good candidates for low-cost implementations. For example, several previous works have investigated the performance of block ciphers on various platforms. Motivated by the recent SHA3 competition, this paper extends these studies to another family of cryptographic primitives, namely hash functions. We implemented different algorithms on an ATMEL AVR ATtiny45 8-bit microcontroller, and provide their performance evaluation. All the implementations were carried out with the goal of minimizing the code size and memory utilization, and are evaluated using a common interface. As part of our contribution, we make all the corresponding source codes available on a web page, under an open-source license. We hope that this paper provides a good basis for researchers and embedded system designers who need to include more and more functionalities in next generation smart devices.


Hash Function Block Cipher Code Size Compression Function Cycle Count 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
  2. 2.
    Aumasson, J.-P., Henzen, L., Meier, W., Naya-Plasencia, M.: Quark: A lightweight hash. In: Mangard, S., Standaert, F.-X. (eds.) CHES 2010. LNCS, vol. 6225, pp. 1–15. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  3. 3.
    Aumasson, J.-P., Henzen, L., Meier, W., Naya-Plasencia, M.: QUARK C implementation (2010),
  4. 4.
    Aumasson, J.-P., Henzen, L., Meier, W., Phan, R.C.-W.: SHA-3 proposal BLAKE. Submission to NIST, Round 3 (2010)Google Scholar
  5. 5.
    Balasch, J., Ege, B., Eisenbarth, T., Gérard, B., Gong, Z., Güneysu, T., Heyse, S., Kerckhof, S., Koeune, F., Plos, T., Pöppelmann, T., Regazzoni, F., Standaert, F.-X., Van Assche, G., Van Keer, R., van Oldeneel tot Oldenzeel, L., von Maurich, I.: Compact implementation and performance evaluation of hash functions in attiny devices. Cryptology ePrint Archive, Report 2012/507 (2012),
  6. 6.
    Bertoni, G., Daemen, J., Peeters, M., Van Assche, G.: Sponge functions. Ecrypt Hash Workshop 2007 (May 2007), also available as public comment to NIST from
  7. 7.
    Bertoni, G., Daemen, J., Peeters, M., Van Assche, G.: The Keccak reference (January 2011),
  8. 8.
    Bertoni, G., Daemen, J., Peeters, M., Van Assche, G., Van Keer, R.: Keccak implementation overview (September 2011),
  9. 9.
    Bogdanov, A., Knezevic, M., Leander, G., Toz, D., Varici, K., Verbauwhede, I.: Spongent: The design space of lightweight cryptographic hashing. IACR Cryptology ePrint Archive, 2011:697 (2011)Google Scholar
  10. 10.
    Daemen, J., Peeters, M., Van Assche, G., Rijmen, V.: Nessie proposal: NOEKEON (2000),
  11. 11.
    Daemen, J., Rijmen, V.: The block cipher rijndael. In: Quisquater, J.-J., Schneier, B. (eds.) CARDIS 2000. LNCS, vol. 1820, pp. 277–284. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  12. 12.
    Daemen, J., Rijmen, V.: The Design of Rijndael. Springer-Verlag New York, Inc., Secaucus (2002)Google Scholar
  13. 13.
    Daemen, J., Rijmen, V.: AES proposal: Rijndael. In: Proc. First AES Conference (August 1998), Available on-line from the official AES page:
  14. 14.
    Eisenbarth, T., Gong, Z., Güneysu, T., Heyse, S., Indesteege, S., Kerckhof, S., Koeune, F., Nad, T., Plos, T., Regazzoni, F., Standaert, F.-X., van Oldeneel tot Oldenzeel, L.: 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
  15. 15.
    Eisenbarth, T., Heyse, S., von Maurich, I., Poeppelmann, T., Rave, J., Reuber, C., Wild, A.: Evaluation of sha-3 candidates for 8-bit embedded processors. In: The Second SHA-3 Candidate Conference (2010)Google Scholar
  16. 16.
  17. 17.
    Ferguson, N., Lucks, S., Schneier, B., Whiting, D., Bellare, M., Kohno, T., Callas, J., Walker, J.: The skein hash function family, version 1.3 (2010),
  18. 18.
    Gauravaram, P., Knudsen, L.R., Matusiewicz, K., Mendel, F., Rechberger, C., Schläffer, M., Thomsen, S.S.: Sha-3 proposal grøstl, version 2.0.1 (2011),
  19. 19.
    Guo, J., Peyrin, T., Poschmann, A.: The PHOTON family of lightweight hash functions. In: Rogaway, P. (ed.) CRYPTO 2011. LNCS, vol. 6841, pp. 222–239. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  20. 20.
    Hirose, S.: Some plausible constructions of double-block-length hash functions. In: Robshaw, M.J.B. (ed.) FSE 2006. LNCS, vol. 4047, pp. 210–225. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  21. 21.
    Lee, J., Park, J.H.: Preimage resistance of lpmkr with r=m-1. Inf. Process. Lett. 110(14-15), 602–608 (2010)zbMATHCrossRefGoogle Scholar
  22. 22.
    National Institute of Standards and Technology. FIPS 180-3, Secure Hash Standard, Federal Information Processing Standard (FIPS), Publication 180-3. Technical report, U.S. Department of Commerce (October 2008)Google Scholar
  23. 23.
    NIST. Announcing request for candidate algorithm nominations for a new cryptographic hash algorithm (SHA-3) family. Federal Register Notices 72(212), 62212–62220 (November 2007),
  24. 24.
    NIST. NIST special publication 800-57, recommendation for key management (revised) (March 2007)Google Scholar
  25. 25.
    Osvik, D.A.: Fast embedded software hashing. Cryptology ePrint Archive, Report 2012/156 (2012),
  26. 26.
    Otte, D.: Avr-crypto-lib (2009),
  27. 27.
    Rogaway, P., Steinberger, J.P.: Constructing cryptographic hash functions from fixed-key blockciphers. In: Wagner, D. (ed.) CRYPTO 2008. LNCS, vol. 5157, pp. 433–450. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  28. 28.
    Roland, G.: Efficient implementation of the grøstl-256 hash function on an atmega163 microcontroller (June 2009),
  29. 29.
    Shrimpton, T., Stam, M.: Building a collision-resistant compression function from non-compressing primitives. In: Aceto, L., Damgård, I., Goldberg, L.A., Halldórsson, M.M., Ingólfsdóttir, A., Walukiewicz, I. (eds.) ICALP 2008, Part II. LNCS, vol. 5126, pp. 643–654. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  30. 30.
    Standaert, F.-X., Piret, G., Gershenfeld, N., Quisquater, J.-J.: SEA: A scalable encryption algorithm for small embedded applications. In: Domingo-Ferrer, J., Posegga, J., Schreckling, D. (eds.) CARDIS 2006. LNCS, vol. 3928, pp. 222–236. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  31. 31.
    Walter, J.: Fhreefish (skein implementation) website,
  32. 32.
    Wenzel-Benner, C., Gräf, J., Pham, J., Kaps, J.-P.: XBX benchmarking results January 2012. In: Third SHA-3 Candidate Conference (March 2012),
  33. 33.
    Wu, H.: JH Documentation Website,
  34. 34.
    Wu, H.: The Hash Function JH (January 2011),

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  1. 1.Department of Electrical Engineering ESAT/COSICKULeuvenBelgium
  2. 2.Digital Security Group - ICISRadboud Universiteit NijmegenThe Netherlands
  3. 3.Dept. of Electrical & Computer EngineeringWorcester Polytechnic InstituteUSA
  4. 4.ICTEAM/ELEN/Crypto GroupUniversité catholique de LouvainBelgium
  5. 5.School of Computer ScienceSouth China Normal UniversityChina
  6. 6.Horst Görtz Institute for IT-SecurityRuhr-Universität BochumGermany
  7. 7.Institute for Applied Information Processing and Communications (IAIK)Graz University of TechnologyAustria
  8. 8.ALaRI InstituteUniversity of LuganoSwitzerland
  9. 9.STMicroelectronicsBelgium

Personalised recommendations