diff --git a/test/test.Key.js b/test/test.Key.js index 498f863..5b2df64 100644 --- a/test/test.Key.js +++ b/test/test.Key.js @@ -10,6 +10,8 @@ var Key = bitcore.Key; var Point = bitcore.Point; var bignum = bitcore.Bignum; +var testdata = testdata || require('./testdata'); + describe('Key (ECKey)', function() { it('should initialize the main object', function() { should.exist(Key); @@ -192,5 +194,18 @@ describe('Key (ECKey)', function() { }); }); + describe('secp256k1 test vectors', function() { + //test vectors from http://crypto.stackexchange.com/questions/784/are-there-any-secp256k1-ecdsa-test-examples-available + testdata.dataSecp256k1.nTimesG.forEach(function(val) { + it('should multiply n by G and get p from test data', function() { + var key = new Key(); + key.private = new Buffer(val.n, 'hex'); + key.regenerateSync(); + key.compressed = false; + key.public.slice(1, 33).toString('hex').toUpperCase().should.equal(val.px); + key.public.slice(33, 65).toString('hex').toUpperCase().should.equal(val.py); + }); + }); + }); });