j-lanes hashing is a tree mode that splits an input message to j slices, computes j independent digests of each slice, and outputs the hash value of their concatenation. We demonstrate the performance advantage of j-lanes hashing on SIMD architectures, by coding a 4-lanes-SHA-256 implementation and measuring its performance on the latest 3rd Generation IntelR CoreTM. For messages whose lengths range from 2 KB to 132 KB, we show that the 4-lanes SHA-256 is between 1.5 to 1.97 times faster than the fastest publicly available implementation that we are aware of, and between ~2 to ~2.5 times faster than the OpenSSL 1.0.1c implementation. For long messages, there is no significant performance difference between different choices of j. We show that the 4-lanes SHA-256 is faster than the two SHA3 finalists (BLAKE and Keccak) that have a published tree mode implementation. Finally, we explain why j-lanes hashing will be faster on the coming AVX2 architecture that facilitates using 256 bits registers. These results suggest that standardizing a tree mode for hash functions (SHA-256 in particular) could be useful for performance hungry applications.
[1]
Shay Gueron,et al.
Parallelizing message schedules to accelerate the computations of hash functions
,
2012,
Journal of Cryptographic Engineering.
[2]
Guido Bertoni,et al.
Sufficient conditions for sound tree and sequential hashing modes
,
2013,
International Journal of Information Security.
[3]
Guido Bertoni,et al.
Sufficient conditions for sound tree hashing modes
,
2009,
Symmetric Cryptography.
[4]
Ronald L. Rivest,et al.
Indifferentiability of Permutation-Based Compression Functions and Tree-Based Modes of Operation, with Applications to MD6
,
2009,
FSE.
[5]
Ralph C. Merkle,et al.
A Certified Digital Signature
,
1989,
CRYPTO.
[6]
Guido Bertoni,et al.
Keccak sponge function family main document
,
2009
.
[7]
Shay Gueron,et al.
Simultaneous hashing of multiple messages
,
2012,
IACR Cryptol. ePrint Arch..
[8]
Palash Sarkar,et al.
A Parallelizable Design Principle for Cryptographic Hash Functions
,
2002,
IACR Cryptol. ePrint Arch..