The Keccak sponge function family

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

1STMicroelectronics
2Radboud University

Pages

Documents

Notes

Software and other 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

Software 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 (or XBX) versions on a given processor.

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-2 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.4.320110106plain 64-bit, LC197413.0514.889.93
AMD Phenom 9550GCC 4.4.120110106plain 64-bit, LC201612.9915.069.92
AMD Phenom II X4 955GCC 4.4.120100120plain 64-bit, LC202613.0715.0411.83
AMD Phenom II X6 1090TGCC 4.4.320101204plain 64-bit, LC267012.9815.0511.51
HP Itanium IIGCC 3.2.320101111plain 64-bit13186.2820.479.30
HP Itanium IIGCC 3.3.320110106plain 64-bit14287.0322.3911.36
IBM POWER4GCC 4.0.0, XLC 8.020110106plain 64-bit, LC348020.9225.3415.37
IBM POWER5GCC 4.4.320101002plain 64-bit, LC298416.9122.1913.52
IBM PowerPC G5 970GCC 4.3.220110106plain 64-bit, LC334819.4622.2813.32
ICT Loongson-2 V0.3GCC 4.3.320101002plain 64-bit, LC541624.7235.0324.27
Intel Core 2 DuoGCC 4.4.320110106plain 64-bit, LC200812.6415.3411.73
Intel Core 2 Duo E4600GCC 4.4.3, ICC 11.1020110106plain 64-bit, LC396512.6315.5510.27
Intel Core 2 Duo E8400GCC 4.4,3, ICC 11.1020101204plain 64-bit, LC192612.6615.2810.22
Intel Core 2 Quad Q9550GCC 4.4.120110106plain 64-bit, LC193812.6415.2610.26
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.6,020110106plain 64-bit, LC193512.6415.1611.79
Intel Xeon E5530GCC 4.4.1, ICC 11.1020110106plain 64-bit, LC201213.1216.9211.82
Sun UltraSPARC IIIiGCC 3.4.320101111plain 64-bit572437.8927.7120.50
Sun UltraSPARC T1GCC 4.3.220100821plain 64-bit, LC1885281.9675.00131.26
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.320110106SIMD64543037.9719.5370.65
Atmel AT91RM920020101017 (XBX)plain 32-bit, BI29025115.0047.37122.51
Freescale i.MX515GCC 4.4.120110106plain 32-bit, BI806462.8822.3189.50
Intel Pentium 3GCC 4.4.120101204SIMD64599540.8624.8067.47
Intel Pentium 4GCC 4.4.120110106plain 32-bit, BI748448.8935.8837.44
Intel Pentium MGCC 4.4.120100509SIMD64506033.8221.6229.96
Luminary Micro LM3S81120101114 (XBX)ARM assembly16466103.1940.64172.77
Motorola PowerPC 750CXeGCC 4.3.220110106plain 32-bit, BI744046.8221.0854.38
Motorola PowerPC G4 7410GCC 4.3.220110106plain 32-bit, BI740846.7221.1754.10
Motorola PowerPC G4 7447aGCC 3.320110106plain 32-bit, LC, BI(T)751452.5916.5944.99
TI OMAP 2420GCC 3.4.420101204plain 32-bit, BI1443997.3747.11117.95
TI AR7 (4KEc)20101114 (XBX)plain 32-bit, BI70596148.3284.00140.48
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.4.320110106SIMD64509335.7114.9223.55
AMD Phenom 9550GCC 4.4.120110106SIMD64497934.2114.9921.48
IBM POWER4GCC 4.0.020101111plain 32-bit, BI808046.8821.2544.03
IBM POWER5GCC 4.4.320101002plain 32-bit, LC, BI(T)537635.5219.6639.19
IBM PowerPC G5 970GCC 4.3.220110106plain 32-bit, LC, BI(T)648043.7220.6544.88
ICT Loongson-2 V0.3GCC 4.3.320101002plain 64-bit, LC541025.2936.7524.37
ICT Loongson-2 V0.3GCC 4.3.320101002plain 64-bit, LC942854.4933.4653.54
Intel Core 2 Duo E4600GCC 4.4.3, ICC 11.1020110106SIMD128604819.1815.6118.13
Intel Core 2 Quad Q9550GCC 4.4.120110106SIMD128339221.9515.4818.34
Intel Core i5 750GCC 4.4.120100425SIMD128281418.4018.8447.11
Intel Xeon E5420GCC 4.6,020110106SIMD128341322.0717.5556.26
Intel Xeon E5530GCC 4.4.120110106SIMD128333621.6317.2616.05
Table 3: Performance of Keccak on various 64-bit platforms restricted to 32-bit instructions

Legend