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; Core 2 65nm (6fb); 2007 Intel Core 2 Duo T7300; 2 x 2000MHz; trident, supercop-20250922

[Page version: 20251103 11:56:15]

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.


Test results

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

Cycles to generate a key pair
25%50%75%system
422094282043495
T:
jacfp127i
438914445445165
T:
kumjacfp127g
487824933649872
T:
prjfp127i
499915039850994
T:
hecfp127i
748187534075974
T:
jacfp128bk
776337771877822
T:
curve25519
771047776878673
T:
ecfp256e
816148225283325
T:
ecfp256h
841178494385544
T:
ecfp256s
882408872589407
T:
prjfp128bk
884218904390353
T:
hecfp128i
886368939690908
T:
hecfp128fkt
889378974291006
T:
hecfp128bk
903419112692150
T:
ecfp256q
127012128756130596
T:
gls1271
132286132764133832
T:
curve2251
138987139216139448nistp256
180647180669180709
T:
kumfp127g
316190316380316573
T:
kumfp128g
321289323450324690
T:
sclaus1024
330258330904331901
T:
ed448goldilocks
376406378150380320
T:
ecfp256i
387191392330403539
T:
hector
417353417468417981
T:
kummer
416471418574420523
T:
surf127eps
757522761556765262
T:
surf2113
164934216558561660763
T:
sclaus2048
169967717005091701726
T:
ed521gs
195851019610501962842
T:
nist521gs
214062221442552178802
T:
claus
Cycles to compute a shared secret
25%50%75%system
183331183359183390
T:
kumfp127g
188349188394188411
T:
kumjacfp127g
243975244063244219
T:
jacfp128bk
262671262678262728
T:
curve25519
292073292325292589
T:
jacfp127i
299316299403299555
T:
prjfp128bk
307229307516307854
T:
hecfp128bk
312616314213329994
T:
gls1271
318724319131319403
T:
hecfp128fkt
326166326707326723
T:
kumfp128g
357391357451357561
T:
ecfp256e
371966372310372446
T:
ecfp256q
375235375374375565
T:
ecfp256i
380862380959381449
T:
prjfp127i
389734389821389997
T:
hecfp127i
411514415736417939
T:
surf127eps
417331417395418426
T:
kummer
429486431360432082
T:
sclaus1024
443249443428443609
T:
ecfp256h
463291463431463629
T:
ecfp256s
528695528729529008nistp256
550633554132554411
T:
curve2251
693886694025694827
T:
hecfp128i
747782761819763434
T:
surf2113
102861610296871032099
T:
ed448goldilocks
128064913042581321024
T:
hector
169299316944031694846
T:
ed521gs
195573819584091959789
T:
nist521gs
215558021930962198129
T:
sclaus2048
253298925431692600062
T:
claus