Simultaneous Hashing of Multiple Messages
The performance of hash functions is important in various situations and platforms. One example is a server workload: authenticated encryption in SSL/TLS sessions, where hash functions are used for authentication, in HMAC mode. This is one reason why the performance of SHA-256 on modern x86-64 architectures was defined as a baseline for the SHA3 competition. The authors describe a method for efficiently hashing multiple messages of different lengths. Such computations occur in various scenarios, and one of them is when an operating system checks the integrity of its components during boot time. These tasks can gain performance by parallelizing the computations and using SIMD architectures. For such scenarios, they compare the performance of a new 4-buffers SHA-256 S-HASH implementation, to that of the standard serial hashing.