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; Bobcat (500f20); 2011 AMD E-450; 2 x 1650MHz; h4e450, supercop-20250922

[Page version: 20251015 23:19:42]

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: old (bytes,cycles)
Cycles/byte for long messages
25%50%75%stream
1.711.711.72tango642
3.353.353.37T:hc128
3.843.893.90T:tpy6
3.823.944.19T:tpy
4.084.094.11chacha8
4.454.474.48T:hc256
4.534.534.53salsa208
4.31?4.72?4.95?T:nlsv2
5.425.435.45T:snow20
5.445.445.44T:cryptmtv3
5.625.625.62chacha12
5.805.865.91T:panama
5.915.915.91T:trivium
6.306.326.32salsa2012
6.216.426.82T:sosemanuk
6.536.536.54T:rabbit
6.997.037.20T:tpypy
7.537.547.54T:lexv2
8.498.538.54T:speck6496ctr
8.608.618.62chacha20
8.838.858.87T:speck64128ctr
9.859.879.90salsa20
9.889.889.88xsalsa20
10.8010.8110.83T:speck128128ctr
11.1311.1411.15T:speck128192ctr
11.4711.4811.48T:speck128256ctr
14.4814.4914.50T:aes128estream
15.5415.5615.65T:simon6496ctr
16.6616.6816.69T:simon64128ctr
23.7923.8223.91T:simon128128ctr
23.6723.9924.07T:aes256estream
26.8426.8426.85T:simon128256ctr
36.8836.9837.08T:aes128ctr
40.2440.8841.83T:aes192ctr
40.4740.9441.25T:ocelot2
45.6345.7646.21T:aes256ctr
53.5153.9254.62T:ocelot1
65.84?72.11?84.58?T:amastrid
Cycles/byte for 4096 bytes
25%50%75%stream
2.022.022.03tango642
4.134.134.14chacha8
4.564.574.57salsa208
4.684.935.10T:nlsv2
5.195.195.20T:tpy6
5.625.625.63T:snow20
5.665.665.66chacha12
6.156.156.15T:trivium
6.206.206.39T:tpy
6.286.286.28T:cryptmtv3
6.356.356.36salsa2012
6.706.706.70T:rabbit
6.666.747.03T:sosemanuk
7.787.787.78T:lexv2
7.817.837.85T:panama
8.638.648.65T:speck6496ctr
8.668.668.66chacha20
8.968.968.98T:speck64128ctr
9.649.669.78T:tpypy
9.919.919.93salsa20
9.969.969.98T:hc128
10.0610.0610.06xsalsa20
10.9210.9210.93T:speck128128ctr
11.2511.2611.26T:speck128192ctr
11.5811.5811.59T:speck128256ctr
14.6014.6114.62T:aes128estream
16.4016.4116.47T:simon6496ctr
17.7517.7617.77T:simon64128ctr
21.4421.4521.46T:hc256
23.9224.1324.14T:aes256estream
25.3325.3625.41T:simon128128ctr
29.0429.0429.04T:simon128256ctr
38.3938.4338.46T:aes128ctr
42.1342.4043.01T:aes192ctr
42.9843.2443.41T:ocelot2
47.0247.0647.08T:aes256ctr
56.8456.9057.35T:ocelot1
76.3780.2883.36T:amastrid
Cycles/byte for 1536 bytes
25%50%75%stream
2.532.552.57tango642
4.204.204.21chacha8
4.624.624.62salsa208
5.365.375.61T:nlsv2
5.735.735.74chacha12
5.925.935.94T:snow20
6.416.426.42salsa2012
6.556.556.55T:trivium
6.996.996.99T:rabbit
7.367.387.46T:tpy6
7.377.417.77T:sosemanuk
8.208.208.39T:lexv2
8.268.268.27T:cryptmtv3
8.738.738.74chacha20
8.838.848.87T:speck6496ctr
9.159.169.19T:speck64128ctr
9.969.9610.19T:tpy
9.979.989.98salsa20
10.3710.3710.37xsalsa20
11.1011.1111.12T:speck128128ctr
11.0911.1311.21T:panama
11.4411.4411.45T:speck128192ctr
11.7511.7611.77T:speck128256ctr
14.0414.0514.35T:tpypy
14.8114.8214.83T:aes128estream
17.8017.8117.82T:simon6496ctr
19.5519.5619.57T:simon64128ctr
20.9720.9820.98T:hc128
24.1624.1824.20T:aes256estream
27.8527.8927.97T:simon128128ctr
32.7032.7032.70T:simon128256ctr
40.7140.9741.07T:aes128ctr
44.6744.7845.27T:aes192ctr
45.9146.5046.53T:ocelot2
47.9049.3049.36T:aes256ctr
49.7249.7349.74T:hc256
61.4361.9462.21T:ocelot1
86.69?90.34?99.47?T:amastrid
Cycles/byte for 576 bytes
25%50%75%stream
3.863.883.94tango642
4.384.434.49chacha8
4.774.774.77salsa208
5.985.985.98chacha12
6.586.586.60salsa2012
6.756.796.81T:snow20
7.017.047.28T:nlsv2
7.617.637.63T:trivium
7.747.747.74T:rabbit
9.089.089.13chacha20
9.289.289.29T:lexv2
9.269.299.64T:sosemanuk
9.329.339.43T:speck6496ctr
9.659.659.74T:speck64128ctr
9.779.779.80T:cryptmtv3
10.1410.1410.14salsa20
11.1911.1911.20xsalsa20
11.6111.6311.66T:speck128128ctr
11.9711.9812.02T:speck128192ctr
12.2512.2512.30T:speck128256ctr
13.1513.3513.53T:tpy6
15.3415.3615.36T:aes128estream
19.7719.9220.10T:panama
19.8419.9620.60T:tpy
23.5823.6824.24T:simon6496ctr
24.8824.9525.06T:aes256estream
24.9225.6525.83T:tpypy
32.6732.7532.84T:simon64128ctr
45.7245.9045.94T:simon128128ctr
46.9947.0547.08T:simon128256ctr
47.1147.4047.72T:aes128ctr
50.4150.4150.44T:hc128
50.5450.7851.00T:aes192ctr
53.4053.7755.17T:aes256ctr
57.8657.9158.05T:ocelot2
73.8075.1576.64T:ocelot1
88.87?111.18?113.88?T:amastrid
125.11125.18125.21T:hc256
Cycles/byte for 64 bytes
25%50%75%stream
5.975.986.45chacha8
6.416.416.41salsa208
7.957.958.22chacha12
8.448.488.52salsa2012
12.0012.0512.05salsa20
11.8312.0912.36chacha20
15.7815.8315.83T:speck6496ctr
16.2816.2816.58T:speck64128ctr
17.0017.0017.52T:rabbit
17.5017.7317.84T:snow20
17.9217.9218.08T:speck128128ctr
18.0918.5518.59T:speck128192ctr
18.6118.7519.00T:speck128256ctr
21.0321.0321.31T:trivium
21.0321.0521.47tango642
21.4521.4521.45xsalsa20
21.5821.7221.84T:aes128estream
23.1723.1723.17T:lexv2
28.2028.2028.20T:cryptmtv3
29.3429.4129.42T:sosemanuk
32.3832.3833.25T:simon6496ctr
32.8633.0033.31T:nlsv2
33.8634.1934.22T:aes256estream
34.6735.0535.55T:simon64128ctr
49.9849.9850.53T:simon128128ctr
56.9457.0657.41T:simon128256ctr
87.5689.0389.09T:tpy6
124.88126.88130.09T:aes256ctr
126.62127.38131.47T:aes192ctr
127.97131.16132.00T:aes128ctr
131.48132.98133.70T:panama
147.66147.86153.81T:tpy
174.52181.84182.28T:tpypy
217.06220.31220.97T:ocelot2
241.95249.84258.03T:ocelot1
258.19274.22276.94T:amastrid
427.19427.23427.41T:hc128
1090.001090.231090.75T:hc256
Cycles/byte for 8 bytes
25%50%75%stream
34.12?36.12?40.00?T:speck6496ctr
35.8836.7539.12T:speck64128ctr
38.0040.2540.50T:speck128256ctr
41.12?43.38?48.75?T:speck128192ctr
43.7544.0045.88T:speck128128ctr
50.88?52.88?58.75?chacha8
64.7564.7564.75salsa208
77.5077.5077.50chacha12
81.3881.3881.88salsa2012
84.6284.7584.75T:simon6496ctr
97.6298.8899.12T:aes128estream
99.2599.25101.12T:rabbit
106.62107.12108.12T:simon64128ctr
108.50108.88110.62chacha20
109.88109.88109.88salsa20
126.88126.88129.12T:trivium
127.12127.25127.75T:simon128128ctr
128.88131.38133.25T:aes256estream
136.12136.50136.50T:lexv2
139.62140.50143.62T:snow20
157.38157.75161.75tango642
168.00169.75174.62T:nlsv2
173.75173.75173.75T:cryptmtv3
173.50174.00174.00T:simon128256ctr
185.12185.12185.12xsalsa20
229.88230.12232.00T:sosemanuk
723.00724.25726.00T:tpy6
757.50771.75783.50T:aes256ctr
766.50784.75847.00T:aes192ctr
820.75840.75871.50T:aes128ctr
1023.001064.751082.75T:panama
1350.381393.501402.75T:ocelot2
1387.501471.501472.25T:tpy
1472.121525.501525.88T:tpypy
1561.751566.751715.88T:ocelot1
1705.881723.501752.50T:amastrid
3414.753416.003418.25T:hc128
8717.258722.628729.38T:hc256