{"_id":"lite-merkle","_rev":"8-95a873bbd99d302700e872658770bc8e","name":"lite-merkle","dist-tags":{"latest":"2.0.2"},"versions":{"1.0.0":{"name":"lite-merkle","version":"1.0.0","keywords":["merkle","lamport","signature","ots"],"author":{"name":"Jonathan Gros-Dubois"},"license":"MIT","_id":"lite-merkle@1.0.0","maintainers":[{"name":"topcloudsystems","email":"grosjona@yahoo.com.au"}],"homepage":"https://github.com/jondubois/lite-merkle#readme","bugs":{"url":"https://github.com/jondubois/lite-merkle/issues"},"dist":{"shasum":"891d1da3cf7ad653a12cf68a12f393c692c304a4","tarball":"https://registry.npmjs.org/lite-merkle/-/lite-merkle-1.0.0.tgz","fileCount":9,"integrity":"sha512-ILDEzDFTM95gfRVtxusr3u20ufztULYJXjuqAJUC7ASGfSbJZwLSQpk1A40HJigHiMbnhqcg2cJZ0hibrb4liw==","signatures":[{"sig":"MEUCIGMkmHzU4QNAweuAERQhgFtQid+MUEOvsgyg/nT+lb0OAiEAzD0FNEo8yHTCOHwUYV6AkJXpYRmKubM6CxjkofbHpRY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":347950,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJFUMCRA9TVsSAnZWagAA6wEQAITA4omoAMGHv+ktE+ML\nIrEvgRjHzKtYnaF+jBArSJiHyNAH78RlmAdTPT4I7/pdT4KPRRLHDz3bKB43\njATaM/1GaOJieIhwnYoRaW24MR2XcQvJQwGmBQ1toHxm0BTy8V0dmwPjc1iM\nQlTUjcpICRw30B0mcWj+NFkjBKdy0BC1UA81OVIx7kPvY2g5JRo3hsNKuxJN\nKSYvE4bKM6lJakpVVtZMHKT+lRvMgTXzjVxfK9eyxOFqJLrkcEaUGMbnNKrf\npxw8l7zLjpeDBWJQQUvsYfncg+lf/j2HJycgwIe5osCe8WOxJlf/9L3ayjM9\nbRjS1d/2K849dVSS8fQiISxh3M0xlFIEmWD2gKj0ZmcvQrzPjg5RIBbBoW8e\nDLzMN6QE79zVAj4hCsYLIw8R23eS8ChbxjjmpjkIkDTkZKgnoEQBvNBDEzCf\nrYeLecJazl4rKb4mI/njLBivhk05vTkGMRuLB8aQamYLpZLR5CciuOFdq0H4\nW93kmquhSIKHtjXy592o3CVsJ3G4eZHDjNjjMQLEG0y+QWiVvs9EF/1V40qk\nn6hBdB6xUkBsqtgiiLqzHiCx7Ea7643OesbI6d6iSl0CKxvkkmOEG8LqaOXH\nUNIHWI/VI66ewNBNGXO7EspY5CiX1nLesS3YA5yGRXqHAVPNmFQnhAaHlfcP\nLUq1\r\n=FLdv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"98c6425aaee44759068e438c4fe0f7fc4af000e8","scripts":{"test":"mocha --reporter spec --timeout 60000 --slow 60000","build":"gulp browserify; gulp minify"},"_npmUser":{"name":"topcloudsystems","email":"grosjona@yahoo.com.au"},"repository":{"url":"git://github.com/jondubois/lite-merkle.git","type":"git"},"_npmVersion":"6.7.0","description":"Merkle signature scheme client library","directories":{},"_nodeVersion":"11.13.0","dependencies":{"lite-lamport":"^1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"gulp":"^4.0.0","mocha":"^8.2.1","es-check":"^5.1.4","gulp-cli":"^2.0.1","uglify-es":"^3.3.9","browserify":"^16.2.3","gulp-babel":"^8.0.0","@babel/core":"^7.12.10","gulp-insert":"^0.5.0","gulp-rename":"^1.4.0","gulp-uglify":"^3.0.1","@babel/preset-env":"^7.12.11","vinyl-source-stream":"^2.0.0","gulp-convert-newline":"^0.0.3","babel-plugin-minify-dead-code-elimination":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/lite-merkle_1.0.0_1612993804184_0.409328662840277","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"lite-merkle","version":"1.0.1","keywords":["merkle","lamport","signature","ots"],"author":{"name":"Jonathan Gros-Dubois"},"license":"MIT","_id":"lite-merkle@1.0.1","maintainers":[{"name":"topcloudsystems","email":"grosjona@yahoo.com.au"}],"homepage":"https://github.com/jondubois/lite-merkle#readme","bugs":{"url":"https://github.com/jondubois/lite-merkle/issues"},"dist":{"shasum":"c2c8be45ad4b0f7e3c54f78cddb8529e25719aa0","tarball":"https://registry.npmjs.org/lite-merkle/-/lite-merkle-1.0.1.tgz","fileCount":9,"integrity":"sha512-TJRve0YUuNkdJgD0Ccbhj1hmWCQOSK8OW8cykW0d0axI+8V3Wkbl16ZnK/oQB8yYxI4usi4lgo0I5EBKCoWxzQ==","signatures":[{"sig":"MEUCIQC4X/8NmTevZykgzZ4iC6YLt0hViMtICq1rTguCH1R+3AIgTVEdtbSyidA9D+pmlGkaohjrl3o1eKGQrmr/ZbJX3i0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":347950,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJPx+CRA9TVsSAnZWagAAyrEP/AyuGJjoEt2MyN8lST8j\nEV1SbLKeDaeov753o6a8AGwRtYiegGtVQ9I0oFmlj8u6ui8voadLcuT3oAgH\n6YK8Hv7Cge09GD4FYcoUo5U33IsVNr/sGBtxGcxFQTFujeOyVsB5oN3IYL5p\nNIYheklbN3fp1C4Dt7NWPU/7jAYdKV3JQlkwCYoUQsaEdHR3S09hrpyULCg3\njF+y/w5BK7YFSntvw3nON55B6xgg6NvaDyxsSnmGK0Dawocj7l5ydb6airQX\nk7eXQTRry1Wb1fLj5WELYrTwLJeWal6xw5oOE4kzPP85UoOPeryJIKMyBfhg\n5N2FpR4YIai8P7emzQfWhjnqpD63zc7ZQRfvn34ADE0IXaILDeb0NwfHiHaL\nWYWQoJUWTUjVDY7S5LlIb5Y2uAc/hgp0mPRb4m81eXdH+qHb7PLoLRRNhGSI\neHOmsdcfqNpcLf05+hIal1qBMZjTy+f0o3l7noQvjpXg9g1bKhaPlUdnHmG/\n6cTUIqxC4DBjebatcQIHAuixkEJHtS3kMAXZEMi/QhY36nWuwtC+EZauoYmP\nhtKrZPoCjlpjuowa9nDxveBp/n41zuD18SGBnDG4SXah/xb60EAWOtFVKxfj\nIIRUEaNMmr6QWBahpgp0lXkoEqCjEY/lJNWlDynhx22PNNned4JE7DmY1CSv\nv/3i\r\n=DE+R\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"979be166dd4a8ff0915420682cdb4591dda04e73","scripts":{"test":"mocha --reporter spec --timeout 60000 --slow 60000","build":"gulp browserify; gulp minify"},"_npmUser":{"name":"topcloudsystems","email":"grosjona@yahoo.com.au"},"repository":{"url":"git://github.com/jondubois/lite-merkle.git","type":"git"},"_npmVersion":"6.7.0","description":"Merkle signature scheme client library","directories":{},"_nodeVersion":"11.13.0","dependencies":{"lite-lamport":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"gulp":"^4.0.0","mocha":"^8.2.1","es-check":"^5.1.4","gulp-cli":"^2.0.1","uglify-es":"^3.3.9","browserify":"^16.2.3","gulp-babel":"^8.0.0","@babel/core":"^7.12.10","gulp-insert":"^0.5.0","gulp-rename":"^1.4.0","gulp-uglify":"^3.0.1","@babel/preset-env":"^7.12.11","vinyl-source-stream":"^2.0.0","gulp-convert-newline":"^0.0.3","babel-plugin-minify-dead-code-elimination":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/lite-merkle_1.0.1_1613036670561_0.8375527535856293","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"lite-merkle","version":"1.0.2","keywords":["merkle","lamport","signature","ots"],"author":{"name":"Jonathan Gros-Dubois"},"license":"MIT","_id":"lite-merkle@1.0.2","maintainers":[{"name":"topcloudsystems","email":"grosjona@yahoo.com.au"}],"homepage":"https://github.com/Capitalisk/lite-merkle#readme","bugs":{"url":"https://github.com/Capitalisk/lite-merkle/issues"},"dist":{"shasum":"54e1c77fa383cfa16b32c566c6176f5813fa3cbb","tarball":"https://registry.npmjs.org/lite-merkle/-/lite-merkle-1.0.2.tgz","fileCount":7,"integrity":"sha512-BnrtY2rfuqy45s8nK8cMCGDpl1t8vB+oC3zB3zAgKd4JT90scrfMB+unBUqsefzQFSSaVBOuP1sdfEsYmngMig==","signatures":[{"sig":"MEUCIQCx82pixmdYNrX6yFFHzuF8BHoLSzdirLHdJJ5+I7ZibwIgIZLkYLV8dHLAnZywpmNXe90kiIyzI6c6Fu25pLupTO8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":184004,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhsOJ3CRA9TVsSAnZWagAAGaoP/Ambd+IAfc97qDAxbxyz\njTyf17kXc7J7cqbG06y+g8lWm6KQ2gBr15EqTuYv8HvoywVoWObASps6dGAw\nhnATy71+7f3pq2QN97ujH4zxH4Aw/fAsExb2TmoYBv7UZGJTqtmDQ1MYy0QS\nDqx8MePYoP4wZZrzg/T1PoHB75nyGwQY1j86J3rzSKBsb4+lLEqvyNVB1wh9\njM79j0uJ/SQXoyWc6wGLrGb4HshP3CA238ub6xsJ8ZBbDBuC/+Ppk9Bt9yEQ\n/sicdedTijkwfDD8xU+r0Gfsb/OI/zapPGftOdI6qUBcuV6EU1AAEMJArmPf\nl4G0nTdIsxQImf2LrMPaKdjoc16P8Mrum9Ho40HoGzMetciRnaz4tmISbcky\nhyQtn0tQidE/32yxu9xoKx3iSbk5ZEVqxxCmg+mOHIWHwJmhWTIGlFFumoYb\nn2Nvm3+78+JB1d+H/rgritB2L87QbsT5BEwuOEWYZI2l8ANgy5XW3XT9Z3Cy\njswCAfE2f7drktZx422AcaNT3zWkkAYnAOhU6SJoYCldI6ULFIGb+Ypn8glj\ngevBUZTYkpygtss1ZrYFT8x7gsV0W3HLF91ehvcqbwx1N+UUjUFwAjcC8e5x\n6Oo1l4Oxafd2kZeylZH0dfR/GwHo5KrpE3azpYqFdQVEL6eZG9vIf2NWih9y\nYvRp\r\n=eiC5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"af26ee58375bb4678dcc3a988e2320523392aecb","scripts":{"test":"mocha --reporter spec --timeout 60000 --slow 60000","build":"gulp browserify; gulp minify"},"_npmUser":{"name":"topcloudsystems","email":"grosjona@yahoo.com.au"},"repository":{"url":"git://github.com/Capitalisk/lite-merkle.git","type":"git"},"_npmVersion":"7.20.2","description":"Merkle signature scheme client library","directories":{},"_nodeVersion":"14.16.0","dependencies":{"lite-lamport":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"gulp":"^4.0.0","mocha":"^8.2.1","es-check":"^5.1.4","gulp-cli":"^2.0.1","uglify-es":"^3.3.9","browserify":"^16.2.3","gulp-babel":"^8.0.0","@babel/core":"^7.12.10","gulp-insert":"^0.5.0","gulp-rename":"^1.4.0","gulp-uglify":"^3.0.1","@babel/preset-env":"^7.12.11","vinyl-source-stream":"^2.0.0","gulp-convert-newline":"^0.0.3","babel-plugin-minify-dead-code-elimination":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/lite-merkle_1.0.2_1638982263132_0.5555426202852789","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"lite-merkle","version":"1.1.0","keywords":["merkle","lamport","signature","ots"],"author":{"name":"Jonathan Gros-Dubois"},"license":"MIT","_id":"lite-merkle@1.1.0","maintainers":[{"name":"topcloudsystems","email":"grosjona@yahoo.com.au"}],"homepage":"https://github.com/Capitalisk/lite-merkle#readme","bugs":{"url":"https://github.com/Capitalisk/lite-merkle/issues"},"dist":{"shasum":"b9e4ac27b1246555257a18a2d017d5e717816fd8","tarball":"https://registry.npmjs.org/lite-merkle/-/lite-merkle-1.1.0.tgz","fileCount":7,"integrity":"sha512-z5BBePVmLXLUit3mSdQpYFQpbQscUXT30sqbrcFK2cau3zEOrTNd00pghKt+9HUR6pMWAcSweLQOVBZ+0ns+ew==","signatures":[{"sig":"MEUCIQCKsSjTDKsotiefHhq8qHJlJtzC09KcmrbAbx9ZRdmRPQIgNiQ5yIQjBgHdweMPorYvcl+6Up1V+5MmHh+OMofn+BY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":184318},"main":"index.js","gitHead":"2a76b311a796b162112ddf76cdf7d9f5645bc527","scripts":{"test":"mocha --reporter spec --timeout 60000 --slow 60000","build":"gulp browserify; gulp minify"},"_npmUser":{"name":"topcloudsystems","email":"grosjona@yahoo.com.au"},"repository":{"url":"git://github.com/Capitalisk/lite-merkle.git","type":"git"},"_npmVersion":"8.17.0","description":"Merkle signature scheme client library","directories":{},"_nodeVersion":"16.16.0","dependencies":{"lite-lamport":"^1.1.0"},"_hasShrinkwrap":false,"devDependencies":{"gulp":"^4.0.0","mocha":"^8.2.1","es-check":"^5.1.4","gulp-cli":"^2.0.1","uglify-es":"^3.3.9","browserify":"^16.2.3","gulp-babel":"^8.0.0","@babel/core":"^7.12.10","gulp-insert":"^0.5.0","gulp-rename":"^1.4.0","gulp-uglify":"^3.0.1","@babel/preset-env":"^7.12.11","vinyl-source-stream":"^2.0.0","gulp-convert-newline":"^0.0.3","babel-plugin-minify-dead-code-elimination":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/lite-merkle_1.1.0_1693620812660_0.552834217809147","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"lite-merkle","version":"2.0.0","keywords":["merkle","lamport","signature","ots"],"author":{"name":"Jonathan Gros-Dubois"},"license":"MIT","_id":"lite-merkle@2.0.0","maintainers":[{"name":"topcloudsystems","email":"grosjona@yahoo.com.au"}],"homepage":"https://github.com/Capitalisk/lite-merkle#readme","bugs":{"url":"https://github.com/Capitalisk/lite-merkle/issues"},"dist":{"shasum":"68b4f00cf2e1fc54d1d79c98f377fb6d450c020e","tarball":"https://registry.npmjs.org/lite-merkle/-/lite-merkle-2.0.0.tgz","fileCount":9,"integrity":"sha512-ja/rwdz8ktDIAnt8TMyFTHktM5oCjgdLmAPLVb8UO66RfaaFb3AufpWUaPYxWfc8DnWXXRuqWLfZCles27osiw==","signatures":[{"sig":"MEQCICIsCzwvJVNSeWREvXI5s84jAHM7S6GheBklnRFHxEh3AiACpnQWGfBrG2Gb9dGB4a2RiJWTpEtQSpVA89ggrs7ZrA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":186453},"main":"index.js","gitHead":"174fdced22edd11db39af82c8b02d13078c36554","scripts":{"test":"mocha --reporter spec --timeout 60000 --slow 60000","build":"rollup --config ./rollup.config.js"},"_npmUser":{"name":"topcloudsystems","email":"grosjona@yahoo.com.au"},"repository":{"url":"git://github.com/Capitalisk/lite-merkle.git","type":"git"},"_npmVersion":"10.7.0","description":"Merkle signature scheme client library","directories":{},"_nodeVersion":"20.15.0","dependencies":{"lite-lamport":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^29.0.0","@rollup/plugin-node-resolve":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/lite-merkle_2.0.0_1767094558595_0.19859114544587886","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"lite-merkle","version":"2.0.1","keywords":["merkle","lamport","signature","ots"],"author":{"name":"Jonathan Gros-Dubois"},"license":"MIT","_id":"lite-merkle@2.0.1","maintainers":[{"name":"topcloudsystems","email":"grosjona@yahoo.com.au"}],"homepage":"https://github.com/Capitalisk/lite-merkle#readme","bugs":{"url":"https://github.com/Capitalisk/lite-merkle/issues"},"dist":{"shasum":"f870076c715832951b2f7de62d74920dd9fc8910","tarball":"https://registry.npmjs.org/lite-merkle/-/lite-merkle-2.0.1.tgz","fileCount":9,"integrity":"sha512-EWF0VRMGIEJMWTc8fBysrroBrsGU8pOJzLvL4TFKO/LFWmMa78kNiv5PuEFGg6bN0oX5yfpGubvJsbwSlSSw6w==","signatures":[{"sig":"MEQCICb9wqUQvlwpT3Zz5SFd5cpKB+CS6oKITAb13c8Q92wWAiABdhkEPHAuoTaYw640e8oNUh6JUbs9MEzJrFBZzjeHwg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":187937},"main":"index.js","gitHead":"871a9c303538d16f4ab9b346d0f58626a0536f2f","scripts":{"test":"mocha --reporter spec --timeout 60000 --slow 60000","build":"rollup --config ./rollup.config.js"},"_npmUser":{"name":"topcloudsystems","email":"grosjona@yahoo.com.au"},"overrides":{"serialize-javascript":"^7.0.5"},"repository":{"url":"git://github.com/Capitalisk/lite-merkle.git","type":"git"},"_npmVersion":"11.6.2","description":"Merkle signature scheme client library","directories":{},"_nodeVersion":"24.11.1","dependencies":{"lite-lamport":"^2.0.3"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.3.0","@rollup/plugin-terser":"^1.0.0","@rollup/plugin-commonjs":"^29.0.0","@rollup/plugin-node-resolve":"^16.0.3"},"_npmOperationalInternal":{"tmp":"tmp/lite-merkle_2.0.1_1775132939071_0.09484709698921878","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"lite-merkle","version":"2.0.2","description":"Merkle signature scheme client library","main":"index.js","repository":{"type":"git","url":"git://github.com/Capitalisk/lite-merkle.git"},"scripts":{"build":"rollup --config ./rollup.config.js","test":"mocha --reporter spec --timeout 60000 --slow 60000"},"keywords":["merkle","lamport","signature","ots"],"author":{"name":"Jonathan Gros-Dubois"},"license":"MIT","devDependencies":{"@rollup/plugin-commonjs":"^29.0.0","@rollup/plugin-node-resolve":"^16.0.3","@rollup/plugin-terser":"^1.0.0","mocha":"^11.3.0"},"overrides":{"serialize-javascript":"^7.0.5"},"dependencies":{"lite-lamport":"^2.0.4"},"gitHead":"5d32afe70491f32c46915e50c866d1cfe231249e","_id":"lite-merkle@2.0.2","bugs":{"url":"https://github.com/Capitalisk/lite-merkle/issues"},"homepage":"https://github.com/Capitalisk/lite-merkle#readme","_nodeVersion":"24.11.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-Au8vES5VLB+c9Q9ruubw2pnBJvKsu0pt2w0NEm22neP0Oa06m49jFEsMBA+0ARh+4ED0R39lwgtrL4TAkCVpOw==","shasum":"c1b334a68d684bb193322608c6a4c7ffb93b7c94","tarball":"https://registry.npmjs.org/lite-merkle/-/lite-merkle-2.0.2.tgz","fileCount":9,"unpackedSize":188073,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC0yggE+IzIaSK6ZIndG9hw7FR5j1cvoGfmOUW69W8N0gIgC1oSQBtLdhHLUSJBCWXR0AKCJpoOrD4Sk9gXXvbuq/c="}]},"_npmUser":{"name":"topcloudsystems","email":"grosjona@yahoo.com.au"},"directories":{},"maintainers":[{"name":"topcloudsystems","email":"grosjona@yahoo.com.au"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/lite-merkle_2.0.2_1775134474193_0.0034123498239650996"},"_hasShrinkwrap":false}},"time":{"created":"2021-02-10T21:50:04.184Z","modified":"2026-04-02T12:54:34.769Z","1.0.0":"2021-02-10T21:50:04.416Z","1.0.1":"2021-02-11T09:44:30.665Z","1.0.2":"2021-12-08T16:51:03.316Z","1.1.0":"2023-09-02T02:13:32.910Z","2.0.0":"2025-12-30T11:35:58.738Z","2.0.1":"2026-04-02T12:28:59.207Z","2.0.2":"2026-04-02T12:54:34.353Z"},"bugs":{"url":"https://github.com/Capitalisk/lite-merkle/issues"},"author":{"name":"Jonathan Gros-Dubois"},"license":"MIT","homepage":"https://github.com/Capitalisk/lite-merkle#readme","keywords":["merkle","lamport","signature","ots"],"repository":{"type":"git","url":"git://github.com/Capitalisk/lite-merkle.git"},"description":"Merkle signature scheme client library","maintainers":[{"name":"topcloudsystems","email":"grosjona@yahoo.com.au"}],"readme":"# lite-merkle\nMerkle signature scheme client library.\n\n## Overview\n\nThis library provides a quantum-resistant mechanism for cryptographically signing messages such that multiple signatures can be associated with a single public key.\nIt supports generating an unlimited number of MSS trees of various sizes from a single secret seed; this allows a single seed to be used to sign an unlimited number of messages.\nLamport OTS is used as the underlying one-time signature scheme.\n\n## Installation\n\n```bash\nnpm install lite-merkle\n```\n\n## Usage\n\n### Basic\n\n```js\nconst LiteMerkle = require('lite-merkle');\n\n(async () => {\n  // The leafCount option represents the number of signatures which can be generated\n  // from a single MSS tree. Trees with more leaves take longer to compute.\n  let merkle = new LiteMerkle({\n    leafCount: 128,\n    signatureFormat: 'base64'\n  });\n\n  let seed = merkle.generateSeed();\n\n  // Generate Merkle Signature Scheme tree; second argument is the index of the tree.\n  // An unlimited number of MSS trees can be generated from a single seed.\n  // For synchronous call, use generateMSSTreeSync method.\n  let mssTree = await merkle.generateMSSTree(seed, 0);\n\n  let message = 'hello world';\n\n  // Sign message; third argument is the leaf/key index within the MSS tree.\n  // Each leaf index should only be used once (to produce a single signature).\n  let signature = merkle.sign(message, mssTree, 0);\n\n  // Verify message; returns true or false.\n  // publicRootHash is the Merkle root; it should be used as the public key.\n  merkle.verify(message, signature, mssTree.publicRootHash);\n})();\n\n```\n\n### Signing unlimited messages\n\nGenerating large MSS trees is expensive so it is recommended to generate smaller trees and to chain them together.\nThis can be achieved by using one of the keys (leaves) from the current MSS tree to sign a message which contains the `publicRootHash` of the next MSS tree in the `generateMSSTree` sequence (at currentIndex + 1); it's important to do this before the current MSS tree runs out of keys. Never use the same key/leaf index multiple times.\n\n## Notes\n\nThe underlying Lamport implementation uses a 1-byte checksum over the 256-bit message hash. While this technically cannot represent the maximum possible count of 256 zero-bits, exploiting this would require finding a SHA-256 hash consisting entirely of zero-bits, which is computationally equivalent to breaking SHA-256 itself.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}