crypto: rename ec to secp256k1.

This commit is contained in:
Christopher Jeffrey 2017-06-27 02:48:19 -07:00
parent 5d6e089c92
commit fa3e98b274
No known key found for this signature in database
GPG Key ID: 8962AB9DE6666BBD
27 changed files with 108 additions and 108 deletions

View File

@ -34,7 +34,7 @@
* @property {Function} coinview
*
* @property {Object} crypto
* @property {Object} ec
* @property {Object} secp256k1
* @property {Object} schnorr
*
* @property {Object} db
@ -167,7 +167,7 @@ bcoin.coinview = require('./coins/coinview');
// Crypto
bcoin.crypto = require('./crypto');
bcoin.bn = require('./crypto/bn');
bcoin.ec = require('./crypto/ec');
bcoin.secp256k1 = require('./crypto/secp256k1');
bcoin.schnorr = require('./crypto/schnorr');
// DB

View File

@ -34,7 +34,7 @@
* @property {Function} coinview
*
* @property {Object} crypto
* @property {Object} ec
* @property {Object} secp256k1
* @property {Object} schnorr
*
* @property {Object} db
@ -187,7 +187,7 @@ bcoin.define('coinview', './coins/coinview');
// Crypto
bcoin.define('crypto', './crypto');
bcoin.define('bn', './crypto/bn');
bcoin.define('ec', './crypto/ec');
bcoin.define('secp256k1', './crypto/secp256k1');
bcoin.define('schnorr', './crypto/schnorr');
// DB

View File

@ -12,7 +12,7 @@
*/
var assert = require('assert');
var ec = require('../crypto/ec');
var secp256k1 = require('../crypto/secp256k1');
var encoding = require('../utils/encoding');
var consensus = require('../protocol/consensus');
@ -323,7 +323,7 @@ function publicKeyVerify(key) {
if (key.length !== 65)
return false;
return ec.publicKeyVerify(key);
return secp256k1.publicKeyVerify(key);
default:
return false;
}
@ -346,7 +346,7 @@ function compressKey(key) {
break;
case 0x04:
// Compress the key normally.
out = ec.publicKeyConvert(key, true);
out = secp256k1.publicKeyConvert(key, true);
// Store the oddness.
// Pseudo-hybrid format.
out[0] = 0x04 | (key[64] & 0x01);
@ -387,7 +387,7 @@ function decompressKey(key) {
}
// Decompress the key.
out = ec.publicKeyConvert(key, false);
out = secp256k1.publicKeyConvert(key, false);
// Reset the first byte so as not to
// mutate the original buffer.

View File

@ -1,21 +0,0 @@
/*!
* ec.js - ecdsa wrapper for secp256k1 and elliptic
* Copyright (c) 2014-2017, Christopher Jeffrey (MIT License).
* https://github.com/bcoin-org/bcoin
*/
'use strict';
var secp256k1;
if (+process.env.BCOIN_USE_ELLIPTIC !== 1) {
try {
secp256k1 = require('secp256k1/bindings');
} catch (e) {
;
}
}
module.exports = secp256k1
? require('./ec-secp256k1')
: require('./ec-elliptic');

View File

@ -321,11 +321,11 @@ exports.rsa = require('./rsa');
exports.ecdsa = require('./ecdsa');
/**
* ec module
* @see module:crypto/ec
* secp256k1 module
* @see module:crypto/secp256k1
*/
exports.ec = require('./ec');
exports.secp256k1 = require('./secp256k1');
/**
* schnorr module

View File

@ -1,5 +1,5 @@
/*!
* ec.js - ecdsa wrapper for elliptic
* secp256k1-elliptic.js - wrapper for elliptic
* Copyright (c) 2014-2015, Fedor Indutny (MIT License)
* Copyright (c) 2014-2017, Christopher Jeffrey (MIT License).
* https://github.com/bcoin-org/bcoin
@ -15,7 +15,7 @@ var BN = require('./bn');
var curve = secp256k1.curve;
/**
* @exports crypto/ec-elliptic
* @exports crypto/secp256k1-elliptic
* @ignore
*/

View File

@ -1,5 +1,5 @@
/*!
* ec-secp256k1.js - ecdsa wrapper for secp256k1
* secp256k1-native.js - wrapper for secp256k1-node
* Copyright (c) 2014-2015, Fedor Indutny (MIT License)
* Copyright (c) 2014-2017, Christopher Jeffrey (MIT License).
* https://github.com/bcoin-org/bcoin
@ -12,7 +12,7 @@ var backend = require('./backend');
var secp256k1 = require('secp256k1');
/**
* @exports crypto/ec
* @exports crypto/secp256k1
*/
var ec = exports;

21
lib/crypto/secp256k1.js Normal file
View File

@ -0,0 +1,21 @@
/*!
* secp256k1.js - ecdsa wrapper for secp256k1 and elliptic
* Copyright (c) 2014-2017, Christopher Jeffrey (MIT License).
* https://github.com/bcoin-org/bcoin
*/
'use strict';
var native;
if (+process.env.BCOIN_USE_ELLIPTIC !== 1) {
try {
native = require('secp256k1/bindings');
} catch (e) {
;
}
}
module.exports = native
? require('./secp256k1-native')
: require('./secp256k1-elliptic');

View File

@ -9,7 +9,7 @@
var assert = require('assert');
var util = require('../utils/util');
var crypto = require('../crypto/crypto');
var ec = require('../crypto/ec');
var secp256k1 = require('../crypto/secp256k1');
var Network = require('../protocol/network');
var StaticWriter = require('../utils/staticwriter');
var BufferReader = require('../utils/reader');
@ -83,7 +83,7 @@ HDPrivateKey.prototype.fromOptions = function fromOptions(options) {
this.childIndex = options.childIndex;
this.chainCode = options.chainCode;
this.privateKey = options.privateKey;
this.publicKey = ec.publicKeyCreate(options.privateKey, true);
this.publicKey = secp256k1.publicKeyCreate(options.privateKey, true);
return this;
};
@ -213,7 +213,7 @@ HDPrivateKey.prototype.derive = function derive(index, hardened) {
right = hash.slice(32, 64);
try {
key = ec.privateKeyTweakAdd(this.privateKey, left);
key = secp256k1.privateKeyTweakAdd(this.privateKey, left);
} catch (e) {
return this.derive(index + 1);
}
@ -228,7 +228,7 @@ HDPrivateKey.prototype.derive = function derive(index, hardened) {
child.childIndex = index;
child.chainCode = right;
child.privateKey = key;
child.publicKey = ec.publicKeyCreate(key, true);
child.publicKey = secp256k1.publicKeyCreate(key, true);
common.cache.set(id, child);
@ -470,7 +470,7 @@ HDPrivateKey.prototype.fromSeed = function fromSeed(seed, network) {
right = hash.slice(32, 64);
// Only a 1 in 2^127 chance of happening.
if (!ec.privateKeyVerify(left))
if (!secp256k1.privateKeyVerify(left))
throw new Error('Master private key is invalid.');
this.network = Network.get(network);
@ -479,7 +479,7 @@ HDPrivateKey.prototype.fromSeed = function fromSeed(seed, network) {
this.childIndex = 0;
this.chainCode = right;
this.privateKey = left;
this.publicKey = ec.publicKeyCreate(left, true);
this.publicKey = secp256k1.publicKeyCreate(left, true);
return this;
};
@ -559,7 +559,7 @@ HDPrivateKey.prototype.fromKey = function fromKey(key, entropy, network) {
this.childIndex = 0;
this.chainCode = entropy;
this.privateKey = key;
this.publicKey = ec.publicKeyCreate(key, true);
this.publicKey = secp256k1.publicKeyCreate(key, true);
return this;
};
@ -582,7 +582,7 @@ HDPrivateKey.fromKey = function fromKey(key, entropy, network) {
*/
HDPrivateKey.generate = function generate(network) {
var key = ec.generatePrivateKey();
var key = secp256k1.generatePrivateKey();
var entropy = crypto.randomBytes(32);
return HDPrivateKey.fromKey(key, entropy, network);
};
@ -617,7 +617,7 @@ HDPrivateKey.prototype.fromReader = function fromReader(br, network) {
this.chainCode = br.readBytes(32);
assert(br.readU8() === 0);
this.privateKey = br.readBytes(32);
this.publicKey = ec.publicKeyCreate(this.privateKey, true);
this.publicKey = secp256k1.publicKeyCreate(this.privateKey, true);
br.verifyChecksum();

View File

@ -9,7 +9,7 @@
var assert = require('assert');
var util = require('../utils/util');
var crypto = require('../crypto/crypto');
var ec = require('../crypto/ec');
var secp256k1 = require('../crypto/secp256k1');
var Network = require('../protocol/network');
var StaticWriter = require('../utils/staticwriter');
var BufferReader = require('../utils/reader');
@ -180,7 +180,7 @@ HDPublicKey.prototype.derive = function derive(index, hardened) {
right = hash.slice(32, 64);
try {
key = ec.publicKeyTweakAdd(this.publicKey, left, true);
key = secp256k1.publicKeyTweakAdd(this.publicKey, left, true);
} catch (e) {
return this.derive(index + 1);
}

View File

@ -11,7 +11,7 @@ var co = require('../utils/co');
var crypto = require('../crypto/crypto');
var assert = require('assert');
var common = require('../blockchain/common');
var ec = require('../crypto/ec');
var secp256k1 = require('../crypto/secp256k1');
var Amount = require('../btc/amount');
var NetAddress = require('../primitives/netaddress');
var Script = require('../script/script');
@ -1980,7 +1980,7 @@ RPC.prototype.createMultisig = async function createMultisig(args, help) {
if (!key)
throw new RPCError(errs.TYPE_ERROR, 'Invalid key.');
if (!ec.publicKeyVerify(key))
if (!secp256k1.publicKeyVerify(key))
throw new RPCError(errs.INVALID_ADDRESS_OR_KEY, 'Invalid key.');
keys[i] = key;
@ -2067,7 +2067,7 @@ RPC.prototype.verifyMessage = async function verifyMessage(args, help) {
msg = Buffer.from(MAGIC_STRING + msg, 'utf8');
msg = crypto.hash256(msg);
key = ec.recover(msg, sig, 0, true);
key = secp256k1.recover(msg, sig, 0, true);
if (!key)
return false;

View File

@ -15,7 +15,7 @@ var util = require('../utils/util');
var co = require('../utils/co');
var crypto = require('../crypto/crypto');
var packets = require('./packets');
var ec = require('../crypto/ec');
var secp256k1 = require('../crypto/secp256k1');
var StaticWriter = require('../utils/staticwriter');
var base58 = require('../utils/base58');
var encoding = require('../utils/encoding');
@ -69,7 +69,7 @@ function BIP150(bip151, host, outbound, db, key) {
this.outbound = outbound;
this.db = db;
this.privateKey = key;
this.publicKey = ec.publicKeyCreate(key, true);
this.publicKey = secp256k1.publicKeyCreate(key, true);
this.peerIdentity = null;
this.challengeReceived = false;
@ -139,10 +139,10 @@ BIP150.prototype.challenge = function challenge(hash) {
this.emit('auth');
}
sig = ec.sign(msg, this.privateKey);
sig = secp256k1.sign(msg, this.privateKey);
// authreply
return ec.fromDER(sig);
return secp256k1.fromDER(sig);
};
/**
@ -167,10 +167,10 @@ BIP150.prototype.reply = function reply(data) {
if (!this.peerIdentity)
return crypto.randomBytes(32);
sig = ec.toDER(data);
sig = secp256k1.toDER(data);
msg = this.hash(this.output.sid, type, this.peerIdentity);
result = ec.verify(msg, sig, this.peerIdentity);
result = secp256k1.verify(msg, sig, this.peerIdentity);
if (!result)
return crypto.randomBytes(32);

View File

@ -19,7 +19,7 @@ var crypto = require('../crypto/crypto');
var assert = require('assert');
var chachapoly = require('../crypto/chachapoly');
var packets = require('./packets');
var ec = require('../crypto/ec');
var secp256k1 = require('../crypto/secp256k1');
var StaticWriter = require('../utils/staticwriter');
var BufferReader = require('../utils/reader');
var encoding = require('../utils/encoding');
@ -61,7 +61,7 @@ function BIP151Stream(cipher) {
return new BIP151Stream(cipher);
this.cipher = BIP151.ciphers.CHACHAPOLY;
this.privateKey = ec.generatePrivateKey();
this.privateKey = secp256k1.generatePrivateKey();
this.publicKey = null;
this.secret = null;
this.prk = null;
@ -95,7 +95,7 @@ BIP151Stream.prototype.init = function init(publicKey) {
var bw = new StaticWriter(33);
this.publicKey = publicKey;
this.secret = ec.ecdh(this.publicKey, this.privateKey);
this.secret = secp256k1.ecdh(this.publicKey, this.privateKey);
bw.writeBytes(this.secret);
bw.writeU8(this.cipher);
@ -208,7 +208,7 @@ BIP151Stream.prototype.update = function update() {
*/
BIP151Stream.prototype.getPublicKey = function getPublicKey() {
return ec.publicKeyCreate(this.privateKey, true);
return secp256k1.publicKeyCreate(this.privateKey, true);
};
/**

View File

@ -20,7 +20,7 @@ var BIP150 = require('./bip150');
var BIP151 = require('./bip151');
var BIP152 = require('./bip152');
var Bloom = require('../utils/bloom');
var ec = require('../crypto/ec');
var secp256k1 = require('../crypto/secp256k1');
var Lock = require('../utils/lock');
var Network = require('../protocol/network');
var Peer = require('./peer');
@ -233,7 +233,7 @@ Pool.prototype._open = async function _open() {
this.logger.info('Pool loaded (maxpeers=%d).', this.options.maxOutbound);
if (this.options.bip150) {
key = ec.publicKeyCreate(this.options.identityKey, true);
key = secp256k1.publicKeyCreate(this.options.identityKey, true);
this.logger.info('Identity public key: %s.', key.toString('hex'));
this.logger.info('Identity address: %s.', BIP150.address(key));
}
@ -3754,7 +3754,7 @@ function PoolOptions(options) {
this.bip150 = false;
this.authPeers = [];
this.knownPeers = {};
this.identityKey = ec.generatePrivateKey();
this.identityKey = secp256k1.generatePrivateKey();
this.banScore = common.BAN_SCORE;
this.banTime = common.BAN_TIME;
this.feeRate = -1;
@ -3949,7 +3949,7 @@ PoolOptions.prototype.fromOptions = function fromOptions(options) {
if (options.identityKey) {
assert(Buffer.isBuffer(options.identityKey),
'Identity key must be a buffer.');
assert(ec.privateKeyVerify(options.identityKey),
assert(secp256k1.privateKeyVerify(options.identityKey),
'Invalid identity key.');
this.identityKey = options.identityKey;
}

View File

@ -13,7 +13,7 @@ var util = require('../utils/util');
var Network = require('../protocol/network');
var Logger = require('./logger');
var workerPool = require('../workers/workerpool').pool;
var ec = require('../crypto/ec');
var secp256k1 = require('../crypto/secp256k1');
var native = require('../utils/native');
var Config = require('./config');
@ -181,7 +181,7 @@ Node.prototype.handlePreopen = async function handlePreopen() {
Node.prototype.handleOpen = async function handleOpen() {
this.startTime = util.now();
if (!ec.binding) {
if (!secp256k1.binding) {
this.logger.warning('Warning: secp256k1-node was not built.');
this.logger.warning('Verification will be slow.');
}

View File

@ -17,7 +17,7 @@ var base58 = require('../utils/base58');
var Script = require('../script/script');
var Address = require('./address');
var Output = require('./output');
var ec = require('../crypto/ec');
var secp256k1 = require('../crypto/secp256k1');
/**
* Represents a key ring which amounts to an address.
@ -127,7 +127,7 @@ KeyRing.prototype.refresh = function refresh() {
KeyRing.prototype.fromPrivate = function fromPrivate(key, compressed, network) {
assert(Buffer.isBuffer(key), 'Private key must be a buffer.');
assert(ec.privateKeyVerify(key), 'Not a valid private key.');
assert(secp256k1.privateKeyVerify(key), 'Not a valid private key.');
if (typeof compressed !== 'boolean') {
network = compressed;
@ -136,7 +136,7 @@ KeyRing.prototype.fromPrivate = function fromPrivate(key, compressed, network) {
this.network = Network.get(network);
this.privateKey = key;
this.publicKey = ec.publicKeyCreate(key, compressed !== false);
this.publicKey = secp256k1.publicKeyCreate(key, compressed !== false);
return this;
};
@ -162,7 +162,7 @@ KeyRing.fromPrivate = function fromPrivate(key, compressed, network) {
KeyRing.prototype.fromPublic = function fromPublic(key, network) {
assert(Buffer.isBuffer(key), 'Public key must be a buffer.');
assert(ec.publicKeyVerify(key), 'Not a valid public key.');
assert(secp256k1.publicKeyVerify(key), 'Not a valid public key.');
this.network = Network.get(network);
this.publicKey = key;
return this;
@ -183,7 +183,7 @@ KeyRing.prototype.generate = function(compressed, network) {
compressed = null;
}
key = ec.generatePrivateKey();
key = secp256k1.generatePrivateKey();
return this.fromKey(key, compressed, network);
};
@ -704,7 +704,7 @@ KeyRing.prototype.getRedeem = function(hash) {
KeyRing.prototype.sign = function sign(msg) {
assert(this.privateKey, 'Cannot sign without private key.');
return ec.sign(msg, this.privateKey);
return secp256k1.sign(msg, this.privateKey);
};
/**
@ -715,7 +715,7 @@ KeyRing.prototype.sign = function sign(msg) {
*/
KeyRing.prototype.verify = function verify(msg, sig) {
return ec.verify(msg, sig, this.publicKey);
return secp256k1.verify(msg, sig, this.publicKey);
};
/**
@ -894,10 +894,10 @@ KeyRing.prototype.fromReader = function fromReader(br, network) {
if (key.length === 32) {
compressed = br.readU8() === 1;
this.privateKey = key;
this.publicKey = ec.publicKeyCreate(key, compressed);
this.publicKey = secp256k1.publicKeyCreate(key, compressed);
} else {
this.publicKey = key;
assert(ec.publicKeyVerify(key), 'Invalid public key.');
assert(secp256k1.publicKeyVerify(key), 'Invalid public key.');
}
script = br.readVarBytes();

View File

@ -11,7 +11,7 @@ var assert = require('assert');
var util = require('../utils/util');
var encoding = require('../utils/encoding');
var crypto = require('../crypto/crypto');
var ec = require('../crypto/ec');
var secp256k1 = require('../crypto/secp256k1');
var Amount = require('../btc/amount');
var Network = require('../protocol/network');
var Script = require('../script/script');
@ -740,7 +740,7 @@ TX.prototype.checksig = function checksig(index, prev, value, sig, key, version)
type = sig[sig.length - 1];
hash = this.signatureHash(index, prev, value, type, version);
return ec.verify(hash, sig.slice(0, -1), key);
return secp256k1.verify(hash, sig.slice(0, -1), key);
};
/**
@ -767,7 +767,7 @@ TX.prototype.signature = function signature(index, prev, value, key, type, versi
hash = this.signatureHash(index, prev, value, type, version);
sig = ec.sign(hash, key);
sig = secp256k1.sign(hash, key);
bw = new StaticWriter(sig.length + 1);
bw.writeBytes(sig);

View File

@ -14,7 +14,7 @@
var assert = require('assert');
var BN = require('../crypto/bn');
var util = require('../utils/util');
var ec = require('../crypto/ec');
var secp256k1 = require('../crypto/secp256k1');
/**
* Script opcodes.
@ -347,7 +347,7 @@ exports.isLowDER = function isLowDER(sig) {
if (!exports.isSignatureEncoding(sig))
return false;
return ec.isLowS(sig.slice(0, -1));
return secp256k1.isLowS(sig.slice(0, -1));
};
/**

View File

@ -21,7 +21,7 @@ var Opcode = require('./opcode');
var Stack = require('./stack');
var common = require('./common');
var encoding = require('../utils/encoding');
var ec = require('../crypto/ec');
var secp256k1 = require('../crypto/secp256k1');
var Address = require('../primitives/address');
var opcodes = common.opcodes;
var scriptTypes = common.types;
@ -3254,7 +3254,7 @@ function validateSignature(sig, flags) {
*/
function checksig(msg, sig, key) {
return ec.verify(msg, sig.slice(0, -1), key);
return secp256k1.verify(msg, sig.slice(0, -1), key);
}
/*

View File

@ -8,7 +8,7 @@
var assert = require('assert');
var util = require('../utils/util');
var ec = require('../crypto/ec');
var secp256k1 = require('../crypto/secp256k1');
/**
* Signature cache.
@ -105,14 +105,14 @@ SigCache.prototype.verify = function verify(msg, sig, key) {
var hash, result;
if (this.size === 0)
return ec.verify(msg, sig, key);
return secp256k1.verify(msg, sig, key);
hash = msg.toString('hex');
if (this.has(hash, sig, key))
return true;
result = ec.verify(msg, sig, key);
result = secp256k1.verify(msg, sig, key);
if (!result)
return false;

View File

@ -6,7 +6,7 @@
'use strict';
var ec = require('../crypto/ec');
var secp256k1 = require('../crypto/secp256k1');
var scrypt = require('../crypto/scrypt');
var mine = require('../mining/mine');
var packets = require('./packets');
@ -122,21 +122,21 @@ jobs.signInput = function signInput(tx, index, coin, ring, type) {
};
/**
* Execute ec.verify() on worker.
* @see ec.verify
* Execute secp256k1.verify() on worker.
* @see secp256k1.verify
* @param {TX} tx
* @param {VerifyFlags} flags
* @returns {Boolean}
*/
jobs.ecVerify = function ecVerify(msg, sig, key) {
var result = ec.verify(msg, sig, key);
var result = secp256k1.verify(msg, sig, key);
return new packets.ECVerifyResultPacket(result);
};
/**
* Execute ec.sign() on worker.
* @see ec.sign
* Execute secp256k1.sign() on worker.
* @see secp256k1.sign
* @param {TX} tx
* @param {Number} index
* @param {VerifyFlags} flags
@ -144,7 +144,7 @@ jobs.ecVerify = function ecVerify(msg, sig, key) {
*/
jobs.ecSign = function ecSign(msg, key) {
var sig = ec.sign(msg, key);
var sig = secp256k1.sign(msg, key);
return new packets.ECSignResultPacket(sig);
};

View File

@ -381,7 +381,7 @@ WorkerPool.prototype.signInput = async function signInput(tx, index, coin, ring,
};
/**
* Execute the ec verify job (no timeout).
* Execute the secp256k1 verify job (no timeout).
* @method
* @param {Buffer} msg
* @param {Buffer} sig - DER formatted.
@ -396,7 +396,7 @@ WorkerPool.prototype.ecVerify = async function ecVerify(msg, sig, key) {
};
/**
* Execute the ec signing job (no timeout).
* Execute the secp256k1 signing job (no timeout).
* @method
* @param {Buffer} msg
* @param {Buffer} key

View File

@ -7,7 +7,7 @@
'use strict';
var assert = require('assert');
var ec = require('../lib/crypto/ec');
var secp256k1 = require('../lib/crypto/secp256k1');
/*
* Compression
@ -51,7 +51,7 @@ function compressScript(script, bw) {
// Saves up to 34 bytes.
if (script.isPubkey(true)) {
data = script.code[0].data;
if (ec.publicKeyVerify(data)) {
if (secp256k1.publicKeyVerify(data)) {
data = compressKey(data);
bw.writeU8(3);
bw.writeBytes(data);
@ -184,7 +184,7 @@ function compressKey(key) {
case 0x06:
case 0x07:
// Compress the key normally.
out = ec.publicKeyConvert(key, true);
out = secp256k1.publicKeyConvert(key, true);
// Store the original format (which
// may be a hybrid byte) in the hi
// 3 bits so we can restore it later.
@ -223,7 +223,7 @@ function decompressKey(key) {
// low bits so publicKeyConvert
// actually understands it.
key[0] &= 0x03;
out = ec.publicKeyConvert(key, false);
out = secp256k1.publicKeyConvert(key, false);
// Reset the hi bits so as not to
// mutate the original buffer.

View File

@ -348,7 +348,7 @@ function keyFromRaw(data, network) {
if (key.length === 32) {
ring.privateKey = key;
ring.publicKey = bcoin.ec.publicKeyCreate(key, true);
ring.publicKey = bcoin.secp256k1.publicKeyCreate(key, true);
} else {
ring.publicKey = key;
}

View File

@ -79,7 +79,7 @@
"./lib/bcoin": "./lib/bcoin-browser.js",
"./lib/blockchain/layout.js": "./lib/blockchain/layout-browser.js",
"./lib/crypto/backend.js": "./lib/crypto/backend-browser.js",
"./lib/crypto/ec.js": "./lib/crypto/ec-elliptic.js",
"./lib/crypto/secp256k1.js": "./lib/crypto/secp256k1-elliptic.js",
"./lib/crypto/rsa.js": "./lib/crypto/rsa-browser.js",
"./lib/db/backends.js": "./lib/db/backends-browser.js",
"./lib/hd/wordlist": "./lib/hd/wordlist-browser.js",

View File

@ -1,17 +1,17 @@
'use strict';
var assert = require('assert');
var ec = require('../lib/crypto/ec');
var secp256k1 = require('../lib/crypto/secp256k1');
var BIP150 = require('../lib/net/bip150');
var BIP151 = require('../lib/net/bip151');
describe('BIP150', function() {
var db = new BIP150.AuthDB();
var ck = ec.generatePrivateKey();
var sk = ec.generatePrivateKey();
var ck = secp256k1.generatePrivateKey();
var sk = secp256k1.generatePrivateKey();
db.addAuthorized(ec.publicKeyCreate(ck, true));
db.addKnown('127.0.0.2', ec.publicKeyCreate(sk, true));
db.addAuthorized(secp256k1.publicKeyCreate(ck, true));
db.addKnown('127.0.0.2', secp256k1.publicKeyCreate(sk, true));
var client = new BIP151();
var server = new BIP151();

View File

@ -2,7 +2,7 @@
var assert = require('assert');
var BN = require('../lib/crypto/bn');
var ec = require('../lib/crypto/ec');
var secp256k1 = require('../lib/crypto/secp256k1');
var base58 = require('../lib/utils/base58');
var encoding = require('../lib/utils/encoding');
var crypto = require('../lib/crypto/crypto');
@ -321,8 +321,8 @@ describe('Utils', function() {
});
it('should do proper schnorr', function() {
var key = ec.generatePrivateKey();
var pub = ec.publicKeyCreate(key, true);
var key = secp256k1.generatePrivateKey();
var pub = secp256k1.publicKeyCreate(key, true);
var msg = crypto.hash256(Buffer.from('foo', 'ascii'));
var sig = schnorr.sign(msg, key);
assert(schnorr.verify(msg, sig, pub));