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 public-key Diffie–Hellman secret-sharing systems on one machine: amd64; Zen (820f01); 2020 AMD Athlon Silver 3050e; 2 x 1400MHz; dali, supercop-20240808

[Page version: 20240828 00:45:27]

eBATS (ECRYPT Benchmarking of Asymmetric Systems) is a project to measure the performance of public-key systems. This page presents benchmark results collected in eBATS for public-key Diffie–Hellman secret-sharing systems:

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 Diffie–Hellman system and each implementation. Designers and implementors interested in submitting new Diffie–Hellman systems and new implementations of existing systems should read the call for submissions.


Implementation notes

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
262392670927512
T:
jacfp127i
266562739928258
T:
kumjacfp127g
300723069231441
T:
prjfp127i
307843151032447
T:
hecfp127i
353603597036527
T:
jacfp128bk
389823962940623
T:
prjfp128bk
389563981240949
T:
hecfp128fkt
389463986141370
T:
hecfp128bk
403774095142660
T:
curve2251
396074112449213
T:
hecfp128i
436604402144260
T:
gls254
445004467844702
T:
gls254prot
558715590356038
T:
k277taa
645446480465198
T:
k298
647316563466238
T:
gls1271
897658982389883
T:
k277mon
101690101781101866
T:
kumfp127g
105331105331105357
T:
kummer
132895133031133107
T:
kumfp128g
144599144632150520
T:
curve25519
198796200930202597
T:
sclaus1024
202297202684203022
T:
ed448goldilocks
273243273685273918
T:
nistp256
454525456612457116
T:
surf2113
925177926722929821
T:
ed521gs
9900279978111005365
T:
sclaus2048
110480711066621109590
T:
nist521gs
117557811787731182234
T:
claus
Cycles to compute a shared secret
25%50%75%system
423494236342378
T:
gls254
444394457344629
T:
gls254prot
558495601456119
T:
k277taa
644826459064723
T:
k298
896998973089783
T:
k277mon
103600103678103806
T:
jacfp128bk
104474104497104592
T:
kumfp127g
105835105841105841
T:
kummer
106349106376106417
T:
kumjacfp127g
126410126637126725
T:
prjfp128bk
129448129521129712
T:
hecfp128bk
133855134031134269
T:
hecfp128fkt
138651139126139247
T:
kumfp128g
157307157555159080
T:
curve25519
159489160140160748
T:
curve2251
162026162148162349
T:
jacfp127i
163411164801166909
T:
gls1271
199857202433206842
T:
sclaus1024
203493203585203682
T:
prjfp127i
207115207207207573
T:
hecfp127i
285482?285900?362829?
T:
hecfp128i
455207455397455848
T:
surf2113
591794592260592855
T:
ed448goldilocks
672723673494674160
T:
nistp256
925249926635927568
T:
ed521gs
98177510067931024287
T:
sclaus2048
110544711069311111182
T:
nist521gs
118075711844741185232
T:
claus