The Keccak sponge function family

Guido Bertoni1, Joan Daemen1, Michaël Peeters2 and Gilles Van Assche1

1STMicroelectronics

2NXP Semiconductors

Pages

Notes

Files

Figures

The figures above are available under the Creative Commons Attribution license. In short, they can be freely used, provided that attribution is properly done in the figure caption, either by linking to this webpage or by citing the article where the particular figure first appeared.

Links

Performance figures

On this page, we summarize the performance figures of Keccak[r=1024,c=576] as they can be found in eBASH. We select results with recent compilers (preferably GCC ≥ 4.4) and recent SUPERCOP versions (preferably SUPERCOP ≥ 20100509) on a given processor.

For version 2 of the specifications, the number of rounds was increased from 18 to 24. On some machines, new performance figures are not yet available, in which case the figures below are actually extrapolated from those of Keccak[r=1024,c=576,nr=18].

For long messages, the speed is directly proportional to the bitrate r. The figures below are for the nominal value r=1024. To estimate the performance for other bitrate values, one can simply multiply the number of cycles/byte by 1024/r. For instance, Keccak[r=1088,c=512] is 6.25% faster than Keccak[] and it is also benchmarked on eBASH under the name keccakc512.

For short messages, the speed is determined by the number of calls to Keccak-f, i.e., just one when the message length is ≤r-25 bits.

64-bit platforms

ProcessorCompiler(s)SUPERCOP
version
ImplementationShort
(cycles)
Long
(c/b)
SHA-256
(c/b)
SHA-512
(c/b)
AMD Athlon 64 X2GCC 4.3.320090715plain 64-bit, LC(*)2037(*)13.8814.8813.12
AMD Phenom 9550GCC 4.4.120100610plain 64-bit, LC399012.9915.139.92
AMD Phenom II X4 955GCC 4.4.120100120plain 64-bit, LC202613.0715.0411.83
HP Itanium IIGCC 3.4.420100611plain 64-bit, LC13986.2221.129.30
HP Itanium IIGCC 3.3.320100611plain 64-bit, LC14907.1923.4611.42
IBM POWER4GCC 4.0.020100611plain 64-bit, LC347220.8627.5215.36
IBM POWER5GCC 4.3.320090223plain 64-bit, LC(*)3051(*)19.0921.8513.59
Intel Core 2 DuoGCC 4.4.1, ICC 11.1020100702plain 64-bit, LC200012.6115.3611.60
Intel Core 2 Duo E4600GCC 4.4.3, ICC 11.1020100610plain 64-bit, LC195612.6315.5710.27
Intel Core 2 Duo E8400GCC 4.4,3, ICC 11.1020100509plain 64-bit, LC190812.6015.5110.26
Intel Core 2 Quad Q9550GCC 4.4.120100712plain 64-bit, LC192112.6715.3910.27
Intel Core i5 750GCC 4.4.120100425plain 64-bit, LC192610.9814.0810.61
Intel Core i5 M 520GCC 4.4.3, ICC 11.1020100120plain 64-bit, LC179410.8713.9010.48
Intel Core i7 920GCC 4.4.420100611plain 64-bit, LC420013.0916.9411.45
Intel Xeon E5420GCC 4.5.0, ICC 11.1020100425plain 64-bit, LC198012.5719.3513.31
Intel Xeon E5530GCC 4.4.1, ICC 11.1020100702plain 64-bit, LC200013.1116.9412.80
Table 1: Performance of Keccak on various 64-bit platforms

32-bit platforms

ProcessorCompiler(s)SUPERCOP
version
ImplementationShort
(cycles)
Long
(c/b)
SHA-256
(c/b)
SHA-512
(c/b)
AMD AthlonGCC 4.4.120100509SIMD64588640.3519.5569.81
ARM XScale-PXA270 rev 4GCC 4.3.120090226plain 32-bit, LC, BI(*)20339(*)127.5937.972554.25
Intel Pentium 2GCC 4.3.320090408SIMD64(*)6803(*)46.8831.4499.83
Intel Pentium 3GCC 4.4.120100120SIMD64599340.8724.8370.46
Intel Pentium 4GCC 4.4.120100509SIMD64774449.1832.6937.87
Intel Pentium MGCC 4.4.120100509SIMD64506033.8221.6229.96
Table 2: Performance of Keccak on various 32-bit platforms

64-bit platforms used in 32-bit mode

ProcessorCompiler(s)SUPERCOP
version
ImplementationShort
(cycles)
Long
(c/b)
SHA-256
(c/b)
SHA-512
(c/b)
AMD Athlon 64 X2GCC 4.3.320090715plain 32-bit, LC, BI(T)(*)5624(*)40.6314.9624.46
AMD Phenom 9550GCC 4.4.120100610SIMD64991634.2114.8921.72
IBM POWER4GCC 4.0.020100611plain 32-bit, LC, BI(T)665646.2322.1845.22
IBM POWER5GCC 4.3.320090223plain 32-bit, LC, BI(T)(*)5788(*)37.6320.1639.03
Intel Core 2 Duo E4600GCC 4.4.3, ICC 11.1020100610SIMD128306020.3015.7318.30
Intel Core 2 Quad Q9550GCC 4.4.120100712SIMD128336621.8015.5218.37
Intel Core i5 750GCC 4.4.120100425SIMD128281418.4018.8447.11
Intel Xeon E5420GCC 4.5.0, ICC 11.1020100425SIMD128314319.7318.5297.16
Intel Xeon E5530GCC 4.4.1, ICC 11.1020100702SIMD128309619.4217.1516.13
Table 3: Performance of Keccak on various 64-bit platforms restricted to 32-bit instructions

Legend