Software performance figures

Hashing

The table below shows a summary of the performance on recent PC processors of Keccak, including the most representative instances from FIPS 202 and SP 800-185, of KangarooTwelve and of the traditional hash functions MD5, SHA-1 and SHA-2. The figures are in cycles per byte for long messages (less is faster).

FunctionSkylakeXSkylakeHaswellSandy Bridge
KangarooTwelve 0.55* 1.22* 1.41* 2.91*
ParallelHash128 0.96* 2.31* 2.73* 5.63*
ParallelHash256 1.25* 2.88* 3.41* 7.15*
SHAKE128 4.09* 5.56* 7.09* 8.81*
SHAKE256 5.04* 6.86* 8.75* 10.87*
SHA3-512 9.86+ 13.19* 16.68* 20.46*
MD5 4.34+ 4.54+ 4.94+ 5.40+
SHA-1 3.05+ 3.07+ 4.15+ 6.06+
SHA-256 6.67+ 6.91+ 9.27+ 14.12+
SHA-512 4.44+ 4.64+ 6.54+ 10.94+

Authenticated encryption with Keyak

The following table shows a summary of the performance on recent PC processors of the Keyak family of authenticated encryption (AE) schemes. The figures are in cycles per byte for long messages (less is faster).

Every entry contains a range given in the form a-b. The first number a indicates the speed when processing blocks containing only metadata, while the second number b is when processing blocks containing only plaintext. For blocks containing both metadata and plaintext, the speed is somewhere in between (not shown in this table).

FunctionSkylakeXSkylakeHaswellSandy Bridge
River Keyak 7.06-10.47* 6.72-9.84* 7.86-11.61* 10.41-15.48*
Lake Keyak 2.12-2.62* 2.77-3.41* 3.47-4.20* 4.56-5.78*
Sea Keyak 1.45-1.91* 1.98-2.53* 2.39-2.95* 2.52-3.13*
Ocean Keyak 0.81-1.12* 1.08-1.44* 1.26-1.64* 2.55-3.16*
Lunar Keyak 0.49-0.76* 1.10-1.47* 1.27-1.69* 2.55-3.23*

Authentication/encryption with Kravatte

The table below shows a summary of the performance on recent PC processors of Kravatte and the different authenticated encryption (AE) modes based on it. The figures are in cycles per byte for long messages (less is faster).

FunctionSkylakeXSkylakeHaswellSandy Bridge
Kravatte — MAC computation 0.28* 0.57* 0.72* 1.96*
Kravatte — keystream generation 0.38* 0.58* 0.68* 1.94*
Kravatte-SANE (session AE) — processing of metadata 0.28* 0.57* 0.72* 1.96*
Kravatte-SANE (session AE) — processing of plaintext 0.84* 1.32* 1.65* 4.15*
Kravatte-SANSE (session AE + SIV) 0.84* 1.32* 1.63* 4.14*
Kravatte-WBC (tweakable wide block cipher) 1.18* 1.92* 2.42* 6.19*

References

The performance measurements in a column were taken consistently on the same machine. More details:

  • Sandy Bridge: Intel® Core™ i5-2400 @ 3.10GHz
  • Haswell: Intel® Core™ i5-4570 CPU @ 3.20GHz
  • Skylake: Intel® Core™ i5-6500 CPU @ 3.20GHz
  • SkylakeX: Intel® Core™ i7-7800X CPU @ 3.50GHz

The measured implementations come from