Parallelizing Message Schedules to Accelerate the Computations of Hash Functions
This paper describes an algorithm for accelerating the computations of Davies-Meyer based hash functions. It is based on parallelizing the computation of several message schedules for several message blocks of a given message. This parallelization, together with the proper use of vector processor instructions (SIMD) improves the overall algorithm's performance. The authors also show how to extend the method to the soon-to-come AVX2 architecture, which has wider registers. Since processors with AVX2 will be available only in 2013, exact performance reporting is not yet possible. Instead, they show that their resulting SHA-256 and SHA-512 implementations have a reduced number of instructions. Based on their findings, they make some make observations on the SHA-3 competition.