{"_id":"@noble/ed25519","_rev":"4576631","name":"@noble/ed25519","description":"Fastest 5KB JS implementation of ed25519 EDDSA signatures compliant with RFC8032, FIPS 186-5 & ZIP215","dist-tags":{"latest":"3.0.1","legacy-v1":"1.7.5"},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"time":{"modified":"2026-04-10T15:44:48.000Z","created":"2021-11-03T22:35:53.871Z","3.0.1":"2026-03-17T13:18:36.292Z","3.0.0":"2025-08-25T17:10:10.884Z","3.0.0-beta.1":"2025-08-17T12:10:22.243Z","2.3.0":"2025-06-11T19:16:37.888Z","1.7.5":"2025-04-16T10:48:42.894Z","1.7.4":"2025-04-14T11:22:22.278Z","2.2.3":"2025-01-20T04:03:37.230Z","2.2.2":"2025-01-02T19:24:51.828Z","2.2.1":"2025-01-02T01:36:10.343Z","2.2.0":"2025-01-02T01:33:58.518Z","2.1.0":"2024-03-24T11:09:26.557Z","2.0.0":"2023-03-24T09:58:39.711Z","1.7.3":"2023-02-07T10:01:32.815Z","1.7.2":"2023-02-04T08:50:09.341Z","1.7.1":"2022-09-11T16:39:12.738Z","1.7.0":"2022-08-26T03:18:40.471Z","1.6.1":"2022-07-02T13:35:35.404Z","1.6.0":"2022-02-14T16:05:49.478Z","1.5.3":"2022-01-28T13:05:48.151Z","1.5.2":"2022-01-27T10:22:03.589Z","1.5.1":"2022-01-18T22:05:26.627Z","1.5.0":"2022-01-17T23:16:41.620Z","1.4.0":"2022-01-05T23:50:11.519Z","1.3.3":"2021-12-31T17:49:20.544Z","1.3.2":"2021-12-30T13:32:19.678Z","1.3.1":"2021-12-30T12:18:04.727Z","1.3.0":"2021-11-03T22:35:53.871Z"},"users":{},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-ed25519.git"},"versions":{"3.0.1":{"name":"@noble/ed25519","version":"3.0.1","description":"Fastest 5KB JS implementation of ed25519 EDDSA signatures compliant with RFC8032, FIPS 186-5 & ZIP215","devDependencies":{"@noble/hashes":"2.0.1","@paulmillr/jsbt":"0.4.5","@types/node":"24.2.1","fast-check":"4.2.0","prettier":"3.6.2","typescript":"5.9.2"},"scripts":{"build":"tsc","build:release":"npx --no @paulmillr/jsbt esbuild test/build","bench":"node test/benchmark.ts","format":"prettier --write 'index.ts' 'test/**/*.{js,ts}'","test":"node --experimental-strip-types --disable-warning=ExperimentalWarning test/index.ts","test:bun":"bun test/index.ts","test:deno":"deno --allow-env --allow-read test/index.ts","test:node20":"cd test; npx tsc; node compiled/test/index.js"},"keywords":["ed25519","rfc8032","fips186","signature","eddsa","noble","cryptography","elliptic curve","rfc7748","zip215","x25519","curve25519"],"homepage":"https://paulmillr.com/noble/","funding":"https://paulmillr.com/funding/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-ed25519.git"},"type":"module","main":"index.js","module":"index.js","types":"index.d.ts","sideEffects":false,"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"license":"MIT","gitHead":"3106033673c923e4e3e14e16283951b292eed0a4","_id":"@noble/ed25519@3.0.1","bugs":{"url":"https://github.com/paulmillr/noble-ed25519/issues"},"_nodeVersion":"24.11.0","_npmVersion":"11.6.1","dist":{"shasum":"d285ef37dd97cb4733593e269aaff1932a54c80f","size":24503,"noattachment":false,"key":"/@noble/ed25519/-/@noble/ed25519-3.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/ed25519/download/@noble/ed25519-3.0.1.tgz"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b2ec0592-8cac-4010-beeb-79a9a839c871"}},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ed25519_3.0.1_1773753516134_0.4353540391159998"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-03-17T13:18:36.292Z","publish_time":1773753516292,"_source_registry_name":"default","_cnpm_publish_time":1773753516292},"3.0.0":{"name":"@noble/ed25519","version":"3.0.0","description":"Fastest 5KB JS implementation of ed25519 EDDSA signatures compliant with RFC8032, FIPS 186-5 & ZIP215","devDependencies":{"@noble/hashes":"2.0.0","@paulmillr/jsbt":"0.4.4","@types/node":"24.2.1","fast-check":"4.2.0","prettier":"3.6.2","typescript":"5.9.2"},"scripts":{"build":"tsc","build:release":"npx --no @paulmillr/jsbt esbuild test/build","bench":"node test/benchmark.ts","format":"prettier --write 'index.ts' 'test/**/*.{js,ts}'","test":"node --experimental-strip-types --disable-warning=ExperimentalWarning test/index.ts","test:bun":"bun test/index.ts","test:deno":"deno --allow-env --allow-read test/index.ts","test:node20":"cd test; npx tsc; node compiled/test/index.js"},"keywords":["ed25519","rfc8032","fips186","signature","eddsa","noble","cryptography","elliptic curve","rfc7748","zip215","x25519","curve25519"],"homepage":"https://paulmillr.com/noble/","funding":"https://paulmillr.com/funding/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-ed25519.git"},"type":"module","main":"index.js","module":"index.js","types":"index.d.ts","sideEffects":false,"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"license":"MIT","_id":"@noble/ed25519@3.0.0","gitHead":"ce13b2c8c757d96bf81e47d1f4d35208be9e8f8f","bugs":{"url":"https://github.com/paulmillr/noble-ed25519/issues"},"_nodeVersion":"24.6.0","_npmVersion":"11.5.1","dist":{"shasum":"720d4cdb6b5f632e29164a7e9d5cdfeb82a7ac86","size":24210,"noattachment":false,"key":"/@noble/ed25519/-/@noble/ed25519-3.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/ed25519/download/@noble/ed25519-3.0.0.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ed25519_3.0.0_1756141810685_0.8537728649374106"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-08-25T17:10:10.884Z","publish_time":1756141810884,"_source_registry_name":"default","_cnpm_publish_time":1756141810884},"3.0.0-beta.1":{"name":"@noble/ed25519","version":"3.0.0-beta.1","description":"Fastest 5KB JS implementation of ed25519 EDDSA signatures compliant with RFC8032, FIPS 186-5 & ZIP215","devDependencies":{"@noble/hashes":"2.0.0-beta.5","@paulmillr/jsbt":"0.4.2","@types/node":"24.2.1","fast-check":"4.2.0","micro-bmark":"0.4.2","micro-should":"0.5.3","prettier":"3.6.2","typescript":"5.9.2"},"scripts":{"build":"tsc","build:release":"npx --no @paulmillr/jsbt esbuild test/build","bench":"node test/benchmark.ts","format":"prettier --write 'index.ts' 'test/**/*.{js,ts}'","test":"node --experimental-strip-types --disable-warning=ExperimentalWarning test/index.ts","test:bun":"bun test/index.ts","test:deno":"deno --allow-env --allow-read test/index.ts","test:node20":"cd test; npx tsc; node compiled/test/index.js"},"keywords":["ed25519","rfc8032","fips186","signature","eddsa","noble","cryptography","elliptic curve","rfc7748","zip215","x25519","curve25519"],"homepage":"https://paulmillr.com/noble/","funding":"https://paulmillr.com/funding/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-ed25519.git"},"type":"module","main":"index.js","module":"index.js","types":"index.d.ts","sideEffects":false,"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"license":"MIT","_id":"@noble/ed25519@3.0.0-beta.1","readmeFilename":"README.md","gitHead":"f1fcc52e1cb9c2123d7c6c79f696bbb503174fc3","bugs":{"url":"https://github.com/paulmillr/noble-ed25519/issues"},"_nodeVersion":"24.4.1","_npmVersion":"11.4.2","dist":{"shasum":"d6ed65126325136749c53a5d6f5e00d5cc6450a4","size":24116,"noattachment":false,"key":"/@noble/ed25519/-/@noble/ed25519-3.0.0-beta.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/ed25519/download/@noble/ed25519-3.0.0-beta.1.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ed25519_3.0.0-beta.1_1755432622044_0.1936208526964771"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-08-17T12:10:22.243Z","publish_time":1755432622243,"_source_registry_name":"default","_cnpm_publish_time":1755432622243},"2.3.0":{"name":"@noble/ed25519","version":"2.3.0","description":"Fastest 4KB JS implementation of ed25519 EDDSA signatures compliant with RFC8032, FIPS 186-5 & ZIP215","type":"module","main":"index.js","module":"index.js","types":"index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build:release":"npx jsbt esbuild test/build","lint":"prettier --check 'index.ts' 'test/**/*.{js,ts}'","format":"prettier --write 'index.ts' 'test/**/*.{js,ts}'","test":"node test/index.js","test:bun":"bun test/index.js","test:deno":"deno --allow-env --allow-read test/index.js","bench":"node test/benchmark.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-ed25519.git"},"license":"MIT","devDependencies":{"@noble/hashes":"2.0.0-beta.1","@paulmillr/jsbt":"0.4.1","@types/node":"24.0.0","fast-check":"4.1.1","micro-bmark":"0.4.2","micro-should":"0.5.3","prettier":"3.5.3","typescript":"5.8.3"},"keywords":["ed25519","rfc8032","fips186","signature","eddsa","noble","cryptography","elliptic curve","rfc7748","zip215","x25519","curve25519"],"funding":"https://paulmillr.com/funding/","_id":"@noble/ed25519@2.3.0","gitHead":"6222966c3810d1ea2b8d4ca8901966f5fe21fce7","bugs":{"url":"https://github.com/paulmillr/noble-ed25519/issues"},"_nodeVersion":"22.16.0","_npmVersion":"10.9.2","dist":{"shasum":"df0dbe424cfd7da4968b956b819c15db5fbe7f21","size":23594,"noattachment":false,"key":"/@noble/ed25519/-/@noble/ed25519-2.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/ed25519/download/@noble/ed25519-2.3.0.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ed25519_2.3.0_1749669397737_0.8917386449206175"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-06-11T19:16:37.888Z","publish_time":1749669397888,"_source_registry_name":"default","_cnpm_publish_time":1749669397888},"1.7.5":{"name":"@noble/ed25519","version":"1.7.5","description":"Fastest JS implementation of ed25519. Independently audited, high-security, 0-dependency EDDSA, X25519 ECDH & ristretto255","main":"lib/index.js","module":"lib/esm/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc -d && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","lint":"prettier --print-width 100 --single-quote --check index.ts","test":"jest","bench":"node test/benchmark/benchmark.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-ed25519.git"},"license":"MIT","browser":{"crypto":false},"devDependencies":{"@noble/hashes":"1.1.2","@rollup/plugin-node-resolve":"13.3.0","@types/jest":"28.1.1","@types/node":"17.0.18","fast-check":"3.0.0","jest":"28.1.0","micro-bmark":"0.2.0","prettier":"2.6.2","rollup":"2.75.5","ts-jest":"28.0.4","typescript":"4.7.3"},"keywords":["ed25519","edwards","ristretto255","decaf","curve25519","x25519","elliptic","elliptic curve","curve","elligator","signature","ecc","eddsa","RFC7748","RFC8032","ZIP215","cryptography","security"],"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/esm/index.js","default":"./lib/index.js"}},"prettier":{"printWidth":100,"singleQuote":true},"jest":{"testRegex":"/test/.*.ts","transform":{"^.+\\.ts$":"ts-jest"},"useStderr":true,"bail":2},"funding":[{"url":"https://paulmillr.com/funding/","type":"individual"}],"_id":"@noble/ed25519@1.7.5","readmeFilename":"README.md","gitHead":"4157c0e548758ea44cb4c9691be2a0aebd1356d2","bugs":{"url":"https://github.com/paulmillr/noble-ed25519/issues"},"_nodeVersion":"23.10.0","_npmVersion":"10.9.2","dist":{"shasum":"94df8bdb9fec9c4644a56007eecb57b0e9fbd0d7","size":17279,"noattachment":false,"key":"/@noble/ed25519/-/@noble/ed25519-1.7.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/ed25519/download/@noble/ed25519-1.7.5.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ed25519_1.7.5_1744800522706_0.7840047578908089"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-04-16T10:48:42.894Z","publish_time":1744800522894,"_source_registry_name":"default","_cnpm_publish_time":1744800522894},"1.7.4":{"name":"@noble/ed25519","version":"1.7.4","description":"Fastest JS implementation of ed25519. Independently audited, high-security, 0-dependency EDDSA, X25519 ECDH & ristretto255","main":"lib/index.js","module":"lib/esm/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc -d && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","lint":"prettier --print-width 100 --single-quote --check index.ts","test":"jest","bench":"node test/benchmark/benchmark.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-ed25519.git"},"license":"MIT","browser":{"crypto":false},"devDependencies":{"@noble/hashes":"1.1.2","@rollup/plugin-node-resolve":"13.3.0","@types/jest":"28.1.1","@types/node":"17.0.18","fast-check":"3.0.0","jest":"28.1.0","micro-bmark":"0.2.0","prettier":"2.6.2","rollup":"2.75.5","ts-jest":"28.0.4","typescript":"4.7.3"},"keywords":["ed25519","edwards","ristretto255","decaf","curve25519","x25519","elliptic","elliptic curve","curve","elligator","signature","ecc","eddsa","RFC7748","RFC8032","ZIP215","cryptography","security"],"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/esm/index.js","default":"./lib/index.js"}},"prettier":{"printWidth":100,"singleQuote":true},"jest":{"testRegex":"/test/.*.ts","transform":{"^.+\\.ts$":"ts-jest"},"useStderr":true,"bail":2},"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"_id":"@noble/ed25519@1.7.4","readmeFilename":"README.md","gitHead":"c6ec8822b978ecc0c39a85e1e1e9d4a35cd83e3b","bugs":{"url":"https://github.com/paulmillr/noble-ed25519/issues"},"_nodeVersion":"23.10.0","_npmVersion":"10.9.2","dist":{"shasum":"2633ae2dd5a709ff7fdff346c43587967e01e125","size":17279,"noattachment":false,"key":"/@noble/ed25519/-/@noble/ed25519-1.7.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/ed25519/download/@noble/ed25519-1.7.4.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ed25519_1.7.4_1744629742091_0.2353686010087277"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-04-14T11:22:22.278Z","publish_time":1744629742278,"_source_registry_name":"default","_cnpm_publish_time":1744629742278},"2.2.3":{"name":"@noble/ed25519","version":"2.2.3","description":"Fastest 4KB JS implementation of ed25519 EDDSA signatures compliant with RFC8032, FIPS 186-5 & ZIP215","type":"module","main":"index.js","module":"index.js","types":"index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build:release":"npx jsbt esbuild test/build","test":"node test/index.js","test:webcrypto":"node test/ed25519.webcrypto.test.js","bench":"node test/benchmark.js","loc":"echo \"`npm run --silent build:min | wc -c` symbols `wc -l < index.ts` LOC, `npm run --silent build:mingz | wc -c`B gzipped\""},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-ed25519.git"},"license":"MIT","devDependencies":{"@noble/hashes":"1.7.1","@paulmillr/jsbt":"0.3.1","fast-check":"3.0.0","micro-bmark":"0.4.0","micro-should":"0.5.0","prettier":"^3.4.2","typescript":"5.5.2"},"keywords":["ed25519","rfc8032","fips186","signature","eddsa","noble","cryptography","elliptic curve","rfc7748","zip215","x25519","curve25519"],"exports":{".":{"types":"./index.d.ts","default":"./index.js"}},"funding":"https://paulmillr.com/funding/","_id":"@noble/ed25519@2.2.3","gitHead":"0b3fecab471c647d844b1f22bdfd92db891b6fe0","bugs":{"url":"https://github.com/paulmillr/noble-ed25519/issues"},"_nodeVersion":"22.13.0","_npmVersion":"10.9.2","dist":{"shasum":"e189810490302b076e17895b667a06cbe54339f4","size":22193,"noattachment":false,"key":"/@noble/ed25519/-/@noble/ed25519-2.2.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/ed25519/download/@noble/ed25519-2.2.3.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ed25519_2.2.3_1737345817000_0.6398512207414844"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-01-20T04:03:37.230Z","publish_time":1737345817230,"_source_registry_name":"default","_cnpm_publish_time":1737345817230},"2.2.2":{"name":"@noble/ed25519","version":"2.2.2","description":"Fastest 4KB JS implementation of ed25519 EDDSA signatures compliant with RFC8032, FIPS 186-5 & ZIP215","type":"module","main":"index.js","module":"index.js","types":"index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build:min":"cd test/build; npm install; npm run terser","build:mingz":"npm run --silent build:min | gzip -c8","build:release":"npm run --silent build:min > test/build/noble-ed25519.min.js; npm run --silent build:mingz > test/build/noble-ed25519.min.js.gz","test":"node test/index.js","test:webcrypto":"node test/ed25519.webcrypto.test.js","bench":"node test/benchmark/benchmark.js","loc":"echo \"`npm run --silent build:min | wc -c` symbols `wc -l < index.ts` LOC, `npm run --silent build:mingz | wc -c`B gzipped\""},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-ed25519.git"},"license":"MIT","devDependencies":{"@noble/hashes":"1.6.1","@paulmillr/jsbt":"0.2.1","fast-check":"3.0.0","micro-bmark":"0.3.1","micro-should":"0.4.0","typescript":"5.5.2"},"keywords":["ed25519","rfc8032","fips186","signature","eddsa","noble","cryptography","elliptic curve","rfc7748","zip215","x25519","curve25519"],"exports":{".":{"types":"./index.d.ts","default":"./index.js"}},"funding":"https://paulmillr.com/funding/","_id":"@noble/ed25519@2.2.2","gitHead":"3506e408deba6adebd8618d1fd90a749f0ba4fdf","bugs":{"url":"https://github.com/paulmillr/noble-ed25519/issues"},"_nodeVersion":"20.18.1","_npmVersion":"11.0.0","dist":{"shasum":"3d8d803ad3b30a42fedbce60fffb3485ec836243","size":22120,"noattachment":false,"key":"/@noble/ed25519/-/@noble/ed25519-2.2.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/ed25519/download/@noble/ed25519-2.2.2.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ed25519_2.2.2_1735845891568_0.7280501381699072"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-01-02T19:24:51.828Z","publish_time":1735845891828,"_source_registry_name":"default","_cnpm_publish_time":1735845891828},"2.2.1":{"name":"@noble/ed25519","version":"2.2.1","description":"Fastest 4KB JS implementation of ed25519 EDDSA signatures compliant with RFC8032, FIPS 186-5 & ZIP215","type":"module","main":"index.js","module":"index.js","types":"index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build:min":"cd test/build; npm install; npm run terser","build:mingz":"npm run --silent build:min | gzip -c8","build:release":"npm run --silent build:min > test/build/noble-ed25519.min.js; npm run --silent build:mingz > test/build/noble-ed25519.min.js.gz","test":"node test/index.js","test:webcrypto":"node test/ed25519.webcrypto.test.js","bench":"node test/benchmark/benchmark.js","loc":"echo \"`npm run --silent build:min | wc -c` symbols `wc -l < index.ts` LOC, `npm run --silent build:mingz | wc -c`B gzipped\""},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-ed25519.git"},"license":"MIT","devDependencies":{"@noble/hashes":"1.6.1","@paulmillr/jsbt":"0.2.1","fast-check":"3.0.0","micro-bmark":"0.3.1","micro-should":"0.4.0","typescript":"5.5.2"},"keywords":["ed25519","rfc8032","fips186","signature","eddsa","noble","cryptography","elliptic curve","rfc7748","zip215","x25519","curve25519"],"exports":{".":{"types":"./index.d.ts","default":"./index.js"}},"funding":"https://paulmillr.com/funding/","_id":"@noble/ed25519@2.2.1","gitHead":"d7ec80317fe04daa9b8b10ce51c4872e310bae70","bugs":{"url":"https://github.com/paulmillr/noble-ed25519/issues"},"_nodeVersion":"20.18.1","_npmVersion":"11.0.0","dist":{"shasum":"b3c4d4489cc5f3a8bcb1453bea9ea83ea3ac5518","size":21667,"noattachment":false,"key":"/@noble/ed25519/-/@noble/ed25519-2.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/ed25519/download/@noble/ed25519-2.2.1.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ed25519_2.2.1_1735781770136_0.13376396544331026"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-01-02T01:36:10.343Z","publish_time":1735781770343,"_source_registry_name":"default","_cnpm_publish_time":1735781770343},"2.2.0":{"name":"@noble/ed25519","version":"2.2.0","description":"Fastest 4KB JS implementation of ed25519 EDDSA signatures compliant with RFC8032, FIPS 186-5 & ZIP215","type":"module","main":"index.js","module":"index.js","types":"index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build:min":"cd test/build; npm install; npm run terser","build:mingz":"npm run --silent build:min | gzip -c8","build:release":"npm run --silent build:min > test/build/noble-ed25519.min.js; npm run --silent build:mingz > test/build/noble-ed25519.min.js.gz","test":"node test/index.js","test:webcrypto":"node test/ed25519.webcrypto.test.js","bench":"node test/benchmark/benchmark.js","loc":"echo \"`npm run --silent build:min | wc -c` symbols `wc -l < index.ts` LOC, `npm run --silent build:mingz | wc -c`B gzipped\""},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-ed25519.git"},"license":"MIT","devDependencies":{"@noble/hashes":"1.6.1","@paulmillr/jsbt":"0.2.1","fast-check":"3.0.0","micro-bmark":"0.3.1","micro-should":"0.4.0","typescript":"5.5.2"},"keywords":["ed25519","rfc8032","fips186","signature","eddsa","noble","cryptography","elliptic curve","rfc7748","zip215","x25519","curve25519"],"exports":{".":{"types":"./index.d.ts","default":"./index.js"}},"funding":"https://paulmillr.com/funding/","_id":"@noble/ed25519@2.2.0","gitHead":"b2ab7fc6121f6f184aa739ca25faad48917e71f0","bugs":{"url":"https://github.com/paulmillr/noble-ed25519/issues"},"_nodeVersion":"20.18.1","_npmVersion":"11.0.0","dist":{"shasum":"346e6a1efe4b2d6505ffa118a51d1105bfe6c7bd","size":21667,"noattachment":false,"key":"/@noble/ed25519/-/@noble/ed25519-2.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/ed25519/download/@noble/ed25519-2.2.0.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ed25519_2.2.0_1735781638336_0.22724209624671365"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-01-02T01:33:58.518Z","publish_time":1735781638518,"_source_registry_name":"default","_cnpm_publish_time":1735781638518},"2.1.0":{"name":"@noble/ed25519","version":"2.1.0","description":"Fastest 4KB JS implementation of ed25519 EDDSA signatures compliant with RFC8032, FIPS 186-5 & ZIP215","type":"module","main":"index.js","module":"index.js","types":"index.d.ts","sideEffects":false,"scripts":{"build":"tsc","build:min":"cd test/build; npm install; npm run terser","build:mingz":"npm run --silent build:min | gzip -c8","build:release":"npm run --silent build:min > test/build/noble-ed25519.min.js; npm run --silent build:mingz > test/build/noble-ed25519.min.js.gz","test":"node test/index.test.js","test:webcrypto":"node test/ed25519.webcrypto.test.js","bench":"node test/benchmark/benchmark.js","loc":"echo \"`npm run --silent build:min | wc -c` symbols `wc -l < index.ts` LOC, `npm run --silent build:mingz | wc -c`B gzipped\""},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-ed25519.git"},"license":"MIT","devDependencies":{"@noble/hashes":"1.4.0","@paulmillr/jsbt":"0.1.0","fast-check":"3.0.0","micro-bmark":"0.3.0","micro-should":"0.4.0","typescript":"5.3.2"},"keywords":["ed25519","rfc8032","fips186","signature","eddsa","noble","cryptography","elliptic curve","rfc7748","zip215","x25519","curve25519"],"exports":{".":{"types":"./index.d.ts","default":"./index.js"}},"funding":"https://paulmillr.com/funding/","_id":"@noble/ed25519@2.1.0","gitHead":"90058fe15f3724b02caa5b4ab803da393e7bb8ef","bugs":{"url":"https://github.com/paulmillr/noble-ed25519/issues"},"_nodeVersion":"20.11.1","_npmVersion":"10.5.0","dist":{"shasum":"4bf661de9ee0ad775d41fcacbfc9aeec491f459c","size":20974,"noattachment":false,"key":"/@noble/ed25519/-/@noble/ed25519-2.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/ed25519/download/@noble/ed25519-2.1.0.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ed25519_2.1.0_1711278566335_0.9817924036088275"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-03-24T11:09:26.557Z","publish_time":1711278566557,"_source_registry_name":"default","_cnpm_publish_time":1711278566557},"2.0.0":{"name":"@noble/ed25519","version":"2.0.0","description":"Fastest 4KB JS implementation of ed25519 elliptic curve. Auditable, high-security, 0-dependency EDDSA signatures compliant with RFC8032 & ZIP215","type":"module","main":"index.js","module":"index.js","types":"index.d.ts","scripts":{"build":"tsc","build:release":"rollup -c rollup.config.js","test":"node test/ed25519.test.mjs","bench":"node test/benchmark/benchmark.js","min":"cd test/build; npm install; npm run terser","loc":"echo \"`npm run --silent min | wc -c` symbols `wc -l < index.ts` LOC, `npm run --silent min | gzip -c8 | wc -c`B gzipped\""},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-ed25519.git"},"license":"MIT","devDependencies":{"@noble/hashes":"1.3.0","fast-check":"3.0.0","micro-bmark":"0.3.0","micro-should":"0.4.0","typescript":"5.0.2"},"keywords":["ed25519","rfc8032","signature","eddsa","noble","cryptography","elliptic curve","ecc","curve","rfc7748","zip215","ristretto255","x25519","curve25519"],"exports":{".":{"types":"./index.d.ts","default":"./index.js"}},"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"gitHead":"12137de25bdc418dd184f08e7d503d92c991b920","bugs":{"url":"https://github.com/paulmillr/noble-ed25519/issues"},"_id":"@noble/ed25519@2.0.0","_nodeVersion":"19.6.0","_npmVersion":"9.4.0","dist":{"shasum":"5964c8190a4b4b804985717ca566113b93379e43","size":19577,"noattachment":false,"key":"/@noble/ed25519/-/@noble/ed25519-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/ed25519/download/@noble/ed25519-2.0.0.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ed25519_2.0.0_1679651919540_0.6898355578404123"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-03-24T09:58:39.711Z","publish_time":1679651919711,"_cnpm_publish_time":1679651919711},"1.7.3":{"name":"@noble/ed25519","version":"1.7.3","description":"Fastest JS implementation of ed25519. Independently audited, high-security, 0-dependency EDDSA, X25519 ECDH & ristretto255","main":"lib/index.js","module":"lib/esm/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc -d && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","lint":"prettier --print-width 100 --single-quote --check index.ts","test":"jest","bench":"node test/benchmark/benchmark.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-ed25519.git"},"license":"MIT","browser":{"crypto":false},"devDependencies":{"@noble/hashes":"1.1.2","@rollup/plugin-node-resolve":"13.3.0","@types/jest":"28.1.1","@types/node":"17.0.18","fast-check":"3.0.0","jest":"28.1.0","micro-bmark":"0.2.0","prettier":"2.6.2","rollup":"2.75.5","ts-jest":"28.0.4","typescript":"4.7.3"},"keywords":["ed25519","edwards","ristretto255","decaf","curve25519","x25519","elliptic","elliptic curve","curve","elligator","signature","ecc","eddsa","RFC7748","RFC8032","ZIP215","cryptography","security"],"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/esm/index.js","default":"./lib/index.js"}},"prettier":{"printWidth":100,"singleQuote":true},"jest":{"testRegex":"/test/.*.ts","transform":{"^.+\\.ts$":"ts-jest"},"useStderr":true,"bail":2},"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"gitHead":"7e4f9da44c1f34d6ae24c0931c38b95f00f880a7","bugs":{"url":"https://github.com/paulmillr/noble-ed25519/issues"},"_id":"@noble/ed25519@1.7.3","_nodeVersion":"19.6.0","_npmVersion":"9.4.0","dist":{"shasum":"57e1677bf6885354b466c38e2b620c62f45a7123","size":17025,"noattachment":false,"key":"/@noble/ed25519/-/@noble/ed25519-1.7.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/ed25519/download/@noble/ed25519-1.7.3.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ed25519_1.7.3_1675764092662_0.9143959687950074"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-02-07T10:01:32.815Z","publish_time":1675764092815,"_cnpm_publish_time":1675764092815},"1.7.2":{"name":"@noble/ed25519","version":"1.7.2","description":"Fastest JS implementation of ed25519. Independently audited, high-security, 0-dependency EDDSA, X25519 ECDH & ristretto255","main":"lib/index.js","module":"lib/esm/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc -d && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","lint":"prettier --print-width 100 --single-quote --check index.ts","test":"jest","bench":"node test/benchmark/benchmark.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-ed25519.git"},"license":"MIT","browser":{"crypto":false},"devDependencies":{"@noble/hashes":"1.1.2","@rollup/plugin-node-resolve":"13.3.0","@types/jest":"28.1.1","@types/node":"17.0.18","fast-check":"3.0.0","jest":"28.1.0","micro-bmark":"0.2.0","prettier":"2.6.2","rollup":"2.75.5","ts-jest":"28.0.4","typescript":"4.7.3"},"keywords":["ed25519","edwards","ristretto255","decaf","curve25519","x25519","elliptic","elliptic curve","curve","elligator","signature","ecc","eddsa","RFC7748","RFC8032","ZIP215","cryptography","security"],"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/esm/index.js","default":"./lib/index.js"}},"prettier":{"printWidth":100,"singleQuote":true},"jest":{"testRegex":"/test/.*.ts","transform":{"^.+\\.ts$":"ts-jest"},"useStderr":true,"bail":2},"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"gitHead":"9fb2bf28074fa46e81621d13bab6a8938f259aa9","bugs":{"url":"https://github.com/paulmillr/noble-ed25519/issues"},"_id":"@noble/ed25519@1.7.2","_nodeVersion":"19.5.0","_npmVersion":"9.3.1","dist":{"shasum":"7f8f395096a6417a65b8953d2a77fa48183c4c0a","size":17026,"noattachment":false,"key":"/@noble/ed25519/-/@noble/ed25519-1.7.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/ed25519/download/@noble/ed25519-1.7.2.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ed25519_1.7.2_1675500609186_0.9514593821166359"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-02-04T08:50:09.341Z","publish_time":1675500609341,"_cnpm_publish_time":1675500609341},"1.7.1":{"name":"@noble/ed25519","version":"1.7.1","description":"Fastest JS implementation of ed25519. Independently audited, high-security, 0-dependency EDDSA, X25519 ECDH & ristretto255","main":"lib/index.js","module":"lib/esm/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc -d && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","lint":"prettier --print-width 100 --single-quote --check index.ts","test":"jest","bench":"node test/benchmark/benchmark.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-ed25519.git"},"license":"MIT","browser":{"crypto":false},"devDependencies":{"@noble/hashes":"1.1.2","@rollup/plugin-node-resolve":"13.3.0","@types/jest":"28.1.1","@types/node":"17.0.18","fast-check":"3.0.0","jest":"28.1.0","micro-bmark":"0.2.0","prettier":"2.6.2","rollup":"2.75.5","ts-jest":"28.0.4","typescript":"4.7.3"},"keywords":["ed25519","edwards","ristretto255","decaf","curve25519","x25519","elliptic","elliptic curve","curve","elligator","signature","ecc","eddsa","RFC7748","RFC8032","ZIP215","cryptography","security"],"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/esm/index.js","default":"./lib/index.js"}},"prettier":{"printWidth":100,"singleQuote":true},"jest":{"testRegex":"/test/.*.ts","transform":{"^.+\\.ts$":"ts-jest"},"useStderr":true,"bail":2},"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"gitHead":"c0b1120e74e391c99740e7bbaa61ec84f434e23e","bugs":{"url":"https://github.com/paulmillr/noble-ed25519/issues"},"_id":"@noble/ed25519@1.7.1","_nodeVersion":"18.8.0","_npmVersion":"8.18.0","dist":{"shasum":"6899660f6fbb97798a6fbd227227c4589a454724","size":16859,"noattachment":false,"key":"/@noble/ed25519/-/@noble/ed25519-1.7.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/ed25519/download/@noble/ed25519-1.7.1.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ed25519_1.7.1_1662914352571_0.7728640772571469"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-09-11T16:39:37.395Z","publish_time":1662914352738,"_cnpm_publish_time":1662914352738},"1.7.0":{"name":"@noble/ed25519","version":"1.7.0","description":"Fastest JS implementation of ed25519. Independently audited, high-security, 0-dependency EDDSA, X25519 ECDH & ristretto255","main":"lib/index.js","module":"lib/esm/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc -d && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","lint":"prettier --print-width 100 --single-quote --check index.ts","test":"jest","bench":"node test/benchmark/benchmark.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-ed25519.git"},"license":"MIT","browser":{"crypto":false},"devDependencies":{"@noble/hashes":"1.1.2","@rollup/plugin-node-resolve":"13.3.0","@types/jest":"28.1.1","@types/node":"17.0.18","fast-check":"3.0.0","jest":"28.1.0","micro-bmark":"0.2.0","prettier":"2.6.2","rollup":"2.75.5","ts-jest":"28.0.4","typescript":"4.7.3"},"keywords":["ed25519","edwards","ristretto255","decaf","curve25519","x25519","elliptic","elliptic curve","curve","elligator","signature","ecc","eddsa","RFC7748","RFC8032","ZIP215","cryptography","security"],"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/esm/index.js","default":"./lib/index.js"}},"prettier":{"printWidth":100,"singleQuote":true},"jest":{"testRegex":"/test/.*.ts","transform":{"^.+\\.ts$":"ts-jest"},"useStderr":true,"bail":2},"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"gitHead":"13fdc786265b89509eb59dd1650cd097339ea5cf","bugs":{"url":"https://github.com/paulmillr/noble-ed25519/issues"},"_id":"@noble/ed25519@1.7.0","_nodeVersion":"18.8.0","_npmVersion":"8.18.0","dist":{"shasum":"583ac38340a479314b9e348d4572101ed9492f9d","size":16772,"noattachment":false,"key":"/@noble/ed25519/-/@noble/ed25519-1.7.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/ed25519/download/@noble/ed25519-1.7.0.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ed25519_1.7.0_1661483920240_0.5708232339027803"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-08-26T03:18:45.494Z","publish_time":1661483920471,"_cnpm_publish_time":1661483920471},"1.6.1":{"name":"@noble/ed25519","version":"1.6.1","description":"Fastest JS implementation of ed25519. Independently audited, high-security, 0-dependency EDDSA, X25519 ECDH, ristretto255 & scalarmult","main":"lib/index.js","module":"lib/esm/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc -d && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","lint":"prettier --print-width 100 --single-quote --check index.ts","test":"jest","bench":"node test/benchmark.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-ed25519.git"},"license":"MIT","browser":{"crypto":false},"devDependencies":{"@rollup/plugin-node-resolve":"13.3.0","@types/jest":"28.1.1","@types/node":"17.0.18","fast-check":"3.0.0","jest":"28.1.0","micro-bmark":"^0.1.3","prettier":"2.6.2","rollup":"2.75.5","ts-jest":"28.0.4","typescript":"4.7.3"},"keywords":["ed25519","edwards","ristretto255","decaf","curve25519","x25519","elliptic","elliptic curve","curve","elligator","signature","ecc","eddsa","RFC7748","RFC8032","ZIP215","cryptography","security"],"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/esm/index.js","default":"./lib/index.js"}},"prettier":{"printWidth":100,"singleQuote":true},"jest":{"testRegex":"/test/.*.ts","transform":{"^.+\\.ts$":"ts-jest"},"useStderr":true,"bail":2},"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"gitHead":"731d8faea7752af987ca7d6f3f982644ca45b80f","bugs":{"url":"https://github.com/paulmillr/noble-ed25519/issues"},"_id":"@noble/ed25519@1.6.1","_nodeVersion":"18.3.0","_npmVersion":"8.11.0","dist":{"shasum":"bad3e77008c7825a0859304ab8b4177703cd438d","size":15918,"noattachment":false,"key":"/@noble/ed25519/-/@noble/ed25519-1.6.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/ed25519/download/@noble/ed25519-1.6.1.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ed25519_1.6.1_1656768935228_0.4635819232230962"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-07-02T14:04:16.392Z","publish_time":1656768935404,"_cnpm_publish_time":1656768935404},"1.6.0":{"name":"@noble/ed25519","version":"1.6.0","description":"Fastest JS implementation of ed25519. Independently audited, high-security, 0-dependency EDDSA, X25519 ECDH, ristretto255 & scalarmult","main":"lib/index.js","module":"lib/esm/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc -d && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","lint":"prettier --print-width 100 --single-quote --check index.ts","test":"jest","bench":"node test/benchmark.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-ed25519.git"},"license":"MIT","browser":{"crypto":false},"devDependencies":{"@rollup/plugin-node-resolve":"^13.0.0","@types/jest":"^27","@types/node":"^16","fast-check":"^2.14.0","jest":"^27.4.5","micro-bmark":"^0.1.3","prettier":"^2.5.1","rollup":"^2.62.0","ts-jest":"^27.1.2","typescript":"4.5.4"},"keywords":["ed25519","edwards","ristretto255","decaf","curve25519","x25519","elliptic","elliptic curve","curve","elligator","signature","ecc","eddsa","RFC7748","RFC8032","ZIP215","cryptography","security"],"exports":{".":{"import":"./lib/esm/index.js","default":"./lib/index.js"},"./index.d.ts":"./lib/index.d.ts"},"jest":{"testRegex":"/test/.*.ts","transform":{"^.+\\.ts$":"ts-jest"},"useStderr":true,"bail":2},"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"gitHead":"edeb48a685c386b8b2d5b4be6b7dc5c432839e05","bugs":{"url":"https://github.com/paulmillr/noble-ed25519/issues"},"_id":"@noble/ed25519@1.6.0","_nodeVersion":"17.4.0","_npmVersion":"8.4.0","dist":{"shasum":"b55f7c9e532b478bf1d7c4f609e1f3a37850b583","size":15890,"noattachment":false,"key":"/@noble/ed25519/-/@noble/ed25519-1.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/ed25519/download/@noble/ed25519-1.6.0.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ed25519_1.6.0_1644854749283_0.3045502345031963"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-02-14T16:05:57.743Z","publish_time":1644854749478,"_cnpm_publish_time":1644854749478},"1.5.3":{"name":"@noble/ed25519","version":"1.5.3","description":"Fastest JS implementation of ed25519 & ristretto255. Auditable, high-security, 0-dependency EDDSA, X25519 ECDH & scalarmult","main":"lib/index.js","module":"lib/esm/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc -d && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","lint":"prettier --print-width 100 --single-quote --check index.ts","test":"jest","bench":"node test/benchmark.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-ed25519.git"},"license":"MIT","browser":{"crypto":false},"devDependencies":{"@rollup/plugin-node-resolve":"^13.0.0","@types/jest":"^27","@types/node":"^16","fast-check":"^2.14.0","jest":"^27.4.5","micro-bmark":"^0.1.3","prettier":"^2.5.1","rollup":"^2.62.0","ts-jest":"^27.1.2","typescript":"4.5.4"},"keywords":["ed25519","edwards","ristretto255","decaf","curve25519","x25519","elliptic","elliptic curve","curve","elligator","signature","ecc","eddsa","RFC7748","RFC8032","ZIP215","cryptography","security"],"exports":{".":{"import":"./lib/esm/index.js","default":"./lib/index.js"},"./index.d.ts":"./lib/index.d.ts"},"jest":{"testRegex":"/test/.*.ts","transform":{"^.+\\.ts$":"ts-jest"},"useStderr":true,"bail":2},"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"gitHead":"17144f066ed171697fae7f94d92c759b3bb84061","bugs":{"url":"https://github.com/paulmillr/noble-ed25519/issues"},"_id":"@noble/ed25519@1.5.3","_nodeVersion":"16.13.2","_npmVersion":"8.3.2","dist":{"shasum":"10a66012b67888230304679df655975a414f83c2","size":14480,"noattachment":false,"key":"/@noble/ed25519/-/@noble/ed25519-1.5.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/ed25519/download/@noble/ed25519-1.5.3.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ed25519_1.5.3_1643375147955_0.9754810027659511"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-01-28T13:06:11.299Z","publish_time":1643375148151,"_cnpm_publish_time":1643375148151},"1.5.2":{"name":"@noble/ed25519","version":"1.5.2","description":"Fastest JS implementation of ed25519 & ristretto255. Auditable, high-security, 0-dependency EDDSA, X25519 ECDH & scalarmult","main":"lib/index.js","module":"lib/esm/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc -d && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","lint":"prettier --print-width 100 --single-quote --check index.ts","test":"jest","bench":"node test/benchmark.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-ed25519.git"},"license":"MIT","browser":{"crypto":false},"devDependencies":{"@rollup/plugin-node-resolve":"^13.0.0","@types/jest":"^27","@types/node":"^16","fast-check":"^2.14.0","jest":"^27.4.5","micro-bmark":"^0.1.3","prettier":"^2.5.1","rollup":"^2.62.0","ts-jest":"^27.1.2","typescript":"4.5.4"},"keywords":["ed25519","edwards","ristretto255","decaf","curve25519","x25519","elliptic","elliptic curve","curve","elligator","signature","ecc","eddsa","RFC7748","RFC8032","cryptography","security"],"exports":{".":{"import":"./lib/esm/index.js","default":"./lib/index.js"},"./index.d.ts":"./lib/index.d.ts"},"jest":{"testRegex":"/test/.*.ts","transform":{"^.+\\.ts$":"ts-jest"},"useStderr":true,"bail":2},"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"gitHead":"ee83b99d808a685f8cb842954f50830f4b940a9e","bugs":{"url":"https://github.com/paulmillr/noble-ed25519/issues"},"_id":"@noble/ed25519@1.5.2","_nodeVersion":"16.13.2","_npmVersion":"8.3.2","dist":{"shasum":"7b787fa4497de979e142e500049cbefd94e6f95a","size":14145,"noattachment":false,"key":"/@noble/ed25519/-/@noble/ed25519-1.5.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/ed25519/download/@noble/ed25519-1.5.2.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ed25519_1.5.2_1643278923234_0.0887627137505198"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-01-27T10:22:25.154Z","publish_time":1643278923589,"_cnpm_publish_time":1643278923589},"1.5.1":{"name":"@noble/ed25519","version":"1.5.1","description":"Fastest JS implementation of ed25519 & ristretto255. Auditable, high-security, 0-dependency EDDSA, X25519 ECDH & scalarmult","main":"lib/index.js","module":"lib/esm/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc -d && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","lint":"prettier --print-width 100 --single-quote --check index.ts","test":"jest","bench":"node test/benchmark.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-ed25519.git"},"license":"MIT","browser":{"crypto":false},"devDependencies":{"@rollup/plugin-node-resolve":"^13.0.0","@types/jest":"^27","@types/node":"^16","fast-check":"^2.14.0","jest":"^27.4.5","micro-bmark":"^0.1.3","prettier":"^2.5.1","rollup":"^2.62.0","ts-jest":"^27.1.2","typescript":"4.5.4"},"keywords":["ed25519","edwards","ristretto255","decaf","curve25519","x25519","elliptic","elliptic curve","curve","elligator","signature","ecc","eddsa","RFC7748","RFC8032","cryptography","security"],"exports":{".":{"import":"./lib/esm/index.js","default":"./lib/index.js"},"./index.d.ts":"./lib/index.d.ts"},"jest":{"testRegex":"/test/.*.ts","transform":{"^.+\\.ts$":"ts-jest"},"useStderr":true,"bail":2},"funding":[{"type":"individual","url":"https://paulmillr.com/funding/"}],"gitHead":"236c692143e68f70d467e501c9aa2bce1b9db2f9","bugs":{"url":"https://github.com/paulmillr/noble-ed25519/issues"},"_id":"@noble/ed25519@1.5.1","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"shasum":"e5f602440b03046b02b79a49c143460bbb728e64","size":14130,"noattachment":false,"key":"/@noble/ed25519/-/@noble/ed25519-1.5.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/ed25519/download/@noble/ed25519-1.5.1.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ed25519_1.5.1_1642543526394_0.9892809813708148"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-01-18T22:05:35.711Z","publish_time":1642543526627,"_cnpm_publish_time":1642543526627},"1.5.0":{"name":"@noble/ed25519","version":"1.5.0","description":"Fastest JS implementation of ed25519 & ristretto255. Auditable, high-security, 0-dependency EDDSA, X25519 ECDH & scalarmult","main":"lib/index.js","module":"lib/esm/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc -d && tsc -p tsconfig.esm.json","build:release":"rollup -c rollup.config.js","lint":"prettier --print-width 100 --single-quote --check index.ts","test":"jest","bench":"node test/benchmark.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-ed25519.git"},"license":"MIT","browser":{"crypto":false},"devDependencies":{"@rollup/plugin-node-resolve":"^13.0.0","@types/jest":"^27","@types/node":"^16","fast-check":"^2.14.0","jest":"^27.4.5","micro-bmark":"^0.1.3","prettier":"^2.5.1","rollup":"^2.62.0","ts-jest":"^27.1.2","typescript":"4.5.4"},"keywords":["ed25519","edwards","ristretto255","decaf","curve25519","x25519","elliptic","elliptic curve","curve","elligator","signature","ecc","eddsa","RFC7748","RFC8032","cryptography","security"],"exports":{".":{"import":"./lib/esm/index.js","default":"./lib/index.js"},"./index.d.ts":"./lib/index.d.ts"},"jest":{"testRegex":"/test/.*.ts","transform":{"^.+\\.ts$":"ts-jest"},"useStderr":true,"bail":2},"gitHead":"619aa952d1d701cce1319d7526310455f1bd5928","bugs":{"url":"https://github.com/paulmillr/noble-ed25519/issues"},"_id":"@noble/ed25519@1.5.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"shasum":"9c1a7917da0a0b2f7bf1d9975eb4fd916b7f184d","size":14114,"noattachment":false,"key":"/@noble/ed25519/-/@noble/ed25519-1.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/ed25519/download/@noble/ed25519-1.5.0.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ed25519_1.5.0_1642461401416_0.13715241775602283"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-01-17T23:16:47.516Z","publish_time":1642461401620,"_cnpm_publish_time":1642461401620},"1.4.0":{"name":"@noble/ed25519","version":"1.4.0","description":"Fastest JS implementation of ed25519 & ristretto255. Auditable, high-security, 0-dependency pubkey, scalarmult & EDDSA","main":"lib/index.js","module":"lib/esm/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc -d && tsc -p tsconfig.esm.json","build-release":"rollup -c rollup.config.js","lint":"prettier --print-width 100 --single-quote --check index.ts","test":"jest","bench":"node test/benchmark.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/noble/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-ed25519.git"},"license":"MIT","browser":{"crypto":false},"devDependencies":{"@rollup/plugin-node-resolve":"^13.0.0","@types/jest":"^27","@types/node":"^16","fast-check":"^2.14.0","jest":"^27.4.5","micro-bmark":"^0.1.3","prettier":"^2.5.1","rollup":"^2.62.0","ts-jest":"^27.1.2","typescript":"4.5.4"},"keywords":["ed25519","edwards","ristretto255","decaf","curve25519","x25519","elliptic","elliptic curve","curve","elligator","signature","ecc","eddsa","ecdsa","cryptography","security"],"exports":{".":{"import":"./lib/esm/index.js","default":"./lib/index.js"},"./index.d.ts":"./lib/index.d.ts"},"jest":{"testRegex":"/test/.*.ts","transform":{"^.+\\.ts$":"ts-jest"},"useStderr":true,"bail":2},"gitHead":"2ae85ff10c92bba6c2342f649128038f1bf1dea6","bugs":{"url":"https://github.com/paulmillr/noble-ed25519/issues"},"_id":"@noble/ed25519@1.4.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"shasum":"12956dcd472cb325ef988c2e487e475030ac5f46","size":13174,"noattachment":false,"key":"/@noble/ed25519/-/@noble/ed25519-1.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/ed25519/download/@noble/ed25519-1.4.0.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ed25519_1.4.0_1641426611294_0.7022315251661382"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-01-05T23:50:20.625Z","publish_time":1641426611519,"_cnpm_publish_time":1641426611519},"1.3.3":{"name":"@noble/ed25519","version":"1.3.3","description":"Fastest JS implementation of ed25519 & ristretto255. Auditable, high-security, 0-dependency pubkey, scalarmult & EDDSA","main":"lib/index.js","module":"lib/esm/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc -d && tsc -p tsconfig.esm.json","build-release":"rollup -c rollup.config.js","lint":"prettier --print-width 100 --single-quote --check index.ts","test":"jest","bench":"node test/benchmark.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/posts/noble-secp256k1-fast-ecc/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-ed25519.git"},"license":"MIT","browser":{"crypto":false},"devDependencies":{"@rollup/plugin-node-resolve":"^13.0.0","@types/jest":"^27","@types/node":"^16","fast-check":"^2.14.0","jest":"^27.4.5","micro-bmark":"^0.1.3","prettier":"^2.5.1","rollup":"^2.62.0","ts-jest":"^27.1.2","typescript":"^4.5"},"keywords":["ed25519","edwards","ristretto255","decaf","curve25519","x25519","elliptic","elliptic curve","curve","elligator","signature","ecc","eddsa","ecdsa","cryptography","security"],"exports":{".":{"import":"./lib/esm/index.js","default":"./lib/index.js"},"./index.d.ts":"./lib/index.d.ts"},"jest":{"testRegex":"/test/.*.ts","transform":{"^.+\\.ts$":"ts-jest"},"useStderr":true,"bail":2},"gitHead":"321ba831185bd22764d4a3621c1bfcfe75b9561f","bugs":{"url":"https://github.com/paulmillr/noble-ed25519/issues"},"_id":"@noble/ed25519@1.3.3","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"shasum":"ce08b3331924606ab154a9fc005adfd271f2f3c7","size":13163,"noattachment":false,"key":"/@noble/ed25519/-/@noble/ed25519-1.3.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/ed25519/download/@noble/ed25519-1.3.3.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ed25519_1.3.3_1640972960394_0.02261443153989462"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-31T17:49:28.186Z","publish_time":1640972960544,"_cnpm_publish_time":1640972960544},"1.3.2":{"name":"@noble/ed25519","version":"1.3.2","description":"Fastest JS implementation of ed25519 & ristretto255. Auditable, high-security, 0-dependency pubkey, scalarmult & EDDSA","main":"lib/index.js","module":"lib/esm/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc -d && tsc -p tsconfig.esm.json","build-release":"rollup -c rollup.config.js","lint":"prettier --print-width 100 --single-quote --check index.ts","test":"jest","bench":"node test/benchmark.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/posts/noble-secp256k1-fast-ecc/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-ed25519.git"},"license":"MIT","browser":{"crypto":false},"devDependencies":{"@rollup/plugin-node-resolve":"^13.0.0","@types/jest":"^27","@types/node":"^16","fast-check":"^2.14.0","jest":"^27.4.5","micro-bmark":"^0.1.3","prettier":"^2.5.1","rollup":"^2.62.0","ts-jest":"^27.1.2","typescript":"^4.5"},"keywords":["ed25519","edwards","ristretto255","decaf","curve25519","x25519","elliptic","elliptic curve","curve","elligator","signature","ecc","eddsa","ecdsa","cryptography","security"],"exports":{".":{"import":"./lib/esm/index.js","default":"./lib/index.js"},"./index.d.ts":"./lib/index.d.ts"},"jest":{"testRegex":"/test/.*.ts","transform":{"^.+\\.ts$":"ts-jest"},"useStderr":true,"bail":2},"gitHead":"5b48a64b91bc62d2698b998975e1c0334bb917bc","bugs":{"url":"https://github.com/paulmillr/noble-ed25519/issues"},"_id":"@noble/ed25519@1.3.2","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"shasum":"4375062a7994c806cac506620203466901148866","size":13134,"noattachment":false,"key":"/@noble/ed25519/-/@noble/ed25519-1.3.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/ed25519/download/@noble/ed25519-1.3.2.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ed25519_1.3.2_1640871139569_0.8594785852621358"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-30T13:32:41.122Z","publish_time":1640871139678,"_cnpm_publish_time":1640871139678},"1.3.1":{"name":"@noble/ed25519","version":"1.3.1","description":"Fastest JS implementation of ed25519 & ristretto255. Auditable, high-security, 0-dependency pubkey, scalarmult & EDDSA","main":"lib/index.js","module":"lib/esm/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc -d && tsc -p tsconfig.esm.json","build-release":"rollup -c rollup.config.js","lint":"prettier --print-width 100 --single-quote --check index.ts","test":"jest","bench":"node test/benchmark.js"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/posts/noble-secp256k1-fast-ecc/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-ed25519.git"},"license":"MIT","browser":{"crypto":false},"devDependencies":{"@rollup/plugin-node-resolve":"^13.0.0","@types/jest":"^27","@types/node":"^16","fast-check":"^2.14.0","jest":"^27.4.5","micro-bmark":"^0.1.3","prettier":"^2.5.1","rollup":"^2.62.0","ts-jest":"^27.1.2","typescript":"^4.5"},"keywords":["ed25519","edwards","ristretto255","decaf","curve25519","x25519","elliptic","elliptic curve","curve","elligator","signature","ecc","eddsa","ecdsa","cryptography","security"],"exports":{".":{"import":"./lib/esm/index.js","default":"./lib/index.js"},"./index.d.ts":"./lib/index.d.ts"},"jest":{"testRegex":"/test/.*.ts","transform":{"^.+\\.ts$":"ts-jest"},"useStderr":true,"bail":2},"gitHead":"cda2089a6bd3c380d0594e7d6c8e910c20e853c6","bugs":{"url":"https://github.com/paulmillr/noble-ed25519/issues"},"_id":"@noble/ed25519@1.3.1","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"shasum":"587147e11fe02abd4d68b24a873d344e901d52e0","size":12945,"noattachment":false,"key":"/@noble/ed25519/-/@noble/ed25519-1.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/ed25519/download/@noble/ed25519-1.3.1.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ed25519_1.3.1_1640866684573_0.9203117637573257"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-30T12:30:10.441Z","publish_time":1640866684727,"_cnpm_publish_time":1640866684727},"1.3.0":{"name":"@noble/ed25519","version":"1.3.0","description":"Fastest JS implementation of ed25519 & ristretto255. Auditable, high-security, 0-dependency pubkey, scalarmult & EDDSA","main":"index.js","types":"index.d.ts","scripts":{"build":"tsc -d","build-release":"rollup -c rollup.config.js","lint":"prettier --print-width 100 --single-quote --check index.ts","test":"jest","bench":"node test/benchmark.js"},"jest":{"testRegex":"/test/.*.ts","transform":{"^.+\\.ts$":"ts-jest"},"useStderr":true,"bail":2},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"homepage":"https://paulmillr.com/posts/noble-secp256k1-fast-ecc/","repository":{"type":"git","url":"git+https://github.com/paulmillr/noble-ed25519.git"},"license":"MIT","browser":{"crypto":false},"devDependencies":{"@rollup/plugin-commonjs":"^19.0.0","@rollup/plugin-node-resolve":"^13.0.0","@types/jest":"^26.0.22","@types/node":"^14.14.41","fast-check":"^2.14.0","jest":"^26.6.3","micro-bmark":"^0.1.3","prettier":"^2.2.1","rollup":"^2.50.4","ts-jest":"^26.5.5","typescript":"^4.2.4"},"keywords":["ed25519","edwards","ristretto255","decaf","curve25519","x25519","elliptic","elliptic curve","curve","signature","ecc","eddsa","ecdsa","cryptography","security"],"gitHead":"48c030a1ab43a59394050f8d6a8232566eabfcc2","bugs":{"url":"https://github.com/paulmillr/noble-ed25519/issues"},"_id":"@noble/ed25519@1.3.0","_nodeVersion":"16.11.0","_npmVersion":"8.1.0","dist":{"shasum":"a55b6bdd18991d6051f819e9c71d9341706a751e","size":12210,"noattachment":false,"key":"/@noble/ed25519/-/@noble/ed25519-1.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@noble/ed25519/download/@noble/ed25519-1.3.0.tgz"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ed25519_1.3.0_1635978953711_0.9513605742398619"},"_hasShrinkwrap":false,"publish_time":1635978953871,"_cnpm_publish_time":1635978953871,"_cnpmcore_publish_time":"2021-12-16T10:49:18.736Z"}},"readme":"# noble-ed25519\n\nFastest 5KB JS implementation of ed25519 signatures.\n\n- ✍️ [EDDSA](https://en.wikipedia.org/wiki/EdDSA) signatures compliant with\n  [RFC8032](https://tools.ietf.org/html/rfc8032), FIPS 186-5\n- ???? Consensus-friendly, compliant with [ZIP215](https://zips.z.cash/zip-0215)\n- ???? SUF-CMA (strong unforgeability under chosen message attacks) and\n  SBS (non-repudiation / exclusive ownership)\n- ???? 3.7KB (gzipped)\n\nThe module is a sister project of [noble-curves](https://github.com/paulmillr/noble-curves).\nUse noble-ed25519 if you need smaller attack surface & better auditability.\nSwitch to noble-curves (drop-in) if you need features like ristretto255, x25519 / curve25519, ed25519ph, hash-to-curve, oprf.\n\n### This library belongs to _noble_ cryptography\n\n> **noble-cryptography** — high-security, easily auditable set of contained cryptographic libraries and tools.\n\n- Zero or minimal dependencies\n- Highly readable TypeScript / JS code\n- PGP-signed releases and transparent NPM builds\n- All libraries:\n  [ciphers](https://github.com/paulmillr/noble-ciphers),\n  [curves](https://github.com/paulmillr/noble-curves),\n  [hashes](https://github.com/paulmillr/noble-hashes),\n  [post-quantum](https://github.com/paulmillr/noble-post-quantum),\n  5kb [secp256k1](https://github.com/paulmillr/noble-secp256k1) /\n  [ed25519](https://github.com/paulmillr/noble-ed25519)\n- [Check out the homepage](https://paulmillr.com/noble/)\n  for reading resources, documentation, and apps built with noble\n\n## Usage\n\n> `npm install @noble/ed25519`\n\n> `deno add jsr:@noble/ed25519`\n\nWe support all major platforms and runtimes. For React Native, additional polyfills are needed: see below.\n\n```js\nimport * as ed from '@noble/ed25519';\n(async () => {\n  const { secretKey, publicKey } = await ed.keygenAsync();\n  // const publicKey = await ed.getPublicKeyAsync(secretKey);\n  const message = new TextEncoder().encode('hello noble');\n  const signature = await ed.signAsync(message, secretKey);\n  const isValid = await ed.verifyAsync(signature, message, publicKey);\n})();\n```\n\n### Enabling synchronous methods\n\nOnly async methods are available by default, to keep the library dependency-free.\nTo enable sync methods:\n\n```ts\nimport { sha512 } from '@noble/hashes/sha2.js';\ned.hashes.sha512 = sha512;\n// Sync methods can be used now:\nconst { secretKey, publicKey } = ed.keygen();\n// const publicKey = ed.getPublicKey(secretKey);\nconst sig = ed.sign(msg, secretKey);\nconst isValid = ed.verify(sig, msg, publicKey);\n```\n\n### React Native: polyfill getRandomValues and sha512\n\nReact Native does not provide secure getRandomValues by default.\nThis can't be securely polyfilled from our end, so one will need a RN-specific compile-time dep.\n\n```ts\nimport 'react-native-get-random-values';\nimport { sha512 } from '@noble/hashes/sha2.js';\ned.hashes.sha512 = sha512;\ned.hashes.sha512Async = (m: Uint8Array) => Promise.resolve(sha512(m));\n```\n\n## API\n\nThere are 4 main methods, which accept Uint8Array-s:\n\n- `keygen()` and `keygenAsync()`\n- `getPublicKey(secretKey)` and `getPublicKeyAsync(secretKey)`\n- `sign(message, secretKey)` and `signAsync(message, secretKey)`\n- `verify(signature, message, publicKey)` and `verifyAsync(signature, message, publicKey)`\n\n### keygen\n\n```typescript\nimport * as ed from '@noble/ed25519';\n(async () => {\n  const keys = ed.keygen(); // needs ed.hashes.sha512\n  const { secretKey, publicKey } = keys\n  const keysA = await ed.keygenAsync();\n})();\n```\n\n### getPublicKey\n\n```typescript\nimport * as ed from '@noble/ed25519';\n(async () => {\n  const pubKey = ed.getPublicKey(secretKeyA); // needs ed.hashes.sha512\n  const pubKeyA = await ed.getPublicKeyAsync(secretKeyA);\n  const pubKeyPoint = ed.Point.fromBytes(pubKeyB);\n  const pubKeyExtended = ed.utils.getExtendedPublicKey(secretKeyA);\n})();\n```\n\nGenerates 32-byte public key from 32-byte private key.\n\n- Some libraries have 64-byte private keys - those are just priv+pub concatenated\n- Use `ExtendedPoint.fromHex(publicKey)` if you want to convert hex / bytes into Point.\n  It will use decompression algorithm 5.1.3 of RFC 8032.\n- Use `utils.getExtendedPublicKey` if you need full SHA512 hash of seed\n\n### sign\n\n```ts\nimport * as ed from '@noble/ed25519';\n(async () => {\n  const { secretKey, publicKey } = ed.keygen();\n  const message = new TextEncoder().encode('hello noble');\n  const signature = ed.sign(message, secretKey);\n  const signatureA = await ed.signAsync(message, secretKey);\n})();\n```\n\nGenerates deterministic EdDSA signature. `message` would be hashed by ed25519 internally.\nFor prehashed ed25519ph, switch to noble-curves.\n\n### verify\n\n```ts\nimport * as ed from '@noble/ed25519';\n(async () => {\n  const { secretKey, publicKey } = ed.keygen();\n  const message = new TextEncoder().encode('hello noble');\n  const signature = ed.sign(message, secretKey);\n  const isValid = ed.verify(signature, message, pubKey);\n\n  const isValidFips = ed.verify(signature, message, pubKey, { zip215: false });\n  const isValidA = await ed.verifyAsync(signature, message, pubKey);\n})();\n```\n\nVerifies EdDSA signature. Has SUF-CMA (strong unforgeability under chosen message attacks).\nBy default, follows ZIP215 [^1] and can be used in consensus-critical apps [^2].\n`zip215: false` option switches verification criteria to strict\nRFC8032 / FIPS 186-5 and provides non-repudiation with SBS (Strongly Binding Signatures) [^3].\n\n> [!NOTE]\n> Most other libraries don't have SUF-CMA & SBS - less optimal choice for their security.\n\n> [!NOTE]\n> Any message with pubkey from `ED25519_TORSION_SUBGROUP` would be valid in sigs under ZIP215.\n\n### utils\n\nA bunch of useful **utilities** are also exposed:\n\n```typescript\nimport * as ed from '@noble/ed25519';\nconst { bytesToHex, hexToBytes, concatBytes, mod, invert, randomBytes } = ed.etc;\nconst { getExtendedPublicKey, getExtendedPublicKeyAsync, randomSecretKey } = ed.utils;\nconst { Point } = ed;\nconsole.log(Point.CURVE(), Point.BASE);\n/*\nclass Point {\n  static BASE: Point;\n  static ZERO: Point;\n  readonly X: bigint;\n  readonly Y: bigint;\n  readonly Z: bigint;\n  readonly T: bigint;\n  constructor(X: bigint, Y: bigint, Z: bigint, T: bigint);\n  static CURVE(): EdwardsOpts;\n  static fromAffine(p: AffinePoint): Point;\n  static fromBytes(hex: Bytes, zip215?: boolean): Point;\n  static fromHex(hex: string, zip215?: boolean): Point;\n  get x(): bigint;\n  get y(): bigint;\n  assertValidity(): this;\n  equals(other: Point): boolean;\n  is0(): boolean;\n  negate(): Point;\n  double(): Point;\n  add(other: Point): Point;\n  subtract(other: Point): Point;\n  multiply(n: bigint, safe?: boolean): Point;\n  multiplyUnsafe(scalar: bigint): Point;\n  toAffine(): AffinePoint;\n  toBytes(): Bytes;\n  toHex(): string;\n  clearCofactor(): Point;\n  isSmallOrder(): boolean;\n  isTorsionFree(): boolean;\n}\n*/\n```\n\n## Security\n\nThe module is production-ready.\n\nWe cross-test against sister project [noble-curves](https://github.com/paulmillr/noble-curves), which was audited and provides improved security.\n\n- The current version has not been independently audited. It is a rewrite of v1, which has been audited by cure53 in Feb 2022:\n  [PDF](https://cure53.de/pentest-report_ed25519.pdf).\n- It's being fuzzed [in a separate repository](https://github.com/paulmillr/fuzzing)\n\nIf you see anything unusual: investigate and report.\n\n### Constant-timeness\n\nWe're targetting algorithmic constant time. _JIT-compiler_ and _Garbage Collector_ make \"constant time\"\nextremely hard to achieve [timing attack](https://en.wikipedia.org/wiki/Timing_attack) resistance\nin a scripting language. Which means _any other JS library can't have\nconstant-timeness_. Even statically typed Rust, a language without GC,\n[makes it harder to achieve constant-time](https://www.chosenplaintext.ca/open-source/rust-timing-shield/security)\nfor some cases. If your goal is absolute security, don't use any JS lib — including bindings to native ones.\nUse low-level libraries & languages.\n\n### Supply chain security\n\n- **Commits** are signed with PGP keys to prevent forgery. Be sure to verify the commit signatures\n- **Releases** are made transparently through token-less GitHub CI and Trusted Publishing. Be sure to verify the [provenance logs](https://docs.npmjs.com/generating-provenance-statements) for authenticity.\n- **Rare releasing** is practiced to minimize the need for re-audits by end-users.\n- **Dependencies** are minimized and strictly pinned to reduce supply-chain risk.\n  - We use as few dependencies as possible.\n  - Version ranges are locked, and changes are checked with npm-diff.\n- **Dev dependencies** are excluded from end-user installs; they’re only used for development and build steps.\n\nFor this package, there are 0 dependencies; and a few dev dependencies:\n\n- [noble-hashes](https://github.com/paulmillr/noble-hashes) provides cryptographic hashing functionality\n- jsbt is used for benchmarking / testing / build tooling and developed by the same author\n- prettier, fast-check and typescript are used for code quality / test generation / ts compilation\n\n### Randomness\n\nWe rely on the built-in\n[`crypto.getRandomValues`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues),\nwhich is considered a cryptographically secure PRNG.\n\nBrowsers have had weaknesses in the past - and could again - but implementing a userspace CSPRNG is even worse, as there’s no reliable userspace source of high-quality entropy.\n\n### Quantum computers\n\nCryptographically relevant quantum computer, if built, will allow to\nbreak elliptic curve cryptography (both ECDSA / EdDSA & ECDH) using Shor's algorithm.\n\nConsider switching to newer / hybrid algorithms, such as SPHINCS+. They are available in\n[noble-post-quantum](https://github.com/paulmillr/noble-post-quantum).\n\nNIST prohibits classical cryptography (RSA, DSA, ECDSA, ECDH) [after 2035](https://nvlpubs.nist.gov/nistpubs/ir/2024/NIST.IR.8547.ipd.pdf). Australian ASD prohibits it [after 2030](https://www.cyber.gov.au/resources-business-and-government/essential-cyber-security/ism/cyber-security-guidelines/guidelines-cryptography).\n\n## Speed\n\n    npm run bench\n\nBenchmarks measured with Apple M4.\n\n    init 11ms\n    keygen x 11,253 ops/sec @ 88μs/op\n    sign x 5,891 ops/sec @ 169μs/op\n    verify x 1,281 ops/sec @ 780μs/op\n\n    keygenAsync x 10,205 ops/sec @ 97μs/op\n    signAsync x 4,985 ops/sec @ 200μs/op\n    verifyAsync x 1,286 ops/sec @ 777μs/op\n\n    Point.fromBytes x 22,811 ops/sec @ 43μs/op\n\nCompare to alternative implementations:\n\n    tweetnacl@1.0.3 getPublicKey x 1,808 ops/sec @ 552μs/op ± 1.64%\n    tweetnacl@1.0.3 sign x 651 ops/sec @ 1ms/op\n    ristretto255@0.1.2 getPublicKey x 640 ops/sec @ 1ms/op ± 1.59%\n    sodium-native#sign x 83,654 ops/sec @ 11μs/op\n\n## Upgrading\n\n### v2 to v3\n\nv3 brings the package closer to noble-curves v2.\n\n- Most methods now expect Uint8Array, string hex inputs are prohibited\n- Add `keygen`, `keygenAsync` method\n- Node v20.19 is now the minimum required version\n- Various small changes for types and Point class\n- etc: hashes are now set in `hashes` object:\n\n```js\n// before\ned.etc.sha512Sync = (...m: Uint8Array[]) => sha512(ed.etc.concatBytes(...m));\ned.etc.sha512Async = (...m: Uint8Array[]) => Promise.resolve(sha512(ed.etc.concatBytes(...m)));\n// after\ned.hashes.sha512 = sha512;\ned.hashes.sha512Async = (m: Uint8Array) => Promise.resolve(sha512(m));\n```\n\n### v1 to v2\n\nv2 features improved security and smaller attack surface.\nThe goal of v2 is to provide minimum possible JS library which is safe and fast.\n\nThat means the library was reduced 4x, to just over 300 lines. In order to\nachieve the goal, **some features were moved** to\n[noble-curves](https://github.com/paulmillr/noble-curves), which is\neven safer and faster drop-in replacement library with same API.\nSwitch to curves if you intend to keep using these features:\n\n- x25519 / curve25519 / getSharedSecret\n- ristretto255 / RistrettoPoint\n- Using `utils.precompute()` for non-base point\n- Support for environments which don't support bigint literals\n- Common.js support\n- Support for node.js 18 and older without [shim](#usage)\n\nOther changes for upgrading from @noble/ed25519 1.7 to 2.0:\n\n- Methods are now sync by default; use `getPublicKeyAsync`, `signAsync`, `verifyAsync` for async versions\n- `bigint` is no longer allowed in `getPublicKey`, `sign`, `verify`. Reason: ed25519 is LE, can lead to bugs\n- `Point` (2d xy) has been changed to `ExtendedPoint` (xyzt)\n- `Signature` was removed: just use raw bytes or hex now\n- `utils` were split into `utils` (same api as in noble-curves) and\n  `etc` (`sha512Sync` and others)\n\n## Contributing & testing\n\n- `npm install && npm run build && npm test` will build the code and run tests.\n- `npm run bench` will run benchmarks\n- `npm run build:release` will build single file\n\nSee [paulmillr.com/noble](https://paulmillr.com/noble/)\nfor useful resources, articles, documentation and demos\nrelated to the library.\n\n## License\n\nThe MIT License (MIT)\n\nCopyright (c) 2019 Paul Miller [(https://paulmillr.com)](https://paulmillr.com)\n\nSee LICENSE file.\n\n[^1]: https://zips.z.cash/zip-0215\n\n[^2]: https://hdevalence.ca/blog/2020-10-04-its-25519am\n\n[^3]: https://eprint.iacr.org/2020/1244\n","_attachments":{},"homepage":"https://paulmillr.com/noble/","bugs":{"url":"https://github.com/paulmillr/noble-ed25519/issues"},"license":"MIT"}