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; Bonnell (106ca); 2010 Intel Atom N455; 1 x 1000MHz; h2atom, supercop-20251222

[Page version: 20260503 04:12:56]

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 (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 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
126653127044127683
T:
jacfp127i
132394132820133485
T:
kumjacfp127g
139298139760140335
T:
prjfp127i
142856143284143998
T:
hecfp127i
217893218382219021
T:
jacfp128bk
233752236433239414
T:
ecfp256e
244913245864247045
T:
prjfp128bk
245763246606247968
T:
hecfp128fkt
246241246982248123
T:
hecfp128i
248656250164254631
T:
curve2251
249958251442253014
T:
hecfp128bk
255032258029261262
T:
ecfp256s
259792260157261610curve25519
259913262281265120
T:
ecfp256h
262936266189269425
T:
ecfp256q
311823315170318086
T:
gls1271
425113426059427111nistp256
548841548891550331
T:
kumfp127g
103568510363771037625
T:
kumfp128g
115028111571301166174
T:
ecfp256i
131277813147001316952
T:
ed448goldilocks
172912817297701732154
T:
kummer
207951121000182116871
T:
sclaus1024
724636272499167260967
T:
ed521gs
858940685958978608994
T:
nist521gs
107554521084284210924369
T:
sclaus2048
121436441218056112218061
T:
claus
Cycles to compute a shared secret
25%50%75%system
556644556663557332
T:
kumfp127g
559417559462560182
T:
kumjacfp127g
726264726405727668
T:
jacfp128bk
753610762959768139
T:
gls1271
863432863706864999
T:
prjfp128bk
886566887325889478
T:
hecfp128bk
921414922383924305
T:
hecfp128fkt
932004932592935001
T:
jacfp127i
101921810192871019808curve25519
101991410206361024941
T:
curve2251
106132210618321062473
T:
kumfp128g
108623510864021089617
T:
ecfp256e
110806111086361110827
T:
prjfp127i
113037211305641135447
T:
ecfp256q
114141311418021143941
T:
hecfp127i
115739411575021161265
T:
ecfp256i
135810213599321419782
T:
ecfp256s
143165714323011435301
T:
ecfp256h
171109617115931712770nistp256
172847017291221730683
T:
kummer
195467919556041957218
T:
hecfp128i
211711121257852149423
T:
sclaus1024
447373744746724482041
T:
ed448goldilocks
724456272461617257590
T:
ed521gs
858797285930388607878
T:
nist521gs
109189671094465010964734
T:
sclaus2048
121491271219545212235590
T:
claus