24 lines
868 B
JavaScript
24 lines
868 B
JavaScript
|
import { run, mark, utils } from 'micro-bmark';
|
||
|
import { generateData } from './_shared.js';
|
||
|
import { P256 } from '../lib/p256.js';
|
||
|
import { P384 } from '../lib/p384.js';
|
||
|
import { P521 } from '../lib/p521.js';
|
||
|
import { ed25519 } from '../lib/ed25519.js';
|
||
|
import { ed448 } from '../lib/ed448.js';
|
||
|
|
||
|
run(async () => {
|
||
|
const RAM = false
|
||
|
for (let kv of Object.entries({ P256, P384, P521, ed25519, ed448 })) {
|
||
|
const [name, curve] = kv;
|
||
|
console.log();
|
||
|
console.log(`\x1b[36m${name}\x1b[0m`);
|
||
|
if (RAM) utils.logMem();
|
||
|
await mark('init', 1, () => curve.utils.precompute(8));
|
||
|
const d = generateData(curve);
|
||
|
await mark('getPublicKey', 5000, () => curve.getPublicKey(d.priv));
|
||
|
await mark('sign', 5000, () => curve.sign(d.msg, d.priv));
|
||
|
await mark('verify', 500, () => curve.verify(d.sig, d.msg, d.pub));
|
||
|
if (RAM) utils.logMem();
|
||
|
}
|
||
|
});
|