VAMPIRE

eBACS: ECRYPT Benchmarking of Cryptographic Systems


ECRYPT II
General information:IntroductioneBASHeBASCeBAEADeBATSSUPERCOPXBXComputersArch
How to submit new software:Tipshashstreamaeaddhkemencryptsign
List of primitives measured:lwcsha3hashstreamlwccaesaraeaddhkemencryptsign
Measurements:lwcsha3hashstreamlwccaesaraeaddhkemencryptsign
List of subroutines:verifydecodeencodesortcorehashblocksxofscalarmult

Measurements of stream ciphers on one machine: ppc64; POWER9 (004e1203); 2019? IBM 02CY642; 22 x 3800MHz; power9, supercop-20250922

[Page version: 20250926 23:08:03]

eBASC (ECRYPT Benchmarking of Stream Ciphers) is a project to measure the performance of stream ciphers. This page presents benchmark results collected in eBASC:

Graphs show timings for all message lengths between 0 and 4096 bytes. The stair-step shape of a typical curve on the graphs reflects the fact that these stream ciphers handle messages in blocks, such as 64-byte blocks.

Each table row lists the first quartile of many speed measurements, the median of many speed measurements, the third quartile of many speed measurements, and the name of the primitive. Measurements with large variance are indicated in red with question marks. The symbol T: (starting with supercop-20200816) means that the SUPERCOP database at the time of benchmarking did not list constant time as a goal for this implementation. The symbol T!!! means that constant time was listed as a goal for this implementation, but that the implementation failed TIMECOP. (TIMECOP failures are not necessarily security issues; they can sometimes be resolved by, e.g., declaring that a rejection-sampling condition is safe to declassify.)

There is a separate page with more information about each stream cipher and each implementation. Designers and implementors interested in submitting new stream ciphers and new implementations should read the call for submissions.


Test results

Graphs: (bytes,cycles)
Cycles/byte for long messages
25%50%75%stream
-1.24?2.47?10.98?T:aes128ctr
-0.77?2.78?5.57?T:aes192ctr
-2.94?3.09?5.88?T:aes256ctr
0.46?3.09?8.97?tango642
-0.93?5.41?12.99?T:tpy
-10.98?5.41?36.18?T:hc256
5.415.415.72T:chacha8
3.56?5.88?16.24?chacha20
6.967.277.42T:trivium
1.70?8.19?15.93?T:nlsv2
8.358.508.50T:rabbit
-2.78?8.66?15.46?T:hc128
6.03?9.90?21.65?T:tpypy
6.34?9.90?23.50?T:lexv2
3.71?10.36?12.37?T:tpy6
9.28?10.67?14.69?T:snow20
-0.77?11.91?14.38?T:salsa208
3.87?11.91?12.52?T:sosemanuk
8.04?12.22?13.61?salsa208
8.19?12.37?13.30?chacha8
11.44?12.52?16.85?salsa2012
8.66?14.84?16.39?chacha12
5.26?16.54?25.05?salsa20
12.99?21.03?52.11?T:aes128estream
14.23?22.88?25.20?xsalsa20
-0.31?24.74?32.32?T:panama
23.35?52.11?59.38?T:aes256estream
57.98?94.94?202.71?T:amastrid
36.49?105.45?125.24?T:ocelot1
120.45121.07131.43T:ocelot2
Cycles/byte for 4096 bytes
25%50%75%stream
1.86?3.83?7.54?tango642
5.91?6.03?13.68?chacha20
3.83?6.49?11.02?T:aes128ctr
6.616.616.73T:chacha8
4.17?6.84?6.96?T:aes192ctr
4.41?7.19?7.31?T:aes256ctr
7.657.657.77T:trivium
8.12?8.81?14.50?T:nlsv2
8.708.818.81T:rabbit
9.86?9.97?15.54?T:tpy
10.32?10.32?20.53?T:lexv2
10.78?10.90?13.92?T:snow20
9.28?12.41?12.64?salsa208
12.4112.5213.22chacha8
7.65?12.52?12.64?T:tpy6
12.64?12.64?15.89?salsa2012
6.84?12.76?12.87?T:sosemanuk
7.65?12.99?13.10?T:salsa208
13.68?13.92?22.38?T:tpypy
10.32?14.96?14.96?chacha12
16.70?16.82?23.08?salsa20
20.99?21.22?44.53?T:aes128estream
14.61?23.19?23.31?T:hc128
16.93?23.31?23.43?xsalsa20
7.19?25.86?27.60?T:panama
32.24?32.35?55.20?T:hc256
30.96?52.42?52.53?T:aes256estream
90.92?97.30?177.89?T:amastrid
59.38?110.98?112.26?T:ocelot1
126.06126.40134.06T:ocelot2
Cycles/byte for 1536 bytes
25%50%75%stream
2.78?4.95?9.28?tango642
6.18?6.18?27.83?chacha20
8.358.358.35T:trivium
8.358.358.66T:chacha8
9.289.289.28T:rabbit
9.59?10.21?15.77?T:nlsv2
10.82?11.13?21.65?T:lexv2
11.13?11.44?14.53?T:snow20
12.6812.6812.68chacha8
9.59?12.68?12.68?salsa208
12.68?12.99?16.08?salsa2012
7.73?12.99?13.30?T:aes128ctr
8.35?13.92?13.92?T:aes256ctr
8.35?13.92?21.65?T:aes192ctr
8.66?14.84?15.15?T:salsa208
10.82?16.08?16.08?T:tpy6
17.01?17.32?23.19?salsa20
17.32?17.63?23.81?T:tpy
20.10?20.72?30.00?T:tpypy
21.34?21.34?44.84?T:aes128estream
8.04?22.57?29.69?T:sosemanuk
10.82?23.81?25.67?T:panama
17.63?24.12?24.12?xsalsa20
10.51?31.85?32.16?chacha12
31.54?53.19?53.19?T:aes256estream
32.47?53.50?53.81?T:hc128
76.69?77.00?121.53?T:hc256
95.25?99.27?183.69?T:amastrid
135.14135.76143.80T:ocelot2
68.65?192.97?193.28?T:ocelot1
Cycles/byte for 576 bytes
25%50%75%stream
4.95?8.25?8.25?tango642
8.25?8.25?14.84?chacha20
9.90?9.90?21.44?T:trivium
10.7210.7210.72T:rabbit
12.37?12.37?16.49?T:snow20
12.37?13.19?18.97?T:nlsv2
12.37?13.19?23.91?T:lexv2
13.1913.1913.19chacha8
13.19?13.19?16.49?salsa2012
9.90?13.19?28.04?salsa208
14.0214.0214.02T:chacha8
10.72?15.67?15.67?chacha12
17.32?17.32?23.91?salsa20
12.37?18.97?23.09?T:sosemanuk
11.55?19.79?20.62?T:salsa208
22.27?23.09?48.65?T:aes128estream
19.79?25.56?41.23?T:tpy6
18.97?26.39?26.39?xsalsa20
18.14?32.16?48.65?T:aes192ctr
18.97?32.16?32.16?T:aes256ctr
18.97?32.16?48.65?T:aes128ctr
37.93?37.93?46.18?T:tpy
38.76?38.76?51.13?T:tpypy
19.79?42.88?42.88?T:panama
32.99?55.25?98.96?T:aes256estream
109.68?112.15?198.74?T:amastrid
79.99?112.15?112.15?T:hc128
88.24?145.14?146.79?T:ocelot1
159.16159.16159.16T:ocelot2
196.27?197.09?277.08?T:hc256
Cycles/byte for 64 bytes
25%50%75%stream
14.84?22.27?22.27?chacha12
14.84?22.27?22.27?salsa2012
14.84?22.27?22.27?salsa208
22.27?22.27?29.69?salsa20
22.27?22.27?37.11?chacha8
22.27?29.69?29.69?chacha20
22.27?29.69?29.69?T:rabbit
22.27?29.69?37.11?T:snow20
29.69?29.69?37.11?T:trivium
29.69?37.11?59.38?T:aes128estream
37.11?37.11?51.95?T:lexv2
29.69?44.53?51.95?tango642
37.11?51.95?59.38?xsalsa20
51.95?59.38?66.80?T:nlsv2
59.38?74.22?118.75?T:sosemanuk
44.53?81.64?89.06?T:salsa208
81.6481.6481.64T:chacha8
51.95?89.06?126.17?T:aes256estream
126.17?148.44?148.44?T:tpy6
155.86?259.77?267.19?T:aes192ctr
155.86?259.77?363.67?T:aes256ctr
207.81?259.77?393.36?T:aes128ctr
267.19?274.61?311.72?T:tpypy
141.02?282.03?289.45?T:panama
296.88?296.88?333.98?T:tpy
311.72?319.14?519.53?T:amastrid
348.83?452.73?452.73?T:ocelot1
467.58467.58467.58T:ocelot2
690.23?935.16?942.58?T:hc128
1714.45?1721.88?2367.58?T:hc256
Cycles/byte for 8 bytes
25%50%75%stream
118.75?178.12?178.12?salsa208
118.75?178.12?237.50?T:aes128estream
118.75?178.12?237.50?chacha12
118.75?178.12?356.25?salsa2012
178.12178.12178.12chacha8
178.12178.12178.12T:rabbit
178.12?178.12?237.50?salsa20
178.12?178.12?237.50?T:trivium
178.12?237.50?237.50?chacha20
178.12?237.50?296.88?T:snow20
237.50?237.50?296.88?T:lexv2
237.50?296.88?296.88?T:aes256estream
296.88?296.88?356.25?T:nlsv2
296.88?356.25?356.25?tango642
296.88?415.62?415.62?xsalsa20
475.00?534.38?593.75?T:sosemanuk
356.25?653.12?712.50?T:salsa208
653.12653.12653.12T:chacha8
1068.751068.751128.12T:tpy6
1187.50?2018.75?2018.75?T:aes256ctr
1187.50?2018.75?2078.12?T:aes192ctr
2018.75?2078.12?3800.00?T:amastrid
2078.12?2078.12?2375.00?T:tpypy
1246.88?2137.50?3028.12?T:aes128ctr
1128.12?2256.25?2256.25?T:panama
2315.622315.622553.12T:tpy
2375.00?2909.38?2909.38?T:ocelot1
2909.382909.382968.75T:ocelot2
5521.88?7481.25?7540.62?T:hc128
13715.62?13834.38?19059.38?T:hc256