benchmark: reflect current OpenSSL in crypto key benchmarks · nodejs/node@7dee3ff

3 files changed

lines changed

Original file line numberDiff line numberDiff line change

@@ -1,6 +1,7 @@

11

'use strict';

22
33

const common = require('../common.js');

4+

const { hasOpenSSL } = require('../../test/common/crypto.js');

45

const crypto = require('crypto');

56

const fs = require('fs');

67

const path = require('path');

@@ -21,11 +22,14 @@ const keyFixtures = {

2122

'ec': readKeyPair('ec_p256_public', 'ec_p256_private'),

2223

'rsa': readKeyPair('rsa_public_2048', 'rsa_private_2048'),

2324

'ed25519': readKeyPair('ed25519_public', 'ed25519_private'),

24-

'ml-dsa-44': readKeyPair('ml_dsa_44_public', 'ml_dsa_44_private'),

2525

};

2626
27+

if (hasOpenSSL(3, 5)) {

28+

keyFixtures['ml-dsa-44'] = readKeyPair('ml_dsa_44_public', 'ml_dsa_44_private');

29+

}

30+
2731

const bench = common.createBenchmark(main, {

28-

keyType: ['rsa', 'ec', 'ed25519', 'ml-dsa-44'],

32+

keyType: Object.keys(keyFixtures),

2933

keyFormat: ['pkcs8', 'spki', 'der-pkcs8', 'der-spki', 'jwk-public', 'jwk-private'],

3034

n: [1e3],

3135

});

Original file line numberDiff line numberDiff line change

@@ -1,6 +1,7 @@

11

'use strict';

22
33

const common = require('../common.js');

4+

const { hasOpenSSL } = require('../../test/common/crypto.js');

45

const crypto = require('crypto');

56

const fs = require('fs');

67

const path = require('path');

@@ -14,16 +15,19 @@ const keyFixtures = {

1415

'ec': readKey('ec_p256_private'),

1516

'rsa': readKey('rsa_private_2048'),

1617

'ed25519': readKey('ed25519_private'),

17-

'ml-dsa-44': readKey('ml_dsa_44_private'),

1818

};

1919
20+

if (hasOpenSSL(3, 5)) {

21+

keyFixtures['ml-dsa-44'] = readKey('ml_dsa_44_private');

22+

}

23+
2024

const data = crypto.randomBytes(256);

2125
2226

let pems;

2327

let keyObjects;

2428
2529

const bench = common.createBenchmark(main, {

26-

keyType: ['rsa', 'ec', 'ed25519', 'ml-dsa-44'],

30+

keyType: Object.keys(keyFixtures),

2731

mode: ['sync', 'async', 'async-parallel'],

2832

keyFormat: ['pem', 'der', 'jwk', 'keyObject', 'keyObject.unique'],

2933

n: [1e3],

Original file line numberDiff line numberDiff line change

@@ -1,6 +1,7 @@

11

'use strict';

22
33

const common = require('../common.js');

4+

const { hasOpenSSL } = require('../../test/common/crypto.js');

45

const crypto = require('crypto');

56

const fs = require('fs');

67

const path = require('path');

@@ -21,16 +22,19 @@ const keyFixtures = {

2122

'ec': readKeyPair('ec_p256_public', 'ec_p256_private'),

2223

'rsa': readKeyPair('rsa_public_2048', 'rsa_private_2048'),

2324

'ed25519': readKeyPair('ed25519_public', 'ed25519_private'),

24-

'ml-dsa-44': readKeyPair('ml_dsa_44_public', 'ml_dsa_44_private'),

2525

};

2626
27+

if (hasOpenSSL(3, 5)) {

28+

keyFixtures['ml-dsa-44'] = readKeyPair('ml_dsa_44_public', 'ml_dsa_44_private');

29+

}

30+
2731

const data = crypto.randomBytes(256);

2832
2933

let pems;

3034

let keyObjects;

3135
3236

const bench = common.createBenchmark(main, {

33-

keyType: ['rsa', 'ec', 'ed25519', 'ml-dsa-44'],

37+

keyType: Object.keys(keyFixtures),

3438

mode: ['sync', 'async', 'async-parallel'],

3539

keyFormat: ['pem', 'der', 'jwk', 'keyObject', 'keyObject.unique'],

3640

n: [1e3],