Table 2: Throughput of the AVON hash function (cy-
cles/byte).
Hash Function Westmere Sandy Bridge
AVON Permutation 3.27 2.58
AVON Full 3.36 2.65
MD5 5.04 5.38
SHA-1 7.66 7.80
Keccak 12.14 10.86
SHA-2-512 12.50 11.67
compared to SSE instructions, specifying a target,
whereas the comparable SSE instructions overwrite
one of the source operands. This means that some
speedup can be obtained by using AVX, since for
where the source needs to be preserved, one move op-
eration can be saved. We note that if AVX and SSE in-
structions are mixed, there is a penalty applied to the
throughput. The real benefit of the Sandy Bridge ar-
chitecture lies in the ability to execute AESENC oper-
ations concurrently on two execution ports (on West-
mere, only one port can handle this instruction).
7 CONCLUSIONS
In this document, we specify a new hash function
- AVON - that specifically uses the SIMD instruc-
tion set on the Intel platform to increase through-
put. We achieved a speed of 2.65 cycles/byte on the
Sandy Bridge micro-architecture, which is roughly
four times faster than the standardized SHA-3 on the
same platform, and roughly double the speed of the
insecure MD5 hash function on Sandy Bridge (see Ta-
ble 2). On other platforms, it is not so effective, but
this is unimportant for two reasons. Firstly, wherever
AES is efficient, AVON will also be efficient. There
is a strong trend to SIMD, and AES will be avail-
able as atomic SIMD instructions on more platforms
in the future. Secondly, the hash function is useful in
a server-client scenario, where the server has to hash
many documents, and the client to verify only a few.
Future work includes optimization of the code,
and further cryptanalysis to more precisely determine
the security of the hash function.
REFERENCES
Agner (2012). The microarchitecture of Intel, AMD
and VIA CPUs. http://www.agner.org/optimize/
microarchitecture.pdf.
Aumasson, J.-P., Dinur, I., Meier, W., and Shamir, A.
(2009). Cube Testers and Key Recovery Attacks on
Reduced-Round MD6 and Trivium. In (Dunkelman,
2009), pages 1–22.
Bertoni, G., Daemen, J., Peeters, M., and Assche, G. V.
(2007). Sponge functions. In Proceedings of ECRYPT
Hash Workshop 2007, May 24 - 25, 2007, Barcelona,
Spain.
Bertoni, G., Daemen, J., Peeters, M., and Assche, G. V.
(2008). On the Indifferentiability of the Sponge Con-
struction. In Smart, N. P., editor, EUROCRYPT, vol-
ume 4965 of LNCS, pages 181–197. Springer.
Bertoni, G., Daemen, J., Peeters, M., and Assche,
G. V. (2011). The KECCAK SHA-3 Submis-
sion. Submission to NIST (Round 3). Available at
http://keccak.noekeon.org/Keccak-submission-3.pdf.
Daemen, J. and Rijmen, V. (2002). The Design of Rijndael:
AES - The Advanced Encryption Standard. Springer.
Dunkelman, O., editor (2009). Fast Software Encryption,
16th International Workshop, FSE 2009, Leuven, Bel-
gium, February 22-25, 2009, Revised Selected Papers,
volume 5665 of LNCS. Springer.
ECRYPT (2012). ebacs: Ecrypt benchmarking of
cryptographic systems. http://bench.cr.yp.to/
results-sha3.html.
Gligoroski, D. (2010). Cryptographic hash functions. http://
www.nisnet.no/filer/Finse10/Cryptographic
ash
Gligoroski.pdf.
Guo, J., Peyrin, T., and Poschmann, A. (2011). The PHO-
TON family of lightweight hash functions. In Rog-
away, P., editor, CRYPTO, volume 6841 of Lecture
Notes in Computer Science, pages 222–239. Springer.
Khovratovich, D. and Nikolic, I. (2010). Rotational crypt-
analysis of ARX. In Hong, S. and Iwata, T., editors,
FSE, volume 6147 of Lecture Notes in Computer Sci-
ence, pages 333–346. Springer.
Mendel, F., Rechberger, C., Schl¨affer, M., and Thomsen,
S. S. (2009). The Rebound Attack: Cryptanalysis
of Reduced Whirlpool and Grøstl. In (Dunkelman,
2009), pages 260–276.
National Institute of Standards and Technology (2007). An-
nouncing Request for Candidate Algorithm Nomina-
tions for a New Cryptographic Hash Algorithm (SHA-
3) Family. Federal Register, 27(212):62212–62220.
Available at http://csrc.nist.gov/groups/ST/hash/
documents/FR
Notice Nov07.pdf.
Wang, X., Yin, Y. L., and Yu, H. (2005). Finding collisions
in the full SHA-1. In Shoup, V., editor, CRYPTO,
volume 3621 of Lecture Notes in Computer Science,
pages 17–36. Springer.
Wang, X. and Yu, H. (2005). How to break MD5 and other
hash functions. In Cramer, R., editor, EUROCRYPT,
volume 3494 of Lecture Notes in Computer Science,
pages 19–35. Springer.
AVON-AFastHashFunctionforIntelSIMDArchitectures
487