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: amd64; Tiger Lake (806c1); 2020 Intel Core i7-1165G7; 4 x 2800MHz; panther, supercop-20260217

[Page version: 20260315 18:26:26]

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 (or StQ1 starting with supercop-20260214), the median of many speed measurements (or StQ2 starting with supercop-20260214), the third quartile of many speed measurements (or StQ3 starting with supercop-20260214), and the name of the primitive. Measurements with large interquartile range (or stabilized interquartile range) 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
0.240.250.26aes256ctr
0.290.290.30chacha8
0.340.350.36salsa208
0.37?0.39?0.43?T:aes128ctr
0.390.400.41chacha12
0.450.460.47salsa2012
0.540.550.56T:speck6496ctr
0.50?0.55?0.59?T:aes192ctr
0.560.570.58T:speck64128ctr
0.590.600.61chacha20
0.60?0.63?0.67?tango642
0.650.660.68xsalsa20
0.660.670.67salsa20
0.660.670.68T:speck128128ctr
0.680.690.70T:speck128192ctr
0.700.710.72T:speck128256ctr
0.900.930.96T:simon6496ctr
0.940.971.00T:simon64128ctr
1.241.261.27T:simon128128ctr
1.311.331.34T:simon128256ctr
1.381.431.50T:hc128
1.40?1.54?1.70?T:tpy
1.911.992.07T:tpy6
1.952.002.06T:hc256
2.052.122.22T:sosemanuk
2.172.182.20T:trivium
2.182.232.28T:nlsv2
2.312.332.36T:cryptmtv3
2.282.342.38T:snow20
2.26?2.35?4.64?T:panama
2.34?2.56?2.70?T:tpypy
2.492.562.60T:rabbit
4.504.534.55T:lexv2
8.718.748.77T:aes128estream
13.7113.7613.84T:aes256estream
14.33?14.80?16.50?T:ocelot1
15.1515.9316.28T:ocelot2
28.5329.2629.96T:amastrid
Cycles/byte for 4096 bytes
25%50%75%stream
0.290.290.29chacha8
0.300.300.31aes256ctr
0.360.360.37salsa208
0.390.390.40chacha12
0.430.440.47T:aes128ctr
0.460.470.47salsa2012
0.560.570.57T:speck6496ctr
0.580.590.59T:speck64128ctr
0.600.600.60chacha20
0.680.680.68salsa20
0.690.690.70T:speck128128ctr
0.710.710.72T:speck128192ctr
0.730.730.74T:speck128256ctr
0.750.760.78tango642
0.770.780.78xsalsa20
0.790.810.84T:aes192ctr
1.101.111.12T:simon6496ctr
1.271.281.29T:simon64128ctr
1.481.491.49T:simon128128ctr
1.711.711.72T:simon128256ctr
2.272.282.29T:trivium
2.362.382.45T:sosemanuk
2.382.412.44T:snow20
2.422.442.46T:nlsv2
2.612.642.65T:rabbit
2.692.722.75T:tpy6
2.842.852.86T:cryptmtv3
3.03?3.05?4.73?T:panama
3.063.103.18T:tpy
3.933.953.97T:hc128
4.104.164.20T:tpypy
4.634.644.65T:lexv2
8.388.408.43T:hc256
8.778.798.81T:aes128estream
13.8213.8413.89T:aes256estream
16.2016.3917.58T:ocelot1
16.9417.4517.61T:ocelot2
30.3230.7831.04T:amastrid
Cycles/byte for 1536 bytes
25%50%75%stream
0.370.380.39chacha8
0.390.390.40aes256ctr
0.430.440.46salsa208
0.510.520.54T:aes128ctr
0.520.530.53chacha12
0.560.570.58salsa2012
0.590.600.60T:speck6496ctr
0.610.620.63T:speck64128ctr
0.730.730.74T:speck128128ctr
0.750.760.77T:speck128192ctr
0.770.770.78T:speck128256ctr
0.780.790.80chacha20
0.830.840.85salsa20
0.950.991.02tango642
1.101.111.13xsalsa20
1.221.241.29T:aes192ctr
1.381.401.44T:simon6496ctr
1.771.791.82T:simon64128ctr
1.851.871.89T:simon128128ctr
2.342.352.39T:simon128256ctr
2.442.452.46T:trivium
2.522.572.59T:snow20
2.702.752.78T:rabbit
2.902.942.99T:sosemanuk
2.882.952.99T:nlsv2
3.903.994.09T:tpy6
4.114.124.15T:cryptmtv3
4.144.204.30T:panama
4.834.844.86T:lexv2
5.495.655.77T:tpy
6.696.817.02T:tpypy
8.118.158.19T:hc128
8.828.848.87T:aes128estream
13.9313.9914.03T:aes256estream
18.8419.0619.28T:ocelot1
19.0419.0719.10T:hc256
19.5419.7820.11T:ocelot2
31.7532.9733.75T:amastrid
Cycles/byte for 576 bytes
25%50%75%stream
0.480.490.51chacha8
0.670.690.70chacha12
0.710.740.77salsa208
0.71?0.74?0.80?T:aes128ctr
0.740.750.76T:speck6496ctr
0.760.770.82aes256ctr
0.770.780.80T:speck64128ctr
0.930.930.95T:speck128128ctr
0.950.960.98T:speck128192ctr
0.981.001.03salsa2012
0.981.011.06T:speck128256ctr
1.021.041.05chacha20
1.551.571.61salsa20
1.521.591.68tango642
2.232.262.29xsalsa20
2.412.462.63T:aes192ctr
2.732.752.81T:simon6496ctr
2.792.832.88T:snow20
2.862.882.90T:trivium
3.013.073.17T:rabbit
3.053.093.15T:simon64128ctr
3.173.193.23T:simon128128ctr
3.423.443.49T:simon128256ctr
3.743.803.90T:nlsv2
4.164.214.47T:sosemanuk
4.574.584.61T:cryptmtv3
5.355.375.42T:lexv2
6.877.237.40T:tpy6
6.997.267.64T:panama
9.039.069.14T:aes128estream
12.4412.8213.03T:tpy
13.6913.9714.23T:tpypy
14.3114.3614.46T:aes256estream
19.2619.3719.50T:hc128
25.9526.2726.68T:ocelot2
25.6226.7127.41T:ocelot1
37.5238.7139.36T:amastrid
47.3347.4447.55T:hc256
Cycles/byte for 64 bytes
25%50%75%stream
2.362.422.57T:speck64128ctr
2.392.472.60T:speck6496ctr
2.923.013.21salsa208
2.923.043.24T:speck128128ctr
3.07?3.22?3.46?T:speck128192ctr
3.10?3.34?3.79?T:speck128256ctr
3.44?3.66?4.14?T:aes128ctr
3.863.923.97salsa2012
4.194.254.36chacha8
4.904.995.36aes256ctr
5.655.856.05salsa20
5.845.956.44chacha12
6.116.196.36T:simon6496ctr
7.257.367.64T:simon64128ctr
7.24?7.40?8.79?T:rabbit
7.887.988.08T:cryptmtv3
8.05?8.55?8.97?T:snow20
8.408.558.83T:trivium
8.78?9.03?10.02?tango642
9.099.199.32T:simon128128ctr
9.069.199.43chacha20
10.2610.3710.48T:simon128256ctr
11.7211.8311.99xsalsa20
11.7411.8712.20T:lexv2
11.7911.9212.11T:aes128estream
17.98?18.36?20.62?T:aes192ctr
18.3518.6118.92T:aes256estream
17.7418.6419.61T:nlsv2
19.5619.7420.65T:sosemanuk
46.1346.6748.24T:panama
46.5447.5548.51T:tpy6
97.4299.40103.47T:tpy
100.86102.78108.18T:tpypy
105.97107.93111.12T:ocelot2
106.29108.24113.13T:ocelot1
107.31108.79112.34T:amastrid
161.23163.59164.65T:hc128
410.14410.84411.63T:hc256
Cycles/byte for 8 bytes
25%50%75%stream
13.3913.8914.52T:speck64128ctr
14.48?15.53?20.55?T:speck6496ctr
17.60?18.06?20.10?T:speck128192ctr
17.5718.1619.43T:speck128256ctr
22.0122.5923.90T:speck128128ctr
27.67?29.64?32.78?T:aes128ctr
32.8333.6136.05chacha8
33.1734.1436.82salsa208
38.9339.8142.73aes256ctr
40.9741.7442.92T:simon6496ctr
42.0542.9544.47T:cryptmtv3
39.90?43.23?45.53?chacha12
44.0544.6445.34T:aes128estream
43.78?45.51?55.10?T:rabbit
44.7245.9147.42salsa2012
48.9449.7550.92T:simon64128ctr
52.8053.7255.67T:trivium
56.1757.0457.54chacha20
58.25?61.88?77.72?salsa20
63.7567.2369.85T:snow20
66.8367.5768.55T:lexv2
66.56?68.31?76.40?tango642
67.5069.3172.04T:aes256estream
74.6775.4276.65T:simon128128ctr
83.9984.8085.95T:simon128256ctr
99.07?101.62?111.64?T:nlsv2
105.29107.45109.31xsalsa20
144.36?147.47?160.70?T:aes192ctr
156.40157.99161.69T:sosemanuk
364.66369.59376.20T:tpy6
354.36370.74384.08T:panama
723.54734.86753.70T:amastrid
745.01755.62776.75T:ocelot1
758.69774.35799.99T:ocelot2
722.62?786.93?869.08?T:tpypy
772.66790.02836.08T:tpy
1286.421297.831310.14T:hc128
3269.713276.653284.24T:hc256