Paper 2011/609

The PHOTON Family of Lightweight Hash Functions

Jian Guo, Thomas Peyrin, and Axel Poschmann


RFID security is currently one of the major challenges cryptography has to face, often solved by protocols assuming that an on-tag hash function is available. In this article we present the PHOTON lightweight hash-function family, available in many different flavors and suitable for extremely constrained devices such as passive RFID tags. Our proposal uses a sponge-like construction as domain extension algorithm and an AES-like primitive as internal unkeyed permutation. This allows us to obtain the most compact hash function known so far (about 1120 GE for 64-bit collision resistance security), reaching areas very close to the theoretical optimum (derived from the minimal internal state memory size). Moreover, the speed achieved by PHOTON also compares quite favorably to its competitors. This is mostly due to the fact that unlike for previously proposed schemes, our proposal is very simple to analyze and one can derive tight AES-like bounds on the number of active Sboxes. This kind of AES-like primitive is usually not well suited for ultra constrained environments, but we describe in this paper a new method for generating the column mixing layer in a serial way, lowering drastically the area required. Finally, we slightly extend the sponge framework in order to offer interesting trade-offs between speed and preimage security for small messages, the classical use-case in hardware.

Note: Also available at

Available format(s)
Secret-key cryptography
Publication info
Published elsewhere. extended version of the CRYPTO 2011 article
lightweighthash functionsponge functionAES.
Contact author(s)
thomas peyrin @ gmail com
2015-10-29: last of 2 revisions
2011-11-15: received
See all versions
Short URL
Creative Commons Attribution


      author = {Jian Guo and Thomas Peyrin and Axel Poschmann},
      title = {The PHOTON Family of Lightweight Hash Functions},
      howpublished = {Cryptology ePrint Archive, Paper 2011/609},
      year = {2011},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.