{"_id":"bip-schnorr","_rev":"4659809","name":"bip-schnorr","description":"Pure JavaScript implementation of the BIP schnorr signature scheme and the muSig multi-signature scheme","dist-tags":{"latest":"0.6.7"},"maintainers":[{"name":"guggero","email":""}],"time":{"modified":"2026-04-10T21:51:30.000Z","created":"2019-01-05T16:34:42.093Z","0.6.7":"2023-03-09T14:49:29.061Z","0.6.6":"2022-02-14T10:39:34.914Z","0.6.5":"2022-02-10T12:14:14.574Z","0.6.4":"2021-10-13T10:07:12.882Z","0.6.3":"2021-07-15T17:48:55.905Z","0.6.2":"2020-12-27T12:45:38.003Z","0.6.1":"2020-12-27T12:39:59.865Z","0.6.0":"2020-12-27T12:09:18.000Z","0.5.0":"2020-12-26T11:23:08.165Z","0.4.1":"2020-11-22T16:00:47.832Z","0.4.0":"2020-11-22T15:52:25.876Z","0.3.0":"2019-03-05T20:51:11.352Z","0.2.0":"2019-02-03T13:25:35.750Z","0.1.1":"2019-01-20T11:28:01.503Z","0.1.0":"2019-01-19T23:12:36.038Z","0.0.4":"2019-01-19T13:39:01.807Z","0.0.3":"2019-01-05T17:52:14.530Z","0.0.2":"2019-01-05T16:47:46.763Z","0.0.1":"2019-01-05T16:34:42.093Z"},"users":{},"author":{"name":"Oliver Gugger","email":"gugger@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/guggero/bip-schnorr.git"},"versions":{"0.6.7":{"name":"bip-schnorr","version":"0.6.7","description":"Pure JavaScript implementation of the BIP schnorr signature scheme and the muSig multi-signature scheme","main":"./src/index.js","engines":{"node":">=8.0.0"},"keywords":["bip","schnorr","elliptic","curve","muSig","multi-signature"],"scripts":{"coverage-coveralls":"nyc mocha ./test/schnorr-*.spec.js && nyc report --reporter=text-lcov | coveralls","coverage-html":"nyc report --reporter=html","coverage":"nyc --check-coverage --branches 85 --functions 90 --lines 90 mocha ./test/schnorr-*.spec.js","unit":"mocha ./test/schnorr-*.spec.js","test":"yarn run coverage","benchmark":"node test/schnorr.benchmark.js"},"repository":{"type":"git","url":"git+https://github.com/guggero/bip-schnorr.git"},"author":{"name":"Oliver Gugger","email":"gugger@gmail.com"},"license":"MIT","dependencies":{"bigi":"^1.4.2","ecurve":"^1.0.6","js-sha256":"^0.9.0","randombytes":"^2.1.0","safe-buffer":"^5.2.1"},"devDependencies":{"benchmark":"^2.1.4","coveralls":"^3.1.0","microtime":"^3.0.0","mocha":"^6.2.3","nyc":"^14.1.1"},"gitHead":"b6479ecf55da1266ae49eac3565bca3a8b1a8832","bugs":{"url":"https://github.com/guggero/bip-schnorr/issues"},"homepage":"https://github.com/guggero/bip-schnorr#readme","_id":"bip-schnorr@0.6.7","_nodeVersion":"16.18.0","_npmVersion":"8.19.2","dist":{"shasum":"b62a05ba148492a80c914063c99e218a81c55bf5","size":75313,"noattachment":false,"key":"/bip-schnorr/-/bip-schnorr-0.6.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/bip-schnorr/download/bip-schnorr-0.6.7.tgz"},"_npmUser":{"name":"guggero","email":"gugger@gmail.com"},"directories":{},"maintainers":[{"name":"guggero","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bip-schnorr_0.6.7_1678373368774_0.33681010773160347"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-03-09T14:49:29.061Z","publish_time":1678373369061,"_cnpm_publish_time":1678373369061},"0.6.6":{"name":"bip-schnorr","version":"0.6.6","description":"Pure JavaScript implementation of the BIP schnorr signature scheme and the muSig multi-signature scheme","main":"./src/index.js","engines":{"node":">=8.0.0"},"keywords":["bip","schnorr","elliptic","curve","muSig","multi-signature"],"scripts":{"coverage-coveralls":"nyc mocha ./test/schnorr-*.spec.js && nyc report --reporter=text-lcov | coveralls","coverage-html":"nyc report --reporter=html","coverage":"nyc --check-coverage --branches 85 --functions 90 --lines 90 mocha ./test/schnorr-*.spec.js","unit":"mocha ./test/schnorr-*.spec.js","test":"yarn run coverage","benchmark":"node test/schnorr.benchmark.js"},"repository":{"type":"git","url":"git+https://github.com/guggero/bip-schnorr.git"},"author":{"name":"Oliver Gugger","email":"gugger@gmail.com"},"license":"MIT","dependencies":{"bigi":"^1.4.2","ecurve":"^1.0.6","js-sha256":"^0.9.0","randombytes":"^2.1.0","safe-buffer":"^5.2.1"},"devDependencies":{"benchmark":"^2.1.4","coveralls":"^3.1.0","microtime":"^3.0.0","mocha":"^6.2.3","nyc":"^14.1.1"},"gitHead":"dcdf8cf16fdef61f4eb64da03edc388ef5351baf","bugs":{"url":"https://github.com/guggero/bip-schnorr/issues"},"homepage":"https://github.com/guggero/bip-schnorr#readme","_id":"bip-schnorr@0.6.6","_nodeVersion":"12.22.5","_npmVersion":"7.5.2","dist":{"shasum":"519cfa1caf420a5927f924c4da326a77ff65f70a","size":75804,"noattachment":false,"key":"/bip-schnorr/-/bip-schnorr-0.6.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/bip-schnorr/download/bip-schnorr-0.6.6.tgz"},"_npmUser":{"name":"guggero","email":"gugger@gmail.com"},"directories":{},"maintainers":[{"name":"guggero","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bip-schnorr_0.6.6_1644835174680_0.18355217679654356"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-02-14T10:39:49.045Z","publish_time":1644835174914,"_cnpm_publish_time":1644835174914},"0.6.5":{"name":"bip-schnorr","version":"0.6.5","description":"Pure JavaScript implementation of the BIP schnorr signature scheme and the muSig multi-signature scheme","main":"./src/index.js","engines":{"node":">=8.0.0"},"keywords":["bip","schnorr","elliptic","curve","muSig","multi-signature"],"scripts":{"coverage-coveralls":"nyc mocha ./test/schnorr-*.spec.js && nyc report --reporter=text-lcov | coveralls","coverage-html":"nyc report --reporter=html","coverage":"nyc --check-coverage --branches 85 --functions 90 --lines 90 mocha ./test/schnorr-*.spec.js","unit":"mocha ./test/schnorr-*.spec.js","test":"yarn run coverage","benchmark":"node test/schnorr.benchmark.js"},"repository":{"type":"git","url":"git+https://github.com/guggero/bip-schnorr.git"},"author":{"name":"Oliver Gugger","email":"gugger@gmail.com"},"license":"MIT","dependencies":{"bigi":"^1.4.2","ecurve":"^1.0.6","js-sha256":"^0.9.0","randombytes":"^2.1.0","safe-buffer":"^5.2.1"},"devDependencies":{"benchmark":"^2.1.4","coveralls":"^3.1.0","microtime":"^3.0.0","mocha":"^6.2.3","nyc":"^14.1.1"},"gitHead":"11554f613cd30cd37b2583823df4315796cf18f5","bugs":{"url":"https://github.com/guggero/bip-schnorr/issues"},"homepage":"https://github.com/guggero/bip-schnorr#readme","_id":"bip-schnorr@0.6.5","_nodeVersion":"12.22.5","_npmVersion":"7.5.2","dist":{"shasum":"33fc61948cbc21585b285de25e1e7326aba5217a","size":75604,"noattachment":false,"key":"/bip-schnorr/-/bip-schnorr-0.6.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/bip-schnorr/download/bip-schnorr-0.6.5.tgz"},"_npmUser":{"name":"guggero","email":"gugger@gmail.com"},"directories":{},"maintainers":[{"name":"guggero","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bip-schnorr_0.6.5_1644495254365_0.5399751393623091"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-02-10T12:14:22.598Z","publish_time":1644495254574,"_cnpm_publish_time":1644495254574},"0.6.4":{"name":"bip-schnorr","version":"0.6.4","description":"Pure JavaScript implementation of the BIP schnorr signature scheme and the muSig multi-signature scheme","main":"./src/index.js","engines":{"node":">=8.0.0"},"keywords":["bip","schnorr","elliptic","curve","muSig","multi-signature"],"scripts":{"coverage-coveralls":"nyc mocha ./test/schnorr-*.spec.js && nyc report --reporter=text-lcov | coveralls","coverage-html":"nyc report --reporter=html","coverage":"nyc --check-coverage --branches 85 --functions 90 --lines 90 mocha ./test/schnorr-*.spec.js","unit":"mocha ./test/schnorr-*.spec.js","test":"yarn run coverage","benchmark":"node test/schnorr.benchmark.js"},"repository":{"type":"git","url":"git+https://github.com/guggero/bip-schnorr.git"},"author":{"name":"Oliver Gugger","email":"gugger@gmail.com"},"license":"MIT","dependencies":{"bigi":"^1.4.2","ecurve":"^1.0.6","js-sha256":"^0.9.0","randombytes":"^2.1.0","safe-buffer":"^5.2.1"},"devDependencies":{"benchmark":"^2.1.4","coveralls":"^3.1.0","microtime":"^3.0.0","mocha":"^6.2.3","nyc":"^14.1.1"},"gitHead":"e8fb66f107c899f034f20d86a2e88f214d23c836","bugs":{"url":"https://github.com/guggero/bip-schnorr/issues"},"homepage":"https://github.com/guggero/bip-schnorr#readme","_id":"bip-schnorr@0.6.4","_nodeVersion":"12.22.6","_npmVersion":"6.14.15","dist":{"shasum":"6fde7f301fe6b207dbd05f8ec2caf08fa5a51d0d","size":75420,"noattachment":false,"key":"/bip-schnorr/-/bip-schnorr-0.6.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/bip-schnorr/download/bip-schnorr-0.6.4.tgz"},"_npmUser":{"name":"guggero","email":"gugger@gmail.com"},"directories":{},"maintainers":[{"name":"guggero","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bip-schnorr_0.6.4_1634119632633_0.6914089651909945"},"_hasShrinkwrap":false,"publish_time":1634119632882,"_cnpm_publish_time":1634119632882,"_cnpmcore_publish_time":"2021-12-16T12:06:35.226Z"},"0.6.3":{"name":"bip-schnorr","version":"0.6.3","description":"Pure JavaScript implementation of the BIP schnorr signature scheme and the muSig multi-signature scheme","main":"./src/index.js","engines":{"node":">=8.0.0"},"keywords":["bip","schnorr","elliptic","curve","muSig","multi-signature"],"scripts":{"coverage-coveralls":"nyc mocha ./test/schnorr-*.spec.js && nyc report --reporter=text-lcov | coveralls","coverage-html":"nyc report --reporter=html","coverage":"nyc --check-coverage --branches 85 --functions 90 --lines 90 mocha ./test/schnorr-*.spec.js","unit":"mocha ./test/schnorr-*.spec.js","test":"yarn run coverage","benchmark":"node test/schnorr.benchmark.js"},"repository":{"type":"git","url":"git+https://github.com/guggero/bip-schnorr.git"},"author":{"name":"Oliver Gugger","email":"gugger@gmail.com"},"license":"MIT","dependencies":{"bigi":"^1.4.2","ecurve":"^1.0.6","js-sha256":"^0.9.0","randombytes":"^2.1.0","safe-buffer":"^5.2.1"},"devDependencies":{"benchmark":"^2.1.4","coveralls":"^3.1.0","microtime":"^3.0.0","mocha":"^6.2.3","nyc":"^14.1.1"},"gitHead":"c7cd34e17e81ca022c21fda9ecd1c351b348531c","bugs":{"url":"https://github.com/guggero/bip-schnorr/issues"},"homepage":"https://github.com/guggero/bip-schnorr#readme","_id":"bip-schnorr@0.6.3","_nodeVersion":"12.21.0","_npmVersion":"7.5.2","dist":{"shasum":"97267b640b22d23f3cdd169f618b624b9b7cc7c6","size":75383,"noattachment":false,"key":"/bip-schnorr/-/bip-schnorr-0.6.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/bip-schnorr/download/bip-schnorr-0.6.3.tgz"},"_npmUser":{"name":"guggero","email":"gugger@gmail.com"},"directories":{},"maintainers":[{"name":"guggero","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bip-schnorr_0.6.3_1626371335766_0.26248716546954953"},"_hasShrinkwrap":false,"publish_time":1626371335905,"_cnpm_publish_time":1626371335905,"_cnpmcore_publish_time":"2021-12-16T12:06:35.496Z"},"0.6.2":{"name":"bip-schnorr","version":"0.6.2","description":"Pure JavaScript implementation of the BIP schnorr signature scheme and the muSig multi-signature scheme","main":"./src/index.js","engines":{"node":">=8.0.0"},"keywords":["bip","schnorr","elliptic","curve","muSig","multi-signature"],"scripts":{"coverage-coveralls":"nyc mocha ./test/schnorr-*.spec.js && nyc report --reporter=text-lcov | coveralls","coverage-html":"nyc report --reporter=html","coverage":"nyc --check-coverage --branches 85 --functions 90 --lines 90 mocha ./test/schnorr-*.spec.js","unit":"mocha ./test/schnorr-*.spec.js","test":"yarn run coverage","benchmark":"node test/schnorr.benchmark.js"},"repository":{"type":"git","url":"git+https://github.com/guggero/bip-schnorr.git"},"author":{"name":"Oliver Gugger","email":"gugger@gmail.com"},"license":"MIT","dependencies":{"bigi":"^1.4.2","ecurve":"^1.0.6","js-sha256":"^0.9.0","randombytes":"^2.1.0","safe-buffer":"^5.2.1"},"devDependencies":{"benchmark":"^2.1.4","coveralls":"^3.1.0","microtime":"^3.0.0","mocha":"^6.2.3","nyc":"^14.1.1"},"gitHead":"d256b8325737f84025915b16a2cb42479cf0fd9a","bugs":{"url":"https://github.com/guggero/bip-schnorr/issues"},"homepage":"https://github.com/guggero/bip-schnorr#readme","_id":"bip-schnorr@0.6.2","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"shasum":"38d369df3ded7e3ff751abd119e8d411227f9037","size":75095,"noattachment":false,"key":"/bip-schnorr/-/bip-schnorr-0.6.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/bip-schnorr/download/bip-schnorr-0.6.2.tgz"},"_npmUser":{"name":"guggero","email":"gugger@gmail.com"},"directories":{},"maintainers":[{"name":"guggero","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bip-schnorr_0.6.2_1609073137858_0.7860578683307349"},"_hasShrinkwrap":false,"publish_time":1609073138003,"_cnpm_publish_time":1609073138003,"_cnpmcore_publish_time":"2021-12-16T12:06:35.815Z"},"0.6.1":{"name":"bip-schnorr","version":"0.6.1","description":"Pure JavaScript implementation of the BIP schnorr signature scheme and the muSig multi-signature scheme","main":"./src/index.js","engines":{"node":">=8.0.0"},"keywords":["bip","schnorr","elliptic","curve","muSig","multi-signature"],"scripts":{"coverage-coveralls":"nyc mocha ./test/schnorr-*.spec.js && nyc report --reporter=text-lcov | coveralls","coverage-html":"nyc report --reporter=html","coverage":"nyc --check-coverage --branches 85 --functions 90 --lines 90 mocha ./test/schnorr-*.spec.js","unit":"mocha ./test/schnorr-*.spec.js","test":"yarn run coverage","benchmark":"node test/schnorr.benchmark.js"},"repository":{"type":"git","url":"git+https://github.com/guggero/bip-schnorr.git"},"author":{"name":"Oliver Gugger","email":"gugger@gmail.com"},"license":"MIT","dependencies":{"bigi":"^1.4.2","ecurve":"^1.0.6","js-sha256":"^0.9.0","randombytes":"^2.1.0","safe-buffer":"^5.2.1"},"devDependencies":{"benchmark":"^2.1.4","coveralls":"^3.1.0","microtime":"^3.0.0","mocha":"^6.2.3","nyc":"^14.1.1"},"gitHead":"17eef86a24bb8ebe3a595c6180a493b54ee63744","bugs":{"url":"https://github.com/guggero/bip-schnorr/issues"},"homepage":"https://github.com/guggero/bip-schnorr#readme","_id":"bip-schnorr@0.6.1","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"shasum":"e1805455cf09147e9b754d6f7567b83a5d754714","size":75096,"noattachment":false,"key":"/bip-schnorr/-/bip-schnorr-0.6.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/bip-schnorr/download/bip-schnorr-0.6.1.tgz"},"_npmUser":{"name":"guggero","email":"gugger@gmail.com"},"directories":{},"maintainers":[{"name":"guggero","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bip-schnorr_0.6.1_1609072799758_0.2582181575724767"},"_hasShrinkwrap":false,"publish_time":1609072799865,"_cnpm_publish_time":1609072799865,"_cnpmcore_publish_time":"2021-12-16T12:06:36.143Z"},"0.6.0":{"name":"bip-schnorr","version":"0.6.0","description":"Pure JavaScript implementation of the BIP schnorr signature scheme and the muSig multi-signature scheme","main":"./src/index.js","engines":{"node":">=8.0.0"},"keywords":["bip","schnorr","elliptic","curve","muSig","multi-signature"],"scripts":{"coverage-coveralls":"nyc mocha ./test/schnorr-*.spec.js && nyc report --reporter=text-lcov | coveralls","coverage-html":"nyc report --reporter=html","coverage":"nyc --check-coverage --branches 85 --functions 90 --lines 90 mocha ./test/schnorr-*.spec.js","unit":"mocha ./test/schnorr-*.spec.js","test":"yarn run coverage","benchmark":"node test/schnorr.benchmark.js"},"repository":{"type":"git","url":"git+https://github.com/guggero/bip-schnorr.git"},"author":{"name":"Oliver Gugger","email":"gugger@gmail.com"},"license":"MIT","dependencies":{"bigi":"^1.4.2","ecurve":"^1.0.6","js-sha256":"^0.9.0","randombytes":"^2.1.0","safe-buffer":"^5.2.1"},"devDependencies":{"benchmark":"^2.1.4","coveralls":"^3.1.0","microtime":"^3.0.0","mocha":"^6.2.3","nyc":"^14.1.1"},"gitHead":"7745cb2edcbd6c2950b1ff8320dd6cc63712692b","bugs":{"url":"https://github.com/guggero/bip-schnorr/issues"},"homepage":"https://github.com/guggero/bip-schnorr#readme","_id":"bip-schnorr@0.6.0","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"shasum":"a6bda9056fbd16adc8628c9d99e729bababf27c7","size":75084,"noattachment":false,"key":"/bip-schnorr/-/bip-schnorr-0.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/bip-schnorr/download/bip-schnorr-0.6.0.tgz"},"_npmUser":{"name":"guggero","email":"gugger@gmail.com"},"directories":{},"maintainers":[{"name":"guggero","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bip-schnorr_0.6.0_1609070957855_0.9814750164473354"},"_hasShrinkwrap":false,"publish_time":1609070958000,"_cnpm_publish_time":1609070958000,"_cnpmcore_publish_time":"2021-12-16T12:06:36.456Z"},"0.5.0":{"name":"bip-schnorr","version":"0.5.0","description":"Pure JavaScript implementation of the BIP schnorr signature scheme","main":"./src/index.js","engines":{"node":">=8.0.0"},"keywords":["bip","schnorr","elliptic","curve","muSig","multi-signature"],"scripts":{"coverage-coveralls":"nyc mocha ./test/schnorr-*.spec.js && nyc report --reporter=text-lcov | coveralls","coverage-html":"nyc report --reporter=html","coverage":"nyc --check-coverage --branches 85 --functions 90 --lines 90 mocha ./test/schnorr-*.spec.js","unit":"mocha ./test/schnorr-*.spec.js","test":"yarn run coverage","benchmark":"node test/schnorr.benchmark.js"},"repository":{"type":"git","url":"git+https://github.com/guggero/bip-schnorr.git"},"author":{"name":"Oliver Gugger","email":"gugger@gmail.com"},"license":"MIT","dependencies":{"bigi":"^1.4.2","ecurve":"^1.0.6","js-sha256":"^0.9.0","randombytes":"^2.1.0","safe-buffer":"^5.2.1"},"devDependencies":{"benchmark":"^2.1.4","coveralls":"^3.1.0","microtime":"^3.0.0","mocha":"^6.2.3","nyc":"^14.1.1"},"gitHead":"1abb346544c92202022c64ad61a8369837fbad47","bugs":{"url":"https://github.com/guggero/bip-schnorr/issues"},"homepage":"https://github.com/guggero/bip-schnorr#readme","_id":"bip-schnorr@0.5.0","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"shasum":"82df56e5f7592d0ff4aa3eafbe98e8bd789b64a5","size":11078,"noattachment":false,"key":"/bip-schnorr/-/bip-schnorr-0.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/bip-schnorr/download/bip-schnorr-0.5.0.tgz"},"_npmUser":{"name":"guggero","email":"gugger@gmail.com"},"directories":{},"maintainers":[{"name":"guggero","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bip-schnorr_0.5.0_1608981787977_0.6158964560181934"},"_hasShrinkwrap":false,"publish_time":1608981788165,"_cnpm_publish_time":1608981788165,"_cnpmcore_publish_time":"2021-12-16T12:06:36.667Z"},"0.4.1":{"name":"bip-schnorr","version":"0.4.1","description":"Pure JavaScript implementation of the BIP schnorr signature scheme","main":"./src/index.js","engines":{"node":">=8.0.0"},"keywords":["bip","schnorr","elliptic","curve","muSig","multi-signature"],"scripts":{"coverage-coveralls":"nyc mocha ./test/schnorr-*.spec.js && nyc report --reporter=text-lcov | coveralls","coverage-html":"nyc report --reporter=html","coverage":"nyc --check-coverage --branches 85 --functions 90 --lines 90 mocha ./test/schnorr-*.spec.js","unit":"mocha ./test/schnorr-*.spec.js","test":"yarn run coverage","benchmark":"node test/schnorr.benchmark.js"},"repository":{"type":"git","url":"git+https://github.com/guggero/bip-schnorr.git"},"author":{"name":"Oliver Gugger","email":"gugger@gmail.com"},"license":"MIT","dependencies":{"bigi":"^1.4.2","ecurve":"^1.0.6","js-sha256":"^0.9.0","randombytes":"^2.1.0","safe-buffer":"^5.2.1"},"devDependencies":{"benchmark":"^2.1.4","coveralls":"^3.1.0","microtime":"^3.0.0","mocha":"^6.2.3","nyc":"^14.1.1"},"gitHead":"2901b56001f377d84aa6c27d5db2061f6939b114","bugs":{"url":"https://github.com/guggero/bip-schnorr/issues"},"homepage":"https://github.com/guggero/bip-schnorr#readme","_id":"bip-schnorr@0.4.1","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"shasum":"e5cecdf72f627ea63d304df6db8b6d8bd2ffacf2","size":11071,"noattachment":false,"key":"/bip-schnorr/-/bip-schnorr-0.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/bip-schnorr/download/bip-schnorr-0.4.1.tgz"},"_npmUser":{"name":"guggero","email":"gugger@gmail.com"},"directories":{},"maintainers":[{"name":"guggero","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bip-schnorr_0.4.1_1606060847643_0.3275178598382671"},"_hasShrinkwrap":false,"publish_time":1606060847832,"_cnpm_publish_time":1606060847832,"_cnpmcore_publish_time":"2021-12-16T12:06:36.862Z"},"0.4.0":{"name":"bip-schnorr","version":"0.4.0","description":"Pure JavaScript implementation of the BIP schnorr signature scheme","main":"./src/index.js","engines":{"node":">=8.0.0"},"keywords":["bip","schnorr","elliptic","curve","muSig","multi-signature"],"scripts":{"coverage-coveralls":"nyc mocha ./test/schnorr-*.spec.js && nyc report --reporter=text-lcov | coveralls","coverage-html":"nyc report --reporter=html","coverage":"nyc --check-coverage --branches 85 --functions 90 --lines 90 mocha ./test/schnorr-*.spec.js","unit":"mocha ./test/schnorr-*.spec.js","test":"yarn run coverage","benchmark":"node test/schnorr.benchmark.js"},"repository":{"type":"git","url":"git+https://github.com/guggero/bip-schnorr.git"},"author":{"name":"Oliver Gugger","email":"gugger@gmail.com"},"license":"MIT","dependencies":{"bigi":"^1.4.2","ecurve":"^1.0.6","js-sha256":"^0.9.0","randombytes":"^2.1.0","safe-buffer":"^5.2.1"},"devDependencies":{"benchmark":"^2.1.4","coveralls":"^3.1.0","microtime":"^3.0.0","mocha":"^6.2.3","nyc":"^14.1.1"},"gitHead":"48745da28b16c7185c69629d3a7e91288248b23c","bugs":{"url":"https://github.com/guggero/bip-schnorr/issues"},"homepage":"https://github.com/guggero/bip-schnorr#readme","_id":"bip-schnorr@0.4.0","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"shasum":"1aad27c2069f9ee7046000e9fb6574bc60f95c99","size":35647,"noattachment":false,"key":"/bip-schnorr/-/bip-schnorr-0.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/bip-schnorr/download/bip-schnorr-0.4.0.tgz"},"_npmUser":{"name":"guggero","email":"gugger@gmail.com"},"directories":{},"maintainers":[{"name":"guggero","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bip-schnorr_0.4.0_1606060345749_0.08639501674198602"},"_hasShrinkwrap":false,"publish_time":1606060345876,"_cnpm_publish_time":1606060345876,"_cnpmcore_publish_time":"2021-12-16T12:06:37.129Z"},"0.3.0":{"name":"bip-schnorr","version":"0.3.0","description":"Pure JavaScript implementation of the BIP schnorr signature scheme and the muSig multi-signature scheme","main":"./src/index.js","engines":{"node":">=8.0.0"},"keywords":["bip","schnorr","elliptic","curve","muSig","multi-signature"],"scripts":{"coverage-coveralls":"nyc mocha ./test/schnorr-*.spec.js && nyc report --reporter=text-lcov | coveralls","coverage-html":"nyc report --reporter=html","coverage":"nyc --check-coverage --branches 85 --functions 90 --lines 90 mocha ./test/schnorr-*.spec.js","unit":"mocha ./test/schnorr-*.spec.js","test":"yarn run coverage","benchmark":"node test/schnorr.benchmark.js"},"repository":{"type":"git","url":"https://github.com/guggero/bip-schnorr.git"},"author":{"name":"Oliver Gugger","email":"gugger@gmail.com"},"license":"MIT","dependencies":{"ecurve":"^1.0.6","js-sha256":"^0.9.0","safe-buffer":"^5.0.1","random-bytes":"^1.0.0"},"devDependencies":{"benchmark":"^2.1.4","coveralls":"^3.0.0","microtime":"^3.0.0","mocha":"^6.0.2","nyc":"^13.3.0"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2011-2018 bitcoinjs-lib contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"bip-schnorr@0.3.0","dist":{"shasum":"e6490379603704e9dd123d874b41755aea4f352c","size":39302,"noattachment":false,"key":"/bip-schnorr/-/bip-schnorr-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/bip-schnorr/download/bip-schnorr-0.3.0.tgz"},"maintainers":[{"name":"guggero","email":""}],"_npmUser":{"name":"guggero","email":"gugger@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bip-schnorr_0.3.0_1551819071131_0.3861064702547783"},"_hasShrinkwrap":false,"publish_time":1551819071352,"_cnpm_publish_time":1551819071352,"_cnpmcore_publish_time":"2021-12-16T12:06:37.405Z"},"0.2.0":{"name":"bip-schnorr","version":"0.2.0","description":"Pure JavaScript implementation of the BIP schnorr signature scheme","main":"./src/index.js","engines":{"node":">=8.0.0"},"keywords":["bip","schnorr","elliptic","curve","authenticated-encryption"],"scripts":{"coverage-coveralls":"nyc mocha ./test/schnorr-*.spec.js && nyc report --reporter=text-lcov | coveralls","coverage-html":"nyc report --reporter=html","coverage":"nyc --check-coverage --branches 85 --functions 90 --lines 90 mocha ./test/schnorr-*.spec.js","unit":"mocha ./test/schnorr-*.spec.js","test":"yarn run coverage","benchmark":"node test/schnorr.benchmark.js"},"repository":{"type":"git","url":"https://github.com/guggero/bip-schnorr.git"},"author":{"name":"Oliver Gugger","email":"gugger@gmail.com"},"license":"MIT","dependencies":{"ecurve":"^1.0.6","js-sha256":"^0.9.0","safe-buffer":"^5.0.1","random-bytes":"^1.0.0"},"devDependencies":{"benchmark":"^2.1.4","coveralls":"^3.0.0","microtime":"^2.1.7","mocha":"^5.0.5","nyc":"^11.6.0"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2011-2018 bitcoinjs-lib contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"bip-schnorr@0.2.0","dist":{"shasum":"2507be3ee530773c63816c64a3705804dd741424","size":12994,"noattachment":false,"key":"/bip-schnorr/-/bip-schnorr-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/bip-schnorr/download/bip-schnorr-0.2.0.tgz"},"maintainers":[{"name":"guggero","email":""}],"_npmUser":{"name":"guggero","email":"gugger@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bip-schnorr_0.2.0_1549200335628_0.9621458746671727"},"_hasShrinkwrap":false,"publish_time":1549200335750,"_cnpm_publish_time":1549200335750,"_cnpmcore_publish_time":"2021-12-16T12:06:37.641Z"},"0.1.1":{"name":"bip-schnorr","version":"0.1.1","description":"Pure JavaScript implementation of the BIP schnorr signature scheme","main":"./src/index.js","engines":{"node":">=8.0.0"},"keywords":["bip","schnorr","elliptic","curve","authenticated-encryption"],"scripts":{"coverage-coveralls":"nyc mocha && nyc report --reporter=text-lcov | coveralls","coverage-html":"nyc report --reporter=html","coverage":"nyc --check-coverage --branches 85 --functions 90 --lines 90 mocha ./test/schnorr-*.spec.js","unit":"mocha ./test/schnorr-*.spec.js","test":"yarn run coverage","benchmark":"node test/schnorr.benchmark.js"},"repository":{"type":"git","url":"https://github.com/guggero/bip-schnorr.git"},"author":{"name":"Oliver Gugger","email":"gugger@gmail.com"},"license":"MIT","dependencies":{"ecurve":"^1.0.6","js-sha256":"^0.9.0","safe-buffer":"^5.0.1","random-bytes":"^1.0.0"},"devDependencies":{"benchmark":"^2.1.4","coveralls":"^3.0.0","microtime":"^2.1.7","mocha":"^5.0.5","nyc":"^11.6.0"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2011-2018 bitcoinjs-lib contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"bip-schnorr@0.1.1","dist":{"shasum":"7adfcad44d6a82437d00557c74f7610b45ddd683","size":11535,"noattachment":false,"key":"/bip-schnorr/-/bip-schnorr-0.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/bip-schnorr/download/bip-schnorr-0.1.1.tgz"},"maintainers":[{"name":"guggero","email":""}],"_npmUser":{"name":"guggero","email":"gugger@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bip-schnorr_0.1.1_1547983681322_0.5545533892299979"},"_hasShrinkwrap":false,"publish_time":1547983681503,"_cnpm_publish_time":1547983681503,"_cnpmcore_publish_time":"2021-12-16T12:06:37.861Z"},"0.1.0":{"name":"bip-schnorr","version":"0.1.0","description":"Pure JavaScript implementation of the BIP schnorr signature scheme","main":"./src/index.js","engines":{"node":">=8.0.0"},"keywords":["bip","schnorr","elliptic","curve","authenticated-encryption"],"scripts":{"coverage-coveralls":"nyc mocha && nyc report --reporter=text-lcov | coveralls","coverage-html":"nyc report --reporter=html","coverage":"nyc --check-coverage --branches 70 --functions 80 --lines 80 mocha","unit":"mocha","test":"yarn run coverage"},"repository":{"type":"git","url":"https://github.com/guggero/bip-schnorr.git"},"author":{"name":"Oliver Gugger","email":"gugger@gmail.com"},"license":"MIT","dependencies":{"ecurve":"^1.0.6","js-sha256":"^0.9.0","safe-buffer":"^5.0.1","random-bytes":"^1.0.0"},"devDependencies":{"benchmark":"^2.1.4","coveralls":"^3.0.0","microtime":"^2.1.7","mocha":"^5.0.5","nyc":"^11.6.0"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2011-2018 bitcoinjs-lib contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"bip-schnorr@0.1.0","dist":{"shasum":"3721293d6b3b5d945ac092cb27e31b111e8bf58c","size":8986,"noattachment":false,"key":"/bip-schnorr/-/bip-schnorr-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/bip-schnorr/download/bip-schnorr-0.1.0.tgz"},"maintainers":[{"name":"guggero","email":""}],"_npmUser":{"name":"guggero","email":"gugger@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bip-schnorr_0.1.0_1547939555895_0.009854558268748148"},"_hasShrinkwrap":false,"publish_time":1547939556038,"_cnpm_publish_time":1547939556038,"_cnpmcore_publish_time":"2021-12-16T12:06:38.376Z"},"0.0.4":{"name":"bip-schnorr","version":"0.0.4","description":"Pure JavaScript implementation of the BIP schnorr signature scheme","main":"./src/index.js","engines":{"node":">=8.0.0"},"keywords":["bip","schnorr","elliptic","curve","authenticated-encryption"],"scripts":{"coverage-coveralls":"nyc mocha && nyc report --reporter=text-lcov | coveralls","coverage-html":"nyc report --reporter=html","coverage":"nyc --check-coverage --branches 70 --functions 80 --lines 80 mocha","unit":"mocha","test":"yarn run coverage"},"repository":{"type":"git","url":"https://github.com/guggero/bip-schnorr.git"},"author":{"name":"Oliver Gugger","email":"gugger@gmail.com"},"license":"MIT","dependencies":{"ecurve":"^1.0.6","js-sha256":"^0.9.0","safe-buffer":"^5.0.1","random-bytes":"^1.0.0"},"devDependencies":{"benchmark":"^2.1.4","coveralls":"^3.0.0","microtime":"^2.1.7","mocha":"^5.0.5","nyc":"^11.6.0"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2011-2018 bitcoinjs-lib contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"bip-schnorr@0.0.4","dist":{"shasum":"c429975da992cd6f7c7fea1d0458b6bf120853bc","size":9202,"noattachment":false,"key":"/bip-schnorr/-/bip-schnorr-0.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/bip-schnorr/download/bip-schnorr-0.0.4.tgz"},"maintainers":[{"name":"guggero","email":""}],"_npmUser":{"name":"guggero","email":"gugger@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bip-schnorr_0.0.4_1547905141659_0.5985519972208087"},"_hasShrinkwrap":false,"publish_time":1547905141807,"_cnpm_publish_time":1547905141807,"_cnpmcore_publish_time":"2021-12-16T12:06:38.618Z"},"0.0.3":{"name":"bip-schnorr","version":"0.0.3","description":"Pure JavaScript implementation of the BIP schnorr signature scheme","main":"./src/index.js","engines":{"node":">=8.0.0"},"keywords":["bip","schnorr","elliptic","curve","authenticated-encryption"],"scripts":{"coverage-coveralls":"nyc mocha && nyc report --reporter=text-lcov | coveralls","coverage-html":"nyc report --reporter=html","coverage":"nyc --check-coverage --branches 70 --functions 80 --lines 80 mocha","unit":"mocha","test":"yarn run coverage"},"repository":{"type":"git","url":"https://github.com/guggero/bip-schnorr.git"},"author":{"name":"Oliver Gugger","email":"gugger@gmail.com"},"license":"MIT","dependencies":{"ecurve":"^1.0.6","js-sha256":"^0.9.0","safe-buffer":"^5.0.1"},"devDependencies":{"benchmark":"^2.1.4","coveralls":"^3.0.0","microtime":"^2.1.7","mocha":"^5.0.5","nyc":"^11.6.0","random-bytes":"^1.0.0"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2011-2018 bitcoinjs-lib contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"bip-schnorr@0.0.3","dist":{"shasum":"d7dad591b86f5280fd4da00832ddcf3f22f6a1a8","size":7335,"noattachment":false,"key":"/bip-schnorr/-/bip-schnorr-0.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/bip-schnorr/download/bip-schnorr-0.0.3.tgz"},"maintainers":[{"name":"guggero","email":""}],"_npmUser":{"name":"guggero","email":"gugger@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bip-schnorr_0.0.3_1546710734399_0.4706597107429753"},"_hasShrinkwrap":false,"publish_time":1546710734530,"_cnpm_publish_time":1546710734530,"_cnpmcore_publish_time":"2021-12-16T12:06:38.830Z"},"0.0.2":{"name":"bip-schnorr","version":"0.0.2","description":"Pure JavaScript implementation of the BIP schnorr signature scheme","main":"./src/index.js","engines":{"node":">=8.0.0"},"keywords":["bip","schnorr","elliptic","curve","authenticated-encryption"],"scripts":{"coverage-coveralls":"nyc mocha && nyc report --reporter=text-lcov | coveralls","coverage-html":"nyc report --reporter=html","coverage":"nyc --check-coverage --branches 70 --functions 80 --lines 80 mocha","unit":"mocha","test":"yarn run coverage"},"repository":{"type":"git","url":"https://github.com/guggero/bip-schnorr.git"},"author":{"name":"Oliver Gugger","email":"gugger@gmail.com"},"license":"MIT","dependencies":{"ecurve":"^1.0.6","js-sha256":"^0.9.0","safe-buffer":"^5.0.1"},"devDependencies":{"benchmark":"^2.1.4","coveralls":"^3.0.0","microtime":"^2.1.7","mocha":"^5.0.5","nyc":"^11.6.0","random-bytes":"^1.0.0"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2011-2018 bitcoinjs-lib contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"bip-schnorr@0.0.2","dist":{"shasum":"6952497d379da6b026aa349b146b5bc70c86a5ef","size":7361,"noattachment":false,"key":"/bip-schnorr/-/bip-schnorr-0.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/bip-schnorr/download/bip-schnorr-0.0.2.tgz"},"maintainers":[{"name":"guggero","email":""}],"_npmUser":{"name":"guggero","email":"gugger@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bip-schnorr_0.0.2_1546706866608_0.15247620158143693"},"_hasShrinkwrap":false,"publish_time":1546706866763,"_cnpm_publish_time":1546706866763,"_cnpmcore_publish_time":"2021-12-16T12:06:39.036Z"},"0.0.1":{"name":"bip-schnorr","version":"0.0.1","description":"Pure JavaScript implementation of the BIP schnorr signature scheme","main":"./src/index.js","engines":{"node":">=8.0.0"},"keywords":["bip","schnorr","elliptic","curve","authenticated-encryption"],"scripts":{"coverage-coveralls":"nyc mocha && nyc report --reporter=text-lcov | coveralls","coverage-html":"nyc report --reporter=html","coverage":"nyc --check-coverage --branches 70 --functions 80 --lines 80 mocha","unit":"mocha","test":"yarn run coverage"},"repository":{"type":"git","url":"https://github.com/guggero/bip-schnorr.git"},"author":{"name":"Oliver Gugger","email":"gugger@gmail.com"},"license":"MIT","dependencies":{"ecurve":"^1.0.6","js-sha256":"^0.9.0","safe-buffer":"^5.0.1"},"devDependencies":{"benchmark":"^2.1.4","coveralls":"^3.0.0","microtime":"^2.1.7","mocha":"^5.0.5","nyc":"^11.6.0","random-bytes":"^1.0.0"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2011-2018 bitcoinjs-lib contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"bip-schnorr@0.0.1","dist":{"shasum":"a38ca0d99391730aa2d2120fcc830a2e92ec7719","size":7320,"noattachment":false,"key":"/bip-schnorr/-/bip-schnorr-0.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/bip-schnorr/download/bip-schnorr-0.0.1.tgz"},"maintainers":[{"name":"guggero","email":""}],"_npmUser":{"name":"guggero","email":"gugger@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bip-schnorr_0.0.1_1546706081955_0.18391050466034775"},"_hasShrinkwrap":false,"publish_time":1546706082093,"_cnpm_publish_time":1546706082093,"_cnpmcore_publish_time":"2021-12-16T12:06:39.258Z"}},"readme":"# Pure JavaScript implementation of BIP340 Schnorr Signatures for secp256k1\n\n[![Build Status](https://travis-ci.org/guggero/bip-schnorr.svg?branch=master)](https://travis-ci.org/guggero/bip-schnorr)\n[![Coverage Status](https://coveralls.io/repos/github/guggero/bip-schnorr/badge.svg?branch=master)](https://coveralls.io/github/guggero/bip-schnorr?branch=master)\n[![Open Source Love](https://badges.frapsoft.com/os/mit/mit.svg?v=102)](https://github.com/ellerbrock/open-source-badge/)\n\n[![npm version](https://badge.fury.io/js/bip-schnorr.svg)](https://badge.fury.io/js/bip-schnorr)\n\nThis is a pure JavaScript implementation of the standard 64-byte Schnorr signature\nscheme over the elliptic curve *secp256k1*.\n\nThe code is based upon the [BIP340 proposal](https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki).\n\nThe current version passes all test vectors provided\n[here](https://github.com/bitcoin/bips/blob/master/bip-0340/test-vectors.csv).\n\nThe MuSig implementation is based upon the C implementation in the\n[secp256k1-zkp fork](https://github.com/ElementsProject/secp256k1-zkp)\n\nI am by no means an expert in high performance JavaScript or the underlying cryptography.\nThis library is slow, not peer reviewed at all, not tested (outside of passing the official test vectors) against\nother, real implementations and should therefore **only be used for educational purposes!**\nPlease do not use for production setups!\n\n\n## How to install\n\n**NPM**:\n```bash\nnpm install --save bip-schnorr\n```\n\n**yarn**:\n```bash\nyarn add bip-schnorr\n```\n\n\n## How to use\n\nNOTE: All parameters are either of type `BigInteger` or `Buffer` (or an array of those).\n\n### Schnorr\n\n```javascript\nconst Buffer = require('safe-buffer').Buffer; \nconst BigInteger = require('bigi');\nconst schnorr = require('bip-schnorr');\nconst convert = schnorr.convert;\n\n// signing\n\n// PrivateKey as BigInteger from bigi or valid hex string\nconst privateKey = BigInteger.fromHex('B7E151628AED2A6ABF7158809CF4F3C762E7160F38B4DA56A784D9045190CFEF');\nconst privateKeyHex = 'B7E151628AED2A6ABF7158809CF4F3C762E7160F38B4DA56A784D9045190CFEF';\nconst message = Buffer.from('243F6A8885A308D313198A2E03707344A4093822299F31D0082EFA98EC4E6C89', 'hex');\nconst createdSignature = schnorr.sign(privateKey, message);\nconst createdSignatureFromHex = schnorr.sign(privateKeyHex, message);\nconsole.log('The signature is: ' + createdSignature.toString('hex'));\nconsole.log('The signature is: ' + createdSignatureFromHex.toString('hex'));\n\n// verifying\nconst publicKey = Buffer.from('DFF1D77F2A671C5F36183726DB2341BE58FEAE1DA2DECED843240F7B502BA659', 'hex');\nconst signatureToVerify = Buffer.from('6D461BEB2F2DA00027D884FD13A24E2AE85CAECCA8AAA2D41777217EC38FB4960A67D47BC4F0722754EDB0E9017072600FFE4030C2E73771DCD3773F46A62652', 'hex');\ntry {\n  schnorr.verify(publicKey, message, signatureToVerify);\n  console.log('The signature is valid.');\n} catch (e) {\n  console.error('The signature verification failed: ' + e);\n}\n\n// batch verifying\nconst publicKeys = [\n  Buffer.from('9D03B28781BD34C3250E4250FEB4543AF02AC6529398EBF776AAA5C3BDA10CFD', 'hex'),\n  Buffer.from('141F9A1B6360A717A7C71CB67E98D57513A84101192DC048F4382B5DF1B3C756', 'hex'),\n  Buffer.from('F986619C277577317E362101E08F8ACF63B34623B6A4758C2254398F70564D5A', 'hex'),\n];\nconst messages = [\n  Buffer.from('243F6A8885A308D313198A2E03707344A4093822299F31D0082EFA98EC4E6C89', 'hex'),\n  Buffer.from('5E2D58D8B3BCDF1ABADEC7829054F90DDA9805AAB56C77333024B9D0A508B75C', 'hex'),\n  Buffer.from('B2F0CD8ECB23C1710903F872C31B0FD37E15224AF457722A87C5E0C7F50FFFB3', 'hex'),\n];\nconst signatures = [\n  Buffer.from('1C621A42A3397988B63FC8F6F5EA81F8C88A71E2D30B1D7F3681CC9CB99E5AC022E52FC927DCA01B3BD3A16793F06996A5FE8A9B3FA7A91EC8934AF15F12FCF8', 'hex'),\n  Buffer.from('E94ECF2B0446171E44D62311EBDB631612B8AC5C4A5974033C61B924BD11B24AFC118CB661C18B0C94FDCD3F10C6F8B3F8DDA44A20DC4308430F0396EE9F477C', 'hex'),\n  Buffer.from('F25929B90A93130BF85EC6ABA70DA6B26FDFC37F71C7E268342873575CA0C01375F372B31E5C218E30CAE08DEAEF47F37096C7E11D506EC8DC9221109B79FB2D', 'hex'),\n];\ntry {\n  schnorr.batchVerify(publicKeys, messages, signatures);\n  console.log('The signatures are valid.');\n} catch (e) {\n  console.error('The signature verification failed: ' + e);\n}\n````\n\n### muSig\n\n```javascript\nconst Buffer = require('safe-buffer').Buffer; \nconst BigInteger = require('bigi');\nconst randomBytes = require('random-bytes');\nconst randomBuffer = (len) => Buffer.from(randomBytes.sync(len));\nconst schnorr = require('bip-schnorr');\nconst convert = schnorr.convert;\nconst muSig = schnorr.muSig;\n\n// data known to every participant\nconst publicData = {\n  pubKeys: [\n    Buffer.from('846f34fdb2345f4bf932cb4b7d278fb3af24f44224fb52ae551781c3a3cad68a', 'hex'),\n    Buffer.from('cd836b1d42c51d80cef695a14502c21d2c3c644bc82f6a7052eb29247cf61f4f', 'hex'),\n    Buffer.from('b8c1765111002f09ba35c468fab273798a9058d1f8a4e276f45a1f1481dd0bdb', 'hex'),\n  ],\n  message: convert.hash(Buffer.from('muSig is awesome!', 'utf8')),\n  pubKeyHash: null,\n  pubKeyCombined: null,\n  pubKeyParity: null,\n  commitments: [],\n  nonces: [],\n  nonceCombined: null,\n  partialSignatures: [],\n  signature: null,\n};\n\n// data only known by the individual party, these values are never shared\n// between the signers!\nconst signerPrivateData = [\n  // signer 1\n  {\n    privateKey: BigInteger.fromHex('add2b25e2d356bec3770305391cbc80cab3a40057ad836bcb49ef3eed74a3fee'),\n    session: null,\n  },\n  // signer 2\n  {\n    privateKey: BigInteger.fromHex('0a1645eef5a10e1f5011269abba9fd85c4f0cc70820d6f102fb7137f2988ad78'),\n    session: null,\n  },\n  // signer 3\n  {\n    privateKey: BigInteger.fromHex('2031e7fed15c770519707bb092a6337215530e921ccea42030c15d86e8eaf0b8'),\n    session: null,\n  }\n];\n\n// -----------------------------------------------------------------------\n// Step 1: Combine the public keys\n// The public keys P_i are combined into the combined public key P.\n// This can be done by every signer individually or by the initializing\n// party and then be distributed to every participant.\n// -----------------------------------------------------------------------\npublicData.pubKeyHash = muSig.computeEll(publicData.pubKeys);\nconst pkCombined = muSig.pubKeyCombine(publicData.pubKeys, publicData.pubKeyHash);\npublicData.pubKeyCombined = convert.intToBuffer(pkCombined.affineX);\npublicData.pubKeyParity = math.isEven(pkCombined);\n\n// -----------------------------------------------------------------------\n// Step 2: Create the private signing session\n// Each signing party does this in private. The session ID *must* be\n// unique for every call to sessionInitialize, otherwise it's trivial for\n// an attacker to extract the secret key!\n// -----------------------------------------------------------------------\nsignerPrivateData.forEach((data, idx) => {\n  const sessionId = randomBuffer(32); // must never be reused between sessions!\n  data.session = muSig.sessionInitialize(\n    sessionId,\n    data.privateKey,\n    publicData.message,\n    publicData.pubKeyCombined,\n    publicData.pubKeyParity,\n    publicData.pubKeyHash,\n    idx\n  );\n});\nconst signerSession = signerPrivateData[0].session;\n\n// -----------------------------------------------------------------------\n// Step 3: Exchange commitments (communication round 1)\n// The signers now exchange the commitments H(R_i). This is simulated here\n// by copying the values from the private data to public data array.\n// -----------------------------------------------------------------------\nfor (let i = 0; i < publicData.pubKeys.length; i++) {\n  publicData.commitments[i] = signerPrivateData[i].session.commitment;\n}\n\n// -----------------------------------------------------------------------\n// Step 4: Get nonces (communication round 2)\n// Now that everybody has commited to the session, the nonces (R_i) can be\n// exchanged. Again, this is simulated by copying.\n// -----------------------------------------------------------------------\nfor (let i = 0; i < publicData.pubKeys.length; i++) {\n  publicData.nonces[i] = signerPrivateData[i].session.nonce;\n}\n\n// -----------------------------------------------------------------------\n// Step 5: Combine nonces\n// The nonces can now be combined into R. Each participant should do this\n// and keep track of whether the nonce was negated or not. This is needed\n// for the later steps.\n// -----------------------------------------------------------------------\npublicData.nonceCombined = muSig.sessionNonceCombine(signerSession, publicData.nonces);\nsignerPrivateData.forEach(data => (data.session.combinedNonceParity = signerSession.combinedNonceParity));\n\n// -----------------------------------------------------------------------\n// Step 6: Generate partial signatures\n// Every participant can now create their partial signature s_i over the\n// given message.\n// -----------------------------------------------------------------------\nsignerPrivateData.forEach(data => {\n  data.session.partialSignature = muSig.partialSign(data.session, publicData.message, publicData.nonceCombined, publicData.pubKeyCombined);\n});\n\n// -----------------------------------------------------------------------\n// Step 7: Exchange partial signatures (communication round 3)\n// The partial signature of each signer is exchanged with the other\n// participants. Simulated here by copying.\n// -----------------------------------------------------------------------\nfor (let i = 0; i < publicData.pubKeys.length; i++) {\n  publicData.partialSignatures[i] = signerPrivateData[i].session.partialSignature;\n}\n\n// -----------------------------------------------------------------------\n// Step 8: Verify individual partial signatures\n// Every participant should verify the partial signatures received by the\n// other participants.\n// -----------------------------------------------------------------------\nfor (let i = 0; i < publicData.pubKeys.length; i++) {\n  muSig.partialSigVerify(\n    signerSession,\n    publicData.partialSignatures[i],\n    publicData.nonceCombined,\n    i,\n    publicData.pubKeys[i],\n    publicData.nonces[i]\n  );\n}\n\n// -----------------------------------------------------------------------\n// Step 9: Combine partial signatures\n// Finally, the partial signatures can be combined into the full signature\n// (s, R) that can be verified against combined public key P.\n// -----------------------------------------------------------------------\npublicData.signature = muSig.partialSigCombine(publicData.nonceCombined, publicData.partialSignatures);\n\n// -----------------------------------------------------------------------\n// Step 10: Verify signature\n// The resulting signature can now be verified as a normal Schnorr\n// signature (s, R) over the message m and public key P.\n// -----------------------------------------------------------------------\nschnorr.verify(publicData.pubKeyCombined, publicData.message, publicData.signature);\n```\n\n## API\n\n### schnorr.sign(privateKey : BigInteger | string, message : Buffer) : Buffer\nSign a 32-byte message with the private key, returning a 64-byte signature.\n\n### schnorr.verify(pubKey : Buffer, message : Buffer, signature : Buffer) : void\nVerify a 64-byte signature of a 32-byte message against the public key. Throws an `Error` if verification fails.\n\n### schnorr.batchVerify(pubKeys : Buffer[], messages : Buffer[], signatures : Buffer[]) : void\nVerify a list of 64-byte signatures as a batch operation. Throws an `Error` if verification fails.\n\n### schnorr.muSig.computeEll(pubKeys : Buffer[]) : Buffer\nGenerate `ell` which is the hash over all public keys participating in a muSig session.\n\n### schnorr.muSig.pubKeyCombine(pubKeys : Buffer[], pubKeyHash : Buffer) : Point\nCreates the special rogue-key-resistant combined public key `P` by applying the MuSig coefficient\nto each public key `P_i` before adding them together.\n\n### schnorr.muSig.sessionInitialize(sessionId : Buffer, privateKey : BigInteger, message : Buffer, pubKeyCombined : Buffer, pkParity : boolean, ell : Buffer, idx : number) : Session\nCreates a signing session. Each participant must create a session and *must not share* the content\nof the session apart from the commitment and later the nonce.\n\n**It is absolutely necessary that the session ID\nis unique for every call of `sessionInitialize`. Otherwise\nit's trivial for an attacker to extract the secret key!**\n\n### schnorr.muSig.sessionNonceCombine(session : Session, nonces : Buffer[]) : Buffer\nCombines multiple nonces `R_i` into the combined nonce `R`.\n\n### schnorr.muSig.partialSign(session : Session, message : Buffer, nonceCombined : Buffer, pubKeyCombined : Buffer) : BigInteger\nCreates a partial signature `s_i` for a participant.\n\n### schnorr.muSig.partialSigVerify(session : Session, partialSig : BigInteger, nonceCombined : Buffer, idx : number, pubKey : Buffer, nonce : Buffer) : void\nVerifies a partial signature `s_i` against the participant's public key `P_i`.\nThrows an `Error` if verification fails.\n\n### schnorr.muSig.partialSigCombine(nonceCombined : Buffer, partialSigs : BigInteger[]) : Buffer\nCombines multiple partial signatures into a Schnorr signature `(s, R)` that can be verified against\nthe combined public key `P`.\n\n\n## Implementations in different languages\n* [Go implementation](https://github.com/hbakhtiyor/schnorr/)\n\n## Performance\n\nThe code is not yet optimized for performance.\n\nThe following results were achieved on an Intel Core i7-6500U running on linux/amd64 with node v10.23.0:\n\n```text\n$ node test/schnorr.benchmark.js\nSign (batch size: 1) x 26.12 ops/sec ±2.68% (47 runs sampled) 40291 us/op 25 sig/s\nSign (batch size: 2) x 13.36 ops/sec ±0.88% (37 runs sampled) 77550 us/op 26 sig/s\nSign (batch size: 4) x 6.78 ops/sec ±1.33% (21 runs sampled) 149622 us/op 27 sig/s\nSign (batch size: 8) x 3.38 ops/sec ±0.93% (13 runs sampled) 297823 us/op 27 sig/s\nSign (batch size: 16) x 1.69 ops/sec ±0.51% (9 runs sampled) 591927 us/op 27 sig/s\nSign (batch size: 32) x 0.85 ops/sec ±0.27% (7 runs sampled) 1177938 us/op 27 sig/s\nSign (batch size: 64) x 0.42 ops/sec ±0.63% (6 runs sampled) 2383795 us/op 27 sig/s\nVerify (batch size: 1) x 26.22 ops/sec ±0.76% (47 runs sampled) 39417 us/op 25 sig/s\nVerify (batch size: 2) x 13.04 ops/sec ±0.57% (36 runs sampled) 78548 us/op 25 sig/s\nVerify (batch size: 4) x 6.57 ops/sec ±0.83% (21 runs sampled) 153775 us/op 26 sig/s\nVerify (batch size: 8) x 3.28 ops/sec ±0.60% (13 runs sampled) 305802 us/op 26 sig/s\nVerify (batch size: 16) x 1.65 ops/sec ±0.58% (9 runs sampled) 605158 us/op 26 sig/s\nVerify (batch size: 32) x 0.83 ops/sec ±0.70% (7 runs sampled) 1214640 us/op 26 sig/s\nVerify (batch size: 64) x 0.41 ops/sec ±0.45% (6 runs sampled) 2428993 us/op 26 sig/s\nBatch Verify (batch size: 1) x 25.84 ops/sec ±0.82% (47 runs sampled) 39838 us/op 25 sig/s\nBatch Verify (batch size: 2) x 8.80 ops/sec ±1.02% (26 runs sampled) 115088 us/op 17 sig/s\nBatch Verify (batch size: 4) x 4.39 ops/sec ±0.64% (15 runs sampled) 231074 us/op 17 sig/s\nBatch Verify (batch size: 8) x 2.20 ops/sec ±0.36% (10 runs sampled) 457815 us/op 17 sig/s\nBatch Verify (batch size: 16) x 1.10 ops/sec ±0.56% (7 runs sampled) 909321 us/op 18 sig/s\nBatch Verify (batch size: 32) x 0.55 ops/sec ±0.28% (6 runs sampled) 1825425 us/op 18 sig/s\nBatch Verify (batch size: 64) x 0.26 ops/sec ±7.04% (5 runs sampled) 3832114 us/op 17 sig/s\nDone in 279.18s.\n```\n","_attachments":{},"homepage":"https://github.com/guggero/bip-schnorr#readme","bugs":{"url":"https://github.com/guggero/bip-schnorr/issues"},"license":"MIT"}