From abcd174bd355b840cefa61e627bdc44424593e2a Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Tue, 23 Feb 2016 13:25:21 -0800 Subject: [PATCH] add random function. --- lib/bcoin/ec.js | 7 +++++++ lib/bcoin/hd.js | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/bcoin/ec.js b/lib/bcoin/ec.js index dae1bba3..c09b786b 100644 --- a/lib/bcoin/ec.js +++ b/lib/bcoin/ec.js @@ -5,6 +5,7 @@ */ var bcoin = require('../bcoin'); +var elliptic = require('elliptic'); var bn = require('bn.js'); var utils = bcoin.utils; var assert = utils.assert; @@ -31,6 +32,12 @@ ec.generate = function generate(options) { return { privateKey: priv, publicKey: pub }; }; +ec.random = function random(size) { + if (bcoin.crypto) + return bcoin.crypto.randomBytes(size); + return new Buffer(elliptic.rand(size)); +}; + ec.verify = function verify(msg, sig, key, historical) { if (key.getPublicKey) key = key.getPublicKey(); diff --git a/lib/bcoin/hd.js b/lib/bcoin/hd.js index 1aa47713..4cb6f7ff 100644 --- a/lib/bcoin/hd.js +++ b/lib/bcoin/hd.js @@ -75,7 +75,7 @@ function HDSeed(options) { options = options || {}; this.bits = options.bits || 128; - this.entropy = options.entropy || new Buffer(elliptic.rand(this.bits / 8)); + this.entropy = options.entropy || bcoin.ec.random(this.bits / 8); this.mnemonic = options.mnemonic || HDSeed._mnemonic(this.entropy); this.seed = this.createSeed(options.passphrase); } @@ -622,7 +622,7 @@ HDPrivateKey.prototype._generate = function _generate(privateKey, entropy) { privateKey = bcoin.keypair._fromSecret(privateKey).privateKey; if (!entropy) - entropy = new Buffer(elliptic.rand(32)); + entropy = bcoin.ec.random(32); return { version: network[this.network].prefixes.xprivkey,