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; Golden Cove (90675-00); 2022 Intel Core i3-12100; 4 x 3300MHz; alder, supercop-20240716

[Page version: 20240726 23:45:37]

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
166341722418709
T:
kumjacfp127g
179851909320257
T:
jacfp127i
202262149423104
T:
prjfp127i
207102187523564
T:
hecfp127i
239552499626075
T:
jacfp128bk
255702639228124
T:
hecfp128fkt
270332830029758
T:
prjfp128bk
276722880430450
T:
hecfp128i
277312892930561
T:
hecfp128bk
296802995530596
T:
gls254
310513111631172
T:
gls254prot
334213350933662
T:
curve2251
382783831738365
T:
k277taa
422444229742350
T:
k298
498235053751038
T:
gls1271
523085239058455
T:
kummer
606026067160754
T:
k277mon
636636393064399
T:
kumfp127g
804708091181403
T:
kumfp128g
107319107801108425
T:
curve25519
139043139357139705
T:
ed448goldilocks
164261165942167469
T:
sclaus1024
177374178291179316
T:
nistp256
340240341868342957
T:
surf2113
597776604040613776
T:
ed521gs
767619773444778334
T:
nist521gs
876441881581888441
T:
sclaus2048
922864924073925799
T:
claus
Cycles to compute a shared secret
25%50%75%system
290062905629106
T:
gls254
309193097131023
T:
gls254prot
381453818638243
T:
k277taa
420704212342187
T:
k298
522055224252299
T:
kummer
605136058060649
T:
k277mon
657016587066004
T:
kumfp127g
663496650666684
T:
jacfp128bk
667566690767058
T:
kumjacfp127g
759997613776289
T:
prjfp128bk
780137822278435
T:
hecfp128bk
804428061480867
T:
hecfp128fkt
846068486685117
T:
kumfp128g
100874101095101460
T:
jacfp127i
106087107329107501
T:
curve25519
120538120750122279
T:
hecfp127i
120728120881121258
T:
prjfp127i
126022126660127919
T:
gls1271
132143133051133967
T:
curve2251
167353167561167844
T:
hecfp128i
165481169072169488
T:
sclaus1024
339210339989341510
T:
surf2113
408256408889409569
T:
ed448goldilocks
437158438243441455
T:
nistp256
596065600105604901
T:
ed521gs
768880775431780732
T:
nist521gs
880017888445889552
T:
sclaus2048
921133922295923887
T:
claus