Another SHA2 implementation

From: Olivier Gay (olivier.gay_at_a3.epfl.ch)
Date: 04/30/05


Date: Sat, 30 Apr 2005 16:23:12 +0200

Hi,

I wrote an optimized C software implementation of hash algorithms
SHA-256, SHA-384 and SHA-512.
The code is distributed under the BSD license:

http://ouah.org/~ogay/sha2/

Below are the performance (in cycles/byte) with Intel and gcc compiler.
(The data lengths are in bytes)

Arch: P4, compiler: icc, compiler options: -O3 -xP, software options:
-DUNROLL_LOOPS

Length 1 10 100 1,000 10,000 100,000
SHA-256 2296 230.4 41.68 28.88 27.72 27.54
SHA-384 13536 1364.0 135.28 102.19 99.11 97.97
SHA-512 13624 1357.2 135.60 102.28 99.13 97.97

Arch: P4, compiler: gcc, compiler options: -O3 -march=pentium4, software
options: none

Length 1 10 100 1,000 10,000 100,000
SHA-256 3056 305.6 57.84 41.86 40.56 40.31
SHA-384 18144 1818.4 181.20 141.52 138.80 137.32
SHA-512 18200 1819.2 181.44 141.51 138.80 137.27

Voila,

--
Olivier Gay