Implementations

The reference implementation and some optimized code in C are part of the NIST submission package.

Other implementations will appear here over time.

Software benchmarks

A number of Grøstl implementations have been developed and submitted to the eBASH benchmarking project. This tarball contains the Grøstl implementations currently included in eBASH. Below we list some of the benchmarking results. Note that at this point there is no Grøstl-512 implementation optimised for the Opteron.

Digest sizeProcessorModeSpeed
224/256Core 2 Duo64-bit21.3 cycles/byte
Opteron64-bit19.4 cycles/byte
Core 2 Duo32-bit22.8 cycles/byte
Pentium M32-bit29.9 cycles/byte
384/512Core 2 Duo64-bit29.8 cycles/byte
Opteron64-bit39.7 cycles/byte
Core 2 Duo32-bit36.7 cycles/byte
Pentium M32-bit55.3 cycles/byte

Hardware ASIC implementations

Stefan Tillich developed high-speed Grøstl-256 ASIC implementations in 0.18µm technology of UMC. Here are the synthesis results.

Total area (mm2)Total area (GE)Throughput (Gbit/s)
547,227.4758,4036.290
538,462.4157,4676.141
523,472.7455,8675.690
471,626.0650,3342.725