|
@ -49,12 +49,15 @@ ECKey.fromWIF = function (string) { |
|
|
ECKey.makeRandom = function (compressed, rng) { |
|
|
ECKey.makeRandom = function (compressed, rng) { |
|
|
rng = rng || randomBytes |
|
|
rng = rng || randomBytes |
|
|
|
|
|
|
|
|
var buffer = rng(32) |
|
|
var d |
|
|
typeForce('Buffer', buffer) |
|
|
|
|
|
assert.equal(buffer.length, 32, 'Expected 256-bit Buffer from RNG') |
|
|
|
|
|
|
|
|
|
|
|
var d = BigInteger.fromBuffer(buffer) |
|
|
do { |
|
|
d = d.mod(ECKey.curve.n) |
|
|
var buffer = rng(32) |
|
|
|
|
|
typeForce('Buffer', buffer) |
|
|
|
|
|
assert.equal(buffer.length, 32, 'Expected 256-bit Buffer from RNG') |
|
|
|
|
|
|
|
|
|
|
|
d = BigInteger.fromBuffer(buffer) |
|
|
|
|
|
} while (d.compareTo(ECKey.curve) >= 0) |
|
|
|
|
|
|
|
|
return new ECKey(d, compressed) |
|
|
return new ECKey(d, compressed) |
|
|
} |
|
|
} |
|
|