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; Gracemont (906a4-20); 2022 Intel Core i3-1215U, E cores; 4 x 1600MHz; alder2,little, supercop-20251222

[Page version: 20260126 20:10:59]

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: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
277302833529287
T:
jacfp127i
287682908929845
T:
kumjacfp127g
311373178032709
T:
prjfp127i
325543279233272
T:
hecfp127i
336583373833920
T:
curve2251
379253802938138
T:
gls254
383823893139516
T:
jacfp128bk
394763952139576
T:
gls254prot
398944038941288
T:
ecfp256e
431784324243302curve25519
431324351844363
T:
ecfp256h
439044445445001
T:
prjfp128bk
442494490345708
T:
hecfp128bk
443334492245661
T:
ecfp256s
444494505546085
T:
hecfp128fkt
446344530546101
T:
hecfp128i
471494773448633
T:
ecfp256q
479104801248156
T:
k277taa
539545407454245
T:
k298
686036927370168
T:
gls1271
709957105571155nistp256
738687395674043
T:
k277mon
115378115570115785
T:
kumfp127g
122088122232122405
T:
kummer
149513149826150214
T:
kumfp128g
198672199719201297
T:
ecfp256i
242716245261247980
T:
ed448goldilocks
347978351790356355
T:
sclaus1024
133509413414371351754
T:
ed521gs
149883415126261519792
T:
nist521gs
202804320342262040826
T:
claus
222004722378292253236
T:
sclaus2048
Cycles to compute a shared secret
25%50%75%system
373883743837495
T:
gls254
394173948039528
T:
gls254prot
478464794948044
T:
k277taa
538345393754048
T:
k298
737957384973936
T:
k277mon
115760116070116400
T:
jacfp128bk
118394118582118835
T:
kumfp127g
119017119332119593
T:
kumjacfp127g
122081122209122352
T:
kummer
135894136052136255
T:
curve2251
141580141858142220
T:
prjfp128bk
144699145247146356
T:
hecfp128bk
149646150172150474
T:
hecfp128fkt
155540155768157445
T:
kumfp128g
158228158375158542curve25519
171380175592177674
T:
gls1271
176272176755177412
T:
jacfp127i
184712185070185572
T:
ecfp256e
193021193652194376
T:
ecfp256i
193804194423195088
T:
ecfp256q
219152220005221190
T:
prjfp127i
223063223726224622
T:
hecfp127i
230194230791231602
T:
ecfp256h
262187263129264406
T:
ecfp256s
281431281573281737nistp256
324067324654325237
T:
hecfp128i
361038362132364040
T:
sclaus1024
847565862520874906
T:
ed448goldilocks
133570313430981350837
T:
ed521gs
150207115169861524830
T:
nist521gs
203045120357232041278
T:
claus
223984422639352284043
T:
sclaus2048