21 lines
592 B
JavaScript
21 lines
592 B
JavaScript
|
var assert = require('assert');
|
||
|
var sec = require('../src/jsbn/sec');
|
||
|
var ecdsa = require('../').ecdsa;
|
||
|
|
||
|
var ecparams = sec('secp256k1');
|
||
|
|
||
|
test("Point multiplication", function () {
|
||
|
var G = ecparams.getG();
|
||
|
var n = ecparams.getN();
|
||
|
|
||
|
assert.ok(G.multiply(n).isInfinity(), "Gn is infinite");
|
||
|
|
||
|
var k = ecdsa.getBigRandom(n);
|
||
|
var P = G.multiply(k);
|
||
|
assert.ok(!P.isInfinity(), "kG is not infinite");
|
||
|
assert.ok(P.isOnCurve(), "kG on curve");
|
||
|
assert.ok(P.multiply(n).isInfinity(), "kGn is infinite");
|
||
|
|
||
|
assert.ok(P.validate(), "kG validates as a public key");
|
||
|
});
|