{"_id":"2key-ratchet","_rev":"20-eb66919768b9a3bc0205b57fca186abe","name":"2key-ratchet","description":"2key-ratchet is an implementation of a Double Ratchet protocol and X3DH in TypeScript utilizing WebCrypto.","dist-tags":{"latest":"1.0.18"},"versions":{"1.0.1":{"name":"2key-ratchet","version":"1.0.1","description":"2key-ratchet is an implementation of a Double Ratchet protocol and X3DH in TypeScript utilizing WebCrypto.","main":"dist/2key-ratchet.js","module":"dist/2key-ratchet.lib.js","jsnext:main":"dist/2key-ratchet.lib.js","types":"index.d.ts","scripts":{"pretest":"npm run tslint","test":"mocha out/test","build":"npm run build:dist","build:es5":"tsc","build:dist":"npm run build:lib && npm run build:module","build:module":"rollup -c","build:lib":"rollup -c rollup.config.lib.js","build:map":"tsc --sourceMap","prepub":"npm run build","tslint":"tslint 'src/**/*.ts'","pub":"npm version patch && npm publish && git push","sync":"git ac && git pull --rebase && git push","precoverage":"npm run build:map","coverage":"nyc npm test","precoveragehtml":"npm run coverage","coveragehtml":"nyc report -r html","watch":"watch 'npm run coveragehtml' lib/ src/ test/","live":"live-server -q --port=4005 --ignorePattern='(js|css|png)$' coverage","predev":"if [ ! -f coverage/index.html ]; then mkdir coverage; cp .waiting.html coverage/index.html; fi","dev":"npm-run-all -p --silent watch live","coveralls":"nyc report --reporter=text-lcov | coveralls"},"keywords":[],"author":{"name":"PeculiarVentures"},"contributors":[{"name":"Miroshin Stepan","email":"microshine@mail.ru"}],"license":"https://github.com/PeculiarVentures/2key-ratchet/blob/master/LICENSE.md","dependencies":{"node-webcrypto-ossl":"^1.0.23","protobufjs":"^6.7.3","pvtsutils":"^1.0.2","tslib":"^1.7.1","tsprotobuf":"^1.0.7"},"devDependencies":{"@types/chai":"^3.4.34","@types/mocha":"^2.2.38","@types/node":"^7.0.22","chai":"^3.5.0","live-server":"^1.2.0","mocha":"^3.4.2","npm-run-all":"^3","nyc":"^8","rollup":"^0.41.6","rollup-plugin-node-builtins":"^2.1.2","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-typescript":"^0.8.1","typescript":"^2.3.3","watch":"^1.0.2"},"gitHead":"e79a040df9389a5fe0c83673d367a096a06f9b18","_id":"2key-ratchet@1.0.1","_shasum":"4ca537f88fa33a4c50527fe13074f14a51d4f6c4","_from":".","_npmVersion":"4.6.1","_nodeVersion":"6.10.2","_npmUser":{"name":"microshine","email":"microshine@mail.ru"},"dist":{"shasum":"4ca537f88fa33a4c50527fe13074f14a51d4f6c4","tarball":"https://registry.npmjs.org/2key-ratchet/-/2key-ratchet-1.0.1.tgz","integrity":"sha512-BHci0zdGv0bqZsTGoEmyPuNC4rVPTbd/qzh4A8GDW4NhXaIt2k322Vvd0GUqnrYv6Et3USFUID8omC8W31yRNw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCHce8xLriEgDXAXDvqAU0m+zqQIGL0JoPsINZw7j9h4gIgSeYXFN9kVLYeH53ZaJiaI9U8g+S9yLKQotD81KhXCmc="}]},"maintainers":[{"name":"microshine","email":"microshine@mail.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/2key-ratchet-1.0.1.tgz_1495711338312_0.016536645824089646"},"directories":{}},"1.0.2":{"name":"2key-ratchet","version":"1.0.2","description":"2key-ratchet is an implementation of a Double Ratchet protocol and X3DH in TypeScript utilizing WebCrypto.","main":"dist/2key-ratchet.js","module":"dist/2key-ratchet.lib.js","jsnext:main":"dist/2key-ratchet.lib.js","types":"index.d.ts","scripts":{"pretest":"npm run tslint","test":"mocha out/test","build":"npm run build:dist","build:es5":"tsc","build:dist":"npm run build:lib && npm run build:module","build:module":"rollup -c","build:lib":"rollup -c rollup.config.lib.js","build:map":"tsc --sourceMap","prepub":"npm run build","tslint":"tslint 'src/**/*.ts'","pub":"npm version patch && npm publish && git push","sync":"git ac && git pull --rebase && git push","precoverage":"npm run build:map","coverage":"nyc npm test","precoveragehtml":"npm run coverage","coveragehtml":"nyc report -r html","watch":"watch 'npm run coveragehtml' lib/ src/ test/","live":"live-server -q --port=4005 --ignorePattern='(js|css|png)$' coverage","predev":"if [ ! -f coverage/index.html ]; then mkdir coverage; cp .waiting.html coverage/index.html; fi","dev":"npm-run-all -p --silent watch live","coveralls":"nyc report --reporter=text-lcov | coveralls"},"keywords":[],"author":{"name":"PeculiarVentures"},"contributors":[{"name":"Miroshin Stepan","email":"microshine@mail.ru"}],"license":"https://github.com/PeculiarVentures/2key-ratchet/blob/master/LICENSE.md","dependencies":{"node-webcrypto-ossl":"^1.0.23","protobufjs":"^6.7.3","pvtsutils":"^1.0.2","tslib":"^1.7.1","tsprotobuf":"^1.0.7"},"devDependencies":{"@types/chai":"^3.4.34","@types/mocha":"^2.2.38","@types/node":"^7.0.22","chai":"^3.5.0","live-server":"^1.2.0","mocha":"^3.4.2","npm-run-all":"^3","nyc":"^8","rollup":"^0.41.6","rollup-plugin-node-builtins":"^2.1.2","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-typescript":"^0.8.1","tslint":"^5.3.2","typescript":"^2.3.3","watch":"^1.0.2"},"gitHead":"3e9eb7e75c5a96eec9bf0b7bae1d63d3b57894dd","_id":"2key-ratchet@1.0.2","_npmVersion":"5.3.0","_nodeVersion":"6.11.0","_npmUser":{"name":"microshine","email":"microshine@mail.ru"},"dist":{"integrity":"sha512-I29XiA6GRiEXGRXtekNrvP4AcOnezA3Z7z2KU+JaU4r9MBSH55TX90VnABTrV1sGLRXY+orl6mUN/8srbvcnTQ==","shasum":"b19f89398d2a00635dbe8d6a758a526f3fa4be8e","tarball":"https://registry.npmjs.org/2key-ratchet/-/2key-ratchet-1.0.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFYleNPYtWcjibEJd9r6g15zePb6VKOA63FecdDkqX9iAiAIY0nQ2+9o8Vr4z5fvEQNIxIPHN/HaotpUd/thWT1JMQ=="}]},"maintainers":[{"name":"microshine","email":"microshine@mail.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/2key-ratchet-1.0.2.tgz_1502095439058_0.17558082682080567"},"directories":{}},"1.0.3":{"name":"2key-ratchet","version":"1.0.3","description":"2key-ratchet is an implementation of a Double Ratchet protocol and X3DH in TypeScript utilizing WebCrypto.","main":"dist/2key-ratchet.js","module":"dist/2key-ratchet.lib.js","jsnext:main":"dist/2key-ratchet.lib.js","types":"index.d.ts","scripts":{"pretest":"npm run tslint","test":"mocha out/test","build":"npm run build:dist","build:es5":"tsc","build:dist":"npm run build:lib && npm run build:module","build:module":"rollup -c","build:lib":"rollup -c rollup.config.lib.js","build:map":"tsc --sourceMap","prepub":"npm run build","tslint":"tslint 'src/**/*.ts'","pub":"npm version patch && npm publish && git push","sync":"git ac && git pull --rebase && git push","precoverage":"npm run build:map","coverage":"nyc npm test","precoveragehtml":"npm run coverage","coveragehtml":"nyc report -r html","watch":"watch 'npm run coveragehtml' lib/ src/ test/","live":"live-server -q --port=4005 --ignorePattern='(js|css|png)$' coverage","predev":"if [ ! -f coverage/index.html ]; then mkdir coverage; cp .waiting.html coverage/index.html; fi","dev":"npm-run-all -p --silent watch live","coveralls":"nyc report --reporter=text-lcov | coveralls"},"keywords":[],"author":{"name":"PeculiarVentures"},"contributors":[{"name":"Miroshin Stepan","email":"microshine@mail.ru"}],"license":"https://github.com/PeculiarVentures/2key-ratchet/blob/master/LICENSE.md","dependencies":{"node-webcrypto-ossl":"^1.0.30","pvtsutils":"^1.0.2","tslib":"^1.7.1","tsprotobuf":"^1.0.11"},"devDependencies":{"@types/chai":"^4.0.3","@types/mocha":"^2.2.41","@types/node":"^7.0.22","chai":"^4.1.1","live-server":"^1.2.0","mocha":"^3.5.0","npm-run-all":"^3","nyc":"^11.1.0","rollup":"^0.41.6","rollup-plugin-node-builtins":"^2.1.2","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-typescript":"^0.8.1","tslint":"^5.6.0","typescript":"^2.3.3","watch":"^1.0.2"},"gitHead":"362d5b70d8ec24269111353539c375bc82ba77ff","_id":"2key-ratchet@1.0.3","_npmVersion":"5.3.0","_nodeVersion":"6.9.2","_npmUser":{"name":"microshine","email":"microshine@mail.ru"},"dist":{"integrity":"sha512-/fQJWvqyTg/qaxmhe3UjWmyl8NQ/PLLZEEvLi9dORsJ6qviPqZtULqVHHyClm3SSBB+CfRbQhk4qNTeORAlC2w==","shasum":"86580abe34937236b566524a199b94f244883fc4","tarball":"https://registry.npmjs.org/2key-ratchet/-/2key-ratchet-1.0.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID4n44r/teLrAeUaw+JmUF9Znuyk4HW5/TWXQUTRv0wRAiEA75odaPub04wAtKnRMNc1ExI5ql6BwwU3zryNANc00WM="}]},"maintainers":[{"name":"microshine","email":"microshine@mail.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/2key-ratchet-1.0.3.tgz_1502802974177_0.652096222853288"},"directories":{}},"1.0.4":{"name":"2key-ratchet","version":"1.0.4","description":"2key-ratchet is an implementation of a Double Ratchet protocol and X3DH in TypeScript utilizing WebCrypto.","main":"dist/2key-ratchet.js","module":"dist/2key-ratchet.lib.js","jsnext:main":"dist/2key-ratchet.lib.js","types":"index.d.ts","scripts":{"pretest":"npm run tslint","test":"mocha out/test","build":"npm run build:dist","build:es5":"tsc","build:dist":"npm run build:lib && npm run build:module","build:module":"rollup -c","build:lib":"rollup -c rollup.config.lib.js","build:map":"tsc --sourceMap","prepub":"npm run build","tslint":"tslint 'src/**/*.ts'","pub":"npm version patch && npm publish && git push","sync":"git ac && git pull --rebase && git push","precoverage":"npm run build:map","coverage":"nyc npm test","precoveragehtml":"npm run coverage","coveragehtml":"nyc report -r html","watch":"watch 'npm run coveragehtml' lib/ src/ test/","live":"live-server -q --port=4005 --ignorePattern='(js|css|png)$' coverage","predev":"if [ ! -f coverage/index.html ]; then mkdir coverage; cp .waiting.html coverage/index.html; fi","dev":"npm-run-all -p --silent watch live","coveralls":"nyc report --reporter=text-lcov | coveralls"},"keywords":[],"author":{"name":"PeculiarVentures"},"contributors":[{"name":"Miroshin Stepan","email":"microshine@mail.ru"}],"license":"https://github.com/PeculiarVentures/2key-ratchet/blob/master/LICENSE.md","dependencies":{"node-webcrypto-ossl":"^1.0.30","pvtsutils":"^1.0.2","tslib":"^1.7.1","tsprotobuf":"^1.0.11"},"devDependencies":{"@types/chai":"^4.0.3","@types/mocha":"^2.2.41","@types/node":"^7.0.22","chai":"^4.1.1","live-server":"^1.2.0","mocha":"^3.5.0","npm-run-all":"^3","nyc":"^11.1.0","rollup":"^0.41.6","rollup-plugin-node-builtins":"^2.1.2","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-typescript":"^0.8.1","tslint":"^5.6.0","typescript":"^2.3.3","watch":"^1.0.2"},"gitHead":"c0620a33b3f37955d4315e08db6633be29d4d1c0","_id":"2key-ratchet@1.0.4","_npmVersion":"5.3.0","_nodeVersion":"6.9.2","_npmUser":{"name":"microshine","email":"microshine@mail.ru"},"dist":{"integrity":"sha512-lclpaH++vOrbOlQPS71r4R8WOwmm9ZSoq67FjmEdQ3PIaDiu7H2Tq0SHrf/EkWuYxunJtovVCd1iDL5zkCmtJw==","shasum":"4570b47f985f4513bbe51bdfe18e1002cc919545","tarball":"https://registry.npmjs.org/2key-ratchet/-/2key-ratchet-1.0.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG1UL675izYi10f+J4GsKqsT1ItPeGoPLEwnALmClms1AiEA8jjY6sQJDPkqQYtqIIQFvpCk1Q1JjFhGV20dNMOCFc4="}]},"maintainers":[{"name":"microshine","email":"microshine@mail.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/2key-ratchet-1.0.4.tgz_1502818389756_0.2193196325097233"},"directories":{}},"1.0.5":{"name":"2key-ratchet","version":"1.0.5","description":"2key-ratchet is an implementation of a Double Ratchet protocol and X3DH in TypeScript utilizing WebCrypto.","main":"dist/2key-ratchet.js","module":"dist/2key-ratchet.lib.js","jsnext:main":"dist/2key-ratchet.lib.js","types":"index.d.ts","scripts":{"pretest":"npm run tslint","test":"mocha out/test","build":"npm run build:dist","build:es5":"tsc","build:dist":"npm run build:lib && npm run build:module","build:module":"rollup -c","build:lib":"rollup -c rollup.config.lib.js","build:map":"tsc --sourceMap","prepub":"npm run build","tslint":"tslint 'src/**/*.ts'","pub":"npm version patch && npm publish && git push","sync":"git ac && git pull --rebase && git push","precoverage":"npm run build:map","coverage":"nyc npm test","precoveragehtml":"npm run coverage","coveragehtml":"nyc report -r html","watch":"watch 'npm run coveragehtml' lib/ src/ test/","live":"live-server -q --port=4005 --ignorePattern='(js|css|png)$' coverage","predev":"if [ ! -f coverage/index.html ]; then mkdir coverage; cp .waiting.html coverage/index.html; fi","dev":"npm-run-all -p --silent watch live","coveralls":"nyc report --reporter=text-lcov | coveralls"},"keywords":[],"author":{"name":"PeculiarVentures"},"contributors":[{"name":"Miroshin Stepan","email":"microshine@mail.ru"}],"license":"https://github.com/PeculiarVentures/2key-ratchet/blob/master/LICENSE.md","dependencies":{"node-webcrypto-ossl":"^1.0.30","pvtsutils":"^1.0.2","tslib":"^1.7.1","tsprotobuf":"^1.0.11"},"devDependencies":{"@types/chai":"^4.0.3","@types/mocha":"^2.2.41","@types/node":"^7.0.22","chai":"^4.1.1","live-server":"^1.2.0","mocha":"^3.5.0","npm-run-all":"^3","nyc":"^11.1.0","rollup":"^0.41.6","rollup-plugin-node-builtins":"^2.1.2","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-typescript":"^0.8.1","tslint":"^5.6.0","typescript":"^2.3.3","watch":"^1.0.2"},"gitHead":"4a42ba9507bbda1324c503de617997baecf6cbf4","_id":"2key-ratchet@1.0.5","_shasum":"cd7c509d67a5e1f046f4f06f7f5d1d758b8c0cbe","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.2","_npmUser":{"name":"microshine","email":"microshine@mail.ru"},"dist":{"shasum":"cd7c509d67a5e1f046f4f06f7f5d1d758b8c0cbe","tarball":"https://registry.npmjs.org/2key-ratchet/-/2key-ratchet-1.0.5.tgz","integrity":"sha512-qb79IJFvQQgQpfmJ8p6eCKkv+yJqfyvgB8tf/0Pr0gXinjZwkMTqA1DypzrWxXitJsFKFZdUMURUqZgMjxLZBQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDRRZsDhBBmTC2HLopgFrQkRc+B3GyKh47rVY6rA75VHgIgexUTFSggGmHZZt1uQYd3OHGVrOYHgPG6DE5GHBVQOHE="}]},"maintainers":[{"name":"microshine","email":"microshine@mail.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/2key-ratchet-1.0.5.tgz_1502984209621_0.899415641091764"},"directories":{}},"1.0.6":{"name":"2key-ratchet","version":"1.0.6","description":"2key-ratchet is an implementation of a Double Ratchet protocol and X3DH in TypeScript utilizing WebCrypto.","main":"dist/2key-ratchet.js","module":"dist/2key-ratchet.lib.js","jsnext:main":"dist/2key-ratchet.lib.js","types":"index.d.ts","scripts":{"pretest":"npm run tslint","test":"mocha out/test","build":"npm run build:dist","build:es5":"tsc","build:dist":"npm run build:lib && npm run build:module","build:module":"rollup -c","build:lib":"rollup -c rollup.config.lib.js","build:map":"tsc --sourceMap","prepub":"npm run build","tslint":"tslint 'src/**/*.ts'","pub":"npm version patch && npm publish && git push","sync":"git ac && git pull --rebase && git push","precoverage":"npm run build:map","coverage":"nyc npm test","precoveragehtml":"npm run coverage","coveragehtml":"nyc report -r html","watch":"watch 'npm run coveragehtml' lib/ src/ test/","live":"live-server -q --port=4005 --ignorePattern='(js|css|png)$' coverage","predev":"if [ ! -f coverage/index.html ]; then mkdir coverage; cp .waiting.html coverage/index.html; fi","dev":"npm-run-all -p --silent watch live","coveralls":"nyc report --reporter=text-lcov | coveralls"},"keywords":[],"author":{"name":"PeculiarVentures"},"contributors":[{"name":"Miroshin Stepan","email":"microshine@mail.ru"}],"license":"https://github.com/PeculiarVentures/2key-ratchet/blob/master/LICENSE.md","dependencies":{"node-webcrypto-ossl":"^1.0.30","pvtsutils":"^1.0.2","tslib":"^1.7.1","tsprotobuf":"^1.0.11"},"devDependencies":{"@types/chai":"^4.0.3","@types/mocha":"^2.2.41","@types/node":"^7.0.22","chai":"^4.1.1","live-server":"^1.2.0","mocha":"^3.5.0","npm-run-all":"^3","nyc":"^11.1.0","rollup":"^0.41.6","rollup-plugin-node-builtins":"^2.1.2","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-typescript":"^0.8.1","tslint":"^5.6.0","typescript":"^2.3.3","watch":"^1.0.2"},"gitHead":"1aa10a8607f7fb6ebbbdbec86691d7311cb06c1c","_id":"2key-ratchet@1.0.6","_shasum":"1180d51d7b9d9a8e2a54ab35892ee28ef3dfc171","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.2","_npmUser":{"name":"microshine","email":"microshine@mail.ru"},"dist":{"shasum":"1180d51d7b9d9a8e2a54ab35892ee28ef3dfc171","tarball":"https://registry.npmjs.org/2key-ratchet/-/2key-ratchet-1.0.6.tgz","integrity":"sha512-4CW/2qE4eMKPf51P/ctmQ5HLY07aGowoLmkLbcVzncDF1y4uHJ4r/aDWblK2QIjNGo/qraIQNEZ3aFVC5y9I9A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICLMdVHZT0cko9vtGkea5IQpUR+1bmuvbtAV+kzFyBB6AiAWbesr6pBwk43dNHGkAQYAZiL7wL+I3srwWKpvpuDxJA=="}]},"maintainers":[{"name":"microshine","email":"microshine@mail.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/2key-ratchet-1.0.6.tgz_1502987244957_0.2394213688094169"},"directories":{}},"1.0.7":{"name":"2key-ratchet","version":"1.0.7","description":"2key-ratchet is an implementation of a Double Ratchet protocol and X3DH in TypeScript utilizing WebCrypto.","main":"dist/2key-ratchet.js","module":"dist/2key-ratchet.lib.js","jsnext:main":"dist/2key-ratchet.lib.js","types":"index.d.ts","scripts":{"test":"mocha out/test","build":"npm run build:dist","build:es5":"tsc","build:dist":"npm run build:lib && npm run build:module","build:module":"rollup -c","build:lib":"rollup -c rollup.config.lib.js","build:map":"tsc --sourceMap","prepub":"npm run build","tslint":"tslint 'src/**/*.ts'","pub":"npm version patch && npm publish && git push","sync":"git ac && git pull --rebase && git push","precoverage":"npm run build:map","coverage":"nyc npm test","precoveragehtml":"npm run coverage","coveragehtml":"nyc report -r html","watch":"watch 'npm run coveragehtml' lib/ src/ test/","live":"live-server -q --port=4005 --ignorePattern='(js|css|png)$' coverage","predev":"if [ ! -f coverage/index.html ]; then mkdir coverage; cp .waiting.html coverage/index.html; fi","dev":"npm-run-all -p --silent watch live","coveralls":"nyc report --reporter=text-lcov | coveralls"},"keywords":[],"author":{"name":"PeculiarVentures"},"contributors":[{"name":"Miroshin Stepan","email":"microshine@mail.ru"}],"license":"https://github.com/PeculiarVentures/2key-ratchet/blob/master/LICENSE.md","dependencies":{"node-webcrypto-ossl":"^1.0.30","pvtsutils":"^1.0.2","tslib":"^1.7.1","tsprotobuf":"^1.0.11"},"devDependencies":{"@types/chai":"^4.0.4","@types/mocha":"^2.2.42","@types/node":"^7.0.43","chai":"^4.1.1","live-server":"^1.2.0","mocha":"^3.5.0","npm-run-all":"^3","nyc":"^11.1.0","rollup":"^0.41.6","rollup-plugin-node-builtins":"^2.1.2","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-typescript":"^0.8.1","typescript":"^2.5.1","watch":"^1.0.2"},"gitHead":"4565db344ebe8c3b75a092acb7656288e9b16c4d","_id":"2key-ratchet@1.0.7","_npmVersion":"5.3.0","_nodeVersion":"6.11.2","_npmUser":{"name":"microshine","email":"microshine@mail.ru"},"dist":{"integrity":"sha512-Qg/cb/mTA5rvl99P/iOWD4juFzjSlTyQgYbBRe/TZcUmUH01sD9v/4xTzWHXSG4g8uQkSXKHBCI7sws3ps26yg==","shasum":"01adcaf9431ca40034012537f7249393a0bdd9b1","tarball":"https://registry.npmjs.org/2key-ratchet/-/2key-ratchet-1.0.7.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFP0MZJ3Vs3P+y87wgZlYP2abon9hNAxI36hWnamhL9KAiBuzSd9/i0WAbmj1zbDhT95vhhjPA25Ke2hJw0NbRa67Q=="}]},"maintainers":[{"name":"microshine","email":"microshine@mail.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/2key-ratchet-1.0.7.tgz_1504091599820_0.10618230910040438"},"directories":{}},"1.0.8":{"name":"2key-ratchet","version":"1.0.8","description":"2key-ratchet is an implementation of a Double Ratchet protocol and X3DH in TypeScript utilizing WebCrypto.","main":"dist/2key-ratchet.js","module":"dist/2key-ratchet.lib.js","jsnext:main":"dist/2key-ratchet.lib.js","types":"index.d.ts","scripts":{"test":"mocha out/test","build":"npm run build:dist","build:es5":"tsc","build:dist":"npm run build:lib && npm run build:module","build:module":"rollup -c","build:lib":"rollup -c rollup.config.lib.js","build:map":"tsc --sourceMap","prepub":"npm run build","tslint":"tslint 'src/**/*.ts'","pub":"npm version patch && npm publish && git push","sync":"git ac && git pull --rebase && git push","precoverage":"npm run build:map","coverage":"nyc npm test","precoveragehtml":"npm run coverage","coveragehtml":"nyc report -r html","watch":"watch 'npm run coveragehtml' lib/ src/ test/","live":"live-server -q --port=4005 --ignorePattern='(js|css|png)$' coverage","predev":"if [ ! -f coverage/index.html ]; then mkdir coverage; cp .waiting.html coverage/index.html; fi","dev":"npm-run-all -p --silent watch live","coveralls":"nyc report --reporter=text-lcov | coveralls"},"keywords":[],"author":{"name":"PeculiarVentures"},"contributors":[{"name":"Miroshin Stepan","email":"microshine@mail.ru"}],"license":"https://github.com/PeculiarVentures/2key-ratchet/blob/master/LICENSE.md","dependencies":{"node-webcrypto-ossl":"^1.0.30","pvtsutils":"^1.0.2","tslib":"^1.7.1","tsprotobuf":"^1.0.11"},"devDependencies":{"@types/chai":"^4.0.4","@types/mocha":"^2.2.42","@types/node":"^7.0.43","chai":"^4.1.1","live-server":"^1.2.0","mocha":"^3.5.0","npm-run-all":"^3","nyc":"^11.1.0","rollup":"^0.41.6","rollup-plugin-node-builtins":"^2.1.2","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-typescript":"^0.8.1","typescript":"^2.5.1","watch":"^1.0.2"},"gitHead":"f5b8420df5d021baad7d4e766a49ac39ec97fee2","_id":"2key-ratchet@1.0.8","_npmVersion":"5.3.0","_nodeVersion":"6.11.2","_npmUser":{"name":"microshine","email":"microshine@mail.ru"},"dist":{"integrity":"sha512-1bseuwmPSemazqOzgh24UFPRy4R2eJ8XaHbVH95mp5odyCzqXrSDoCP/oH0dMK9zETd9O5xQCVFTp7TIthaKFA==","shasum":"786a853086c2ca805981c1c77ac4b47a2a7869da","tarball":"https://registry.npmjs.org/2key-ratchet/-/2key-ratchet-1.0.8.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHrvneC4zOtcSKnUWwT//ToToPecWyeU0k3GLsFbbCGfAiAlpw7xawlBmfich+sG/wkxU+4wA6GgBCezm/TOA+rKsw=="}]},"maintainers":[{"name":"microshine","email":"microshine@mail.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/2key-ratchet-1.0.8.tgz_1504096583001_0.31329802446998656"},"directories":{}},"1.0.10":{"name":"2key-ratchet","version":"1.0.10","description":"2key-ratchet is an implementation of a Double Ratchet protocol and X3DH in TypeScript utilizing WebCrypto.","main":"dist/2key-ratchet.js","module":"dist/2key-ratchet.lib.js","jsnext:main":"dist/2key-ratchet.lib.js","types":"index.d.ts","scripts":{"test":"mocha out/test","build":"npm run build:dist","build:es5":"tsc","build:dist":"npm run build:lib && npm run build:module","build:module":"rollup -c","build:lib":"rollup -c rollup.config.lib.js","build:map":"tsc --sourceMap","prepub":"npm run build","tslint":"tslint 'src/**/*.ts'","pub":"npm version patch && npm publish && git push","sync":"git ac && git pull --rebase && git push","precoverage":"npm run build:map","coverage":"nyc npm test","precoveragehtml":"npm run coverage","coveragehtml":"nyc report -r html","watch":"watch 'npm run coveragehtml' lib/ src/ test/","live":"live-server -q --port=4005 --ignorePattern='(js|css|png)$' coverage","predev":"if [ ! -f coverage/index.html ]; then mkdir coverage; cp .waiting.html coverage/index.html; fi","dev":"npm-run-all -p --silent watch live","coveralls":"nyc report --reporter=text-lcov | coveralls"},"keywords":[],"author":{"name":"PeculiarVentures"},"contributors":[{"name":"Miroshin Stepan","email":"microshine@mail.ru"}],"license":"https://github.com/PeculiarVentures/2key-ratchet/blob/master/LICENSE.md","dependencies":{"node-webcrypto-ossl":"^1.0.30","pvtsutils":"^1.0.2","tslib":"^1.7.1","tsprotobuf":"^1.0.11"},"devDependencies":{"@types/chai":"^4.0.4","@types/mocha":"^2.2.42","@types/node":"^7.0.43","chai":"^4.1.1","live-server":"^1.2.0","mocha":"^3.5.0","npm-run-all":"^3","nyc":"^11.1.0","rollup":"^0.41.6","rollup-plugin-node-builtins":"^2.1.2","rollup-plugin-node-resolve":"^3.0.0","rollup-plugin-typescript":"^0.8.1","typescript":"^2.5.1","watch":"^1.0.2"},"gitHead":"d73ed30260611f121ed87d4fa045250c0c598ea1","_id":"2key-ratchet@1.0.10","_npmVersion":"5.3.0","_nodeVersion":"6.11.3","_npmUser":{"name":"microshine","email":"microshine@mail.ru"},"dist":{"integrity":"sha512-PkzWAanLkEdn8u7cJQ5AQSLozcObWZp3UWRnXpoMDlptF68wEiugLE6a+lhaT59ypoyrOSkv58Xwbz9uQfZ0WQ==","shasum":"3336b8e59bee4cd7c625be4e977159997706957d","tarball":"https://registry.npmjs.org/2key-ratchet/-/2key-ratchet-1.0.10.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFJM3KzWQSdfcKg3Vfp94pobaR/J88eFwU0xPXrto7zmAiEAspfDt5tFLGdLUyEVpknfmF3EF93IBfn1hnWGTXA+/Fc="}]},"maintainers":[{"name":"microshine","email":"microshine@mail.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/2key-ratchet-1.0.10.tgz_1504888240523_0.78227738593705"},"directories":{}},"1.0.11":{"name":"2key-ratchet","version":"1.0.11","description":"2key-ratchet is an implementation of a Double Ratchet protocol and X3DH in TypeScript utilizing WebCrypto.","main":"dist/2key-ratchet.js","module":"dist/2key-ratchet.lib.js","jsnext:main":"dist/2key-ratchet.lib.js","types":"index.d.ts","scripts":{"test":"mocha out/test","build":"npm run build:dist","build:es5":"tsc","build:dist":"npm run build:lib && npm run build:module","build:module":"rollup -c","build:lib":"rollup -c rollup.config.lib.js","build:map":"tsc --sourceMap","prepub":"npm run build","tslint":"tslint 'src/**/*.ts'","pub":"npm version patch && npm publish && git push","sync":"git ac && git pull --rebase && git push","precoverage":"npm run build:map","coverage":"nyc npm test","precoveragehtml":"npm run coverage","coveragehtml":"nyc report -r html","watch":"watch 'npm run coveragehtml' lib/ src/ test/","live":"live-server -q --port=4005 --ignorePattern='(js|css|png)$' coverage","predev":"if [ ! -f coverage/index.html ]; then mkdir coverage; cp .waiting.html coverage/index.html; fi","dev":"npm-run-all -p --silent watch live","coveralls":"nyc report --reporter=text-lcov | coveralls"},"repository":{"type":"git","url":"git+https://github.com/PeculiarVentures/2key-ratchet.git"},"keywords":["diffie-hellman","secp256r1","ecc","encryption","cryptography","webcrypto","session","integrity","messaging"],"author":{"name":"PeculiarVentures"},"contributors":[{"name":"Miroshin Stepan","email":"microshine@mail.ru"}],"license":"https://github.com/PeculiarVentures/2key-ratchet/blob/master/LICENSE.md","dependencies":{"node-webcrypto-ossl":"^1.0.36","pvtsutils":"^1.0.2","tslib":"^1.9.0","tsprotobuf":"^1.0.11"},"devDependencies":{"@types/chai":"^4.1.2","@types/mocha":"^2.2.48","@types/node":"^7.0.56","chai":"^4.1.2","live-server":"^1.2.0","mocha":"^3.5.3","npm-run-all":"^3","nyc":"^11.6.0","rollup":"^0.41.6","rollup-plugin-node-builtins":"^2.1.2","rollup-plugin-node-resolve":"^3.3.0","rollup-plugin-typescript":"^0.8.1","typescript":"^2.7.2","watch":"^1.0.2"},"gitHead":"4ec814ece812d413ea44050d7f2827993ba61a82","bugs":{"url":"https://github.com/PeculiarVentures/2key-ratchet/issues"},"homepage":"https://github.com/PeculiarVentures/2key-ratchet#readme","_id":"2key-ratchet@1.0.11","_npmVersion":"5.7.1","_nodeVersion":"9.8.0","_npmUser":{"name":"microshine","email":"microshine@mail.ru"},"dist":{"integrity":"sha512-M4Gut4vSLemSgHbFZDuXup1yJs+tvMC8Y71fMjj/x+AHtVwxspMZJ2KL+F7ptS0DSnpFqGIAwsi8Mxit/ihUXQ==","shasum":"06e5502e7957e490a0051fd1946ee603cb6609aa","tarball":"https://registry.npmjs.org/2key-ratchet/-/2key-ratchet-1.0.11.tgz","fileCount":12,"unpackedSize":196212,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA6FOfPw2JtcRJCLL2E2i1F46EPftYEthiiPzBS/bSO3AiEA+4DO8LnSPXTwltig5/Ok6dCD0VVy/boFQ2QCvLoB4xw="}]},"maintainers":[{"name":"microshine","email":"microshine@mail.ru"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/2key-ratchet_1.0.11_1521574440851_0.45753816542330394"},"_hasShrinkwrap":false},"1.0.12":{"name":"2key-ratchet","version":"1.0.12","description":"2key-ratchet is an implementation of a Double Ratchet protocol and X3DH in TypeScript utilizing WebCrypto.","main":"dist/2key-ratchet.js","module":"dist/2key-ratchet.lib.js","jsnext:main":"dist/2key-ratchet.lib.js","types":"index.d.ts","scripts":{"test":"mocha","build":"npm run build:dist","build:es5":"tsc","build:dist":"npm run build:lib && npm run build:module","build:module":"rollup -c","build:lib":"rollup -c rollup.config.lib.js","build:map":"tsc --sourceMap","prepub":"npm run build","tslint":"tslint 'src/**/*.ts'","pub":"npm version patch && npm publish && git push","sync":"git ac && git pull --rebase && git push","coverage":"nyc npm test","coveralls":"nyc report --reporter=text-lcov | coveralls"},"repository":{"type":"git","url":"git+https://github.com/PeculiarVentures/2key-ratchet.git"},"keywords":["diffie-hellman","secp256r1","ecc","encryption","cryptography","webcrypto","session","integrity","messaging"],"author":{"name":"PeculiarVentures"},"contributors":[{"name":"Miroshin Stepan","email":"microshine@mail.ru"}],"license":"https://github.com/PeculiarVentures/2key-ratchet/blob/master/LICENSE.md","dependencies":{"node-webcrypto-ossl":"^1.0.37","pvtsutils":"^1.0.2","tslib":"^1.9.2","tsprotobuf":"^1.0.12"},"devDependencies":{"@types/chai":"^4.1.4","@types/mocha":"^5.2.3","@types/node":"^10.3.4","chai":"^4.1.2","live-server":"^1.2.0","mocha":"^5.2.0","npm-run-all":"^4.1.3","nyc":"^12.0.2","rollup":"^0.61.1","rollup-plugin-node-builtins":"^2.1.2","rollup-plugin-node-resolve":"^3.3.0","rollup-plugin-typescript":"^0.8.1","ts-node":"^6.1.2","typescript":"^2.9.2"},"nyc":{"extension":[".ts",".tsx"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text-summary","html"]},"gitHead":"98f3811975ec6c3c40dbc53fcb6f21a01b3599d6","bugs":{"url":"https://github.com/PeculiarVentures/2key-ratchet/issues"},"homepage":"https://github.com/PeculiarVentures/2key-ratchet#readme","_id":"2key-ratchet@1.0.12","_npmVersion":"6.1.0","_nodeVersion":"8.11.1","_npmUser":{"name":"microshine","email":"microshine@mail.ru"},"dist":{"integrity":"sha512-axrOX/K9EZjOgHBfcOBdk8bpJmw59iat1hZq1/J1lu2hnGig4I711HWxbIDstusCORreMltn/cNKRkI3W4/UKA==","shasum":"9e271c0485b205cba61a8346933dcc87e0d25e4a","tarball":"https://registry.npmjs.org/2key-ratchet/-/2key-ratchet-1.0.12.tgz","fileCount":26,"unpackedSize":239772,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbLNE6CRA9TVsSAnZWagAAD9sP+QFUNiCAQOtIhQzJgonh\nftaR7dMyPJXVSINFaYHybj7ov3E0vo+lgN2xeTX4Sce9vP6hSTXMO/bMfv1M\n62u2JP7NBWZrI73GZbcYI4Zjcm21iJa22a2JZpog75Ccps5TiSl71SITWOOt\n8jP7sk2VBwvPFazmnL42LnkfUeMZN31BiZmVUk4oL/phRLR/7ShpCCz7QaI9\nEIB3302oDngXA71b514/JJBQ15Iw6fc3MnKaHfVRBz+9LmOUbK54M7DYxQz0\nWQ8lzknBgq/jfm0vAb5KY5jI60C8pgjxetu+//Ms1KGhFzYASnXp4C+xFlgb\n0Bg1mKwmtxYS1tryIp/w3UKtdUehEAAltNKGrASND5o5ETB7OdbHvsA7XgIz\nD/45BShtdZARmDOFaRSzNHm7lInoK/Sda4xtoIr0WFXJKPzgK+7i1GDZAo58\nLQKaRhjTkYcKzEyiuk5aIgFiFFsLi2YlzzH3BteeawBvYhaIsaDd4ZaT5v/3\nc5xC177t+OU2z5YqRAhw+qAxRJxxWajb2TSM6Fw9nCL9IG7yyE5bAz5qaT4h\noLWNi8YclsbKym8l0Bv2PGKK+f/I/pL5nBBkPAgW8VT3krC7JWBx098/WUrV\nOQbR888fB2gxCUU1FbqgRSoUGf1WahfS4MiDERtiFV3dlxN+dD23ICZ9/1Te\nKuE6\r\n=wJAL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCnjrIcMTj/PvCrYvEIBvJXhIPxc2rdyeXrXbzqOh7wswIhAM3kv5hM+H73hiswezN4jwGOE7CkT5iBSsARfNzVQzIy"}]},"maintainers":[{"name":"microshine","email":"microshine@mail.ru"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/2key-ratchet_1.0.12_1529663802884_0.5690082622812191"},"_hasShrinkwrap":false},"1.0.13":{"name":"2key-ratchet","version":"1.0.13","description":"2key-ratchet is an implementation of a Double Ratchet protocol and X3DH in TypeScript utilizing WebCrypto.","main":"dist/2key-ratchet.js","module":"dist/2key-ratchet.lib.js","jsnext:main":"dist/2key-ratchet.lib.js","types":"index.d.ts","scripts":{"test":"mocha","build":"npm run build:dist","build:es5":"tsc","build:dist":"npm run build:lib && npm run build:module","build:module":"rollup -c","build:lib":"rollup -c rollup.config.lib.js","build:map":"tsc --sourceMap","prepub":"npm run build","tslint":"tslint 'src/**/*.ts'","pub":"npm version patch && npm publish && git push","sync":"git ac && git pull --rebase && git push","coverage":"nyc npm test","coveralls":"nyc report --reporter=text-lcov | coveralls"},"repository":{"type":"git","url":"git+https://github.com/PeculiarVentures/2key-ratchet.git"},"keywords":["diffie-hellman","secp256r1","ecc","encryption","cryptography","webcrypto","session","integrity","messaging"],"author":{"name":"PeculiarVentures"},"contributors":[{"name":"Miroshin Stepan","email":"microshine@mail.ru"}],"license":"https://github.com/PeculiarVentures/2key-ratchet/blob/master/LICENSE.md","dependencies":{"node-webcrypto-ossl":"^1.0.37","pvtsutils":"^1.0.2","tslib":"^1.9.2","tsprotobuf":"^1.0.12"},"devDependencies":{"@types/chai":"^4.1.4","@types/mocha":"^5.2.3","@types/node":"^10.3.4","chai":"^4.1.2","live-server":"^1.2.0","mocha":"^5.2.0","npm-run-all":"^4.1.3","nyc":"^12.0.2","rollup":"^0.61.1","rollup-plugin-node-builtins":"^2.1.2","rollup-plugin-node-resolve":"^3.3.0","rollup-plugin-typescript":"^0.8.1","ts-node":"^6.1.2","typescript":"^2.9.2"},"nyc":{"extension":[".ts",".tsx"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text-summary","html"]},"gitHead":"dacbe3758f64eaf5f3e80c251a71c80ab5b62e27","bugs":{"url":"https://github.com/PeculiarVentures/2key-ratchet/issues"},"homepage":"https://github.com/PeculiarVentures/2key-ratchet#readme","_id":"2key-ratchet@1.0.13","_npmVersion":"6.1.0","_nodeVersion":"8.11.1","_npmUser":{"name":"microshine","email":"microshine@mail.ru"},"dist":{"integrity":"sha512-pX9HH8UJOZg6RHHmJQLMdGjklcW2j9+EjI/jwpe7HGplHV7NchBGA8IMTtnGGUofeFblThKjfrWGjaLGVrUyNw==","shasum":"bcd2af87fd6c6ac1fae37203bc9295a283b49122","tarball":"https://registry.npmjs.org/2key-ratchet/-/2key-ratchet-1.0.13.tgz","fileCount":12,"unpackedSize":203891,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbLNJMCRA9TVsSAnZWagAAXTIP/RtDXPrhE46lhE5J0o8r\nvn2P0xywuWXDQSU1XMv3UsUCsWbUE8evtAa0q5VCdmFhAB+FqSDe+3aFraGR\n1yaRGMt8VhQ4DJVHlQjBQXGiIeHpDUNvAAntG+BvdtPEMLi7cmAkX+30Fcd+\nNvLeZlhkLCm6Svy+/tduoWCA3VZ60ECKl5A7QDyJwvSb/w6vaKIlrVm5Yb8N\noXA9eMQe09XD8YgoccAp0+Ywt2X3n6wbg9VeT0/4wN/cJE0RMvT78dL30MLo\nute5QlEigxNkgCBOkbn3reKibYPL5Sai0R5MdmNZJobRIFMzsdH7Ws6NYakU\n659U0DjMLgOLSD/we8yy4Ccg829Owm+fhzCpIouLnfntTsZ7ynCCaQ0W7jP3\nxZ4NV7iUlzpvT9Dr4BdgR/xuNKgEg3QpJQ/+Wy2dxOYDiIeaZsakOrZO9hrW\nUfbRlW+PW/sJDI5ZtcFKB3tcOvl7ANtDuEdCL+oM9eqt8nP2vAShLxiuNRwU\n0KSMbIWc3/BhptPsacLzJg86FfCZ+lzMynFEDtH4/cz1GuBbUqXXuu+RFxF6\nWfhwrh8uPG3/PfDbgynhD3iYOX7Y/AmGjGsgnmC2DbcYrAQoqhADrTp3tl34\nWdtZXf0wpgjYNqRtdEG2zvWM7Nm3ZTp22TP+4/rx9uxGGrCsjJwH24Tqtz8f\nVmC1\r\n=FRb1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCatKS2hpgZDrohp5ckXb8k/fKw/QuWtRUjRLAUFuGsoAIgQs0DhuQ51dX3XDPsSCtqdEAaPDP/ktmOAOBgWd4+Syg="}]},"maintainers":[{"name":"microshine","email":"microshine@mail.ru"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/2key-ratchet_1.0.13_1529664076170_0.33406417449404513"},"_hasShrinkwrap":false},"1.0.14":{"name":"2key-ratchet","version":"1.0.14","description":"2key-ratchet is an implementation of a Double Ratchet protocol and X3DH in TypeScript utilizing WebCrypto.","main":"dist/2key-ratchet.js","module":"dist/2key-ratchet.lib.js","types":"index.d.ts","scripts":{"test":"mocha","prepare":"npm run build","build":"rollup -c","lint":"tslint 'src/**/*.ts'","prepub":"npm run lint && npm run test && npm run build","pub":"npm version patch && npm publish && git push","sync":"git ac && git pull --rebase && git push","coverage":"nyc npm test","coveralls":"nyc report --reporter=text-lcov | coveralls"},"repository":{"type":"git","url":"git+https://github.com/PeculiarVentures/2key-ratchet.git"},"keywords":["diffie-hellman","secp256r1","ecc","encryption","cryptography","webcrypto","session","integrity","messaging"],"author":{"name":"PeculiarVentures"},"contributors":[{"name":"Miroshin Stepan","email":"microshine@mail.ru"}],"license":"https://github.com/PeculiarVentures/2key-ratchet/blob/master/LICENSE.md","dependencies":{"pvtsutils":"^1.0.4","tslib":"^1.9.3","tsprotobuf":"^1.0.12"},"devDependencies":{"@peculiar/webcrypto":"^1.0.5","@types/chai":"^4.1.7","@types/mocha":"^5.2.6","@types/node":"^10.3.4","chai":"^4.2.0","coveralls":"^3.0.2","mocha":"^5.2.0","nyc":"^13.3.0","rollup":"^1.2.2","rollup-plugin-typescript":"^1.0.0","ts-node":"^8.0.2","typescript":"^3.3.3"},"nyc":{"extension":[".ts",".tsx"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text-summary","html"]},"gitHead":"8b18af6c6e36f4a362cd696fd571d32ec1c54848","bugs":{"url":"https://github.com/PeculiarVentures/2key-ratchet/issues"},"homepage":"https://github.com/PeculiarVentures/2key-ratchet#readme","_id":"2key-ratchet@1.0.14","_nodeVersion":"10.13.0","_npmVersion":"6.8.0","dist":{"integrity":"sha512-JYNtRwSxy5oLmtU6xiELUEkcMlc/ip5sVNOPTmcGgRw6NjTx1Uc79nHzZJnpM29kFP1snm5ddomd+1Q44kntcQ==","shasum":"a404ae826a782feb5e3142ae90869d3d481eaa3a","tarball":"https://registry.npmjs.org/2key-ratchet/-/2key-ratchet-1.0.14.tgz","fileCount":12,"unpackedSize":104078,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJca9rWCRA9TVsSAnZWagAAwuYP/ip0fH5dJxzz/Y40rd26\nBJEWZJ/YZyrXZ0siJ+NjwLw0ERxUqvk7pAef4nUfmE1SBIdPt6GAlFN9tExs\nf1fi112S/T91HcjLKJe402MRBnNBvo6NrgngCXgiBMwo+XJvdlr5rI5pg8OT\nMK0i2b0yEHO0xFlRNOm1ubDu6W1GHyHSXltM4KhKPE9D4nuDvuJKzfDyyoYl\ngt5LbgXmTCNlnKz5YjUbgFIZg7VPsFGeb3pGzml8GGitTUXit4u1wCumdryA\n+u4BfLb75mhF6r2GEiRdpYKyEug/YLDsc3P9AK7V1YsufBn5kduEV50DIBik\nPFzPJYtDFji4zjjvShVWL8ESnVROqw2y1N8fUNSwOBxh4+dExYZ6xHUfPlCI\n53Il2LzIyW1CgoT7oqDX7RK+LVHDLprNdLp+C2ymKHUfuEyzSSCawbgKBss2\nDYYrrPTi0oOYw8snk2uFLx1kinuEgZvU/5OQjV79EMVPMqi55xSVE3Icf4Iq\nqMzj/PEDelSn2zlFawCESkuwOvz6MW7+tk0MYkjw7/Zai579RuYQ1iFXAqok\nuII9XuPQ/+TrUIcKeDNmiOKeVrwe0U8TdUGrmFLTdhhJoMDe8dDs/Jux/FT8\nzig5BAtFlOrH/xm+fRWgXd9O5wLedGcDpYqtoSU/Nnu9WDb9PYrNQHKOhlYM\nnzDa\r\n=uWRp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCpZ3v75JkKHfAWi3bQBZDoTev3YPVQ44z8aqGyxdwV9wIgP+zlX8UivObYbYPxIIULCqhb0mjEHpZ/4onfJbmp6O4="}]},"maintainers":[{"name":"microshine","email":"microshine@mail.ru"}],"_npmUser":{"name":"microshine","email":"microshine@mail.ru"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/2key-ratchet_1.0.14_1550572245522_0.6028688208182806"},"_hasShrinkwrap":false},"1.0.15":{"name":"2key-ratchet","version":"1.0.15","description":"2key-ratchet is an implementation of a Double Ratchet protocol and X3DH in TypeScript utilizing WebCrypto.","main":"dist/2key-ratchet.js","module":"dist/2key-ratchet.lib.js","types":"index.d.ts","scripts":{"test":"mocha","prepare":"npm run build","build":"rollup -c","lint":"tslint 'src/**/*.ts'","prepub":"npm run lint && npm run test && npm run build","pub":"npm version patch && npm publish && git push","sync":"git ac && git pull --rebase && git push","coverage":"nyc npm test","coveralls":"nyc report --reporter=text-lcov | coveralls"},"repository":{"type":"git","url":"git+https://github.com/PeculiarVentures/2key-ratchet.git"},"keywords":["diffie-hellman","secp256r1","ecc","encryption","cryptography","webcrypto","session","integrity","messaging"],"author":{"name":"PeculiarVentures"},"contributors":[{"name":"Miroshin Stepan","email":"microshine@mail.ru"}],"license":"https://github.com/PeculiarVentures/2key-ratchet/blob/master/LICENSE.md","dependencies":{"pvtsutils":"^1.0.9","tslib":"^1.11.1","tsprotobuf":"^1.0.13"},"devDependencies":{"@peculiar/webcrypto":"^1.0.23","@types/chai":"^4.2.11","@types/mocha":"^7.0.2","@types/node":"^12.12.30","chai":"^4.2.0","coveralls":"^3.0.9","mocha":"^7.1.0","nyc":"^15.0.0","rollup":"^2.0.6","rollup-plugin-typescript2":"^0.26.0","ts-node":"^8.6.2","typescript":"^3.8.3"},"nyc":{"extension":[".ts",".tsx"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text-summary","html"]},"mocha":{"require":"ts-node/register","extension":["ts"],"watch-files":"test/**/*.ts"},"gitHead":"b9c02706c9edcfea8df40760c503f7393b816997","bugs":{"url":"https://github.com/PeculiarVentures/2key-ratchet/issues"},"homepage":"https://github.com/PeculiarVentures/2key-ratchet#readme","_id":"2key-ratchet@1.0.15","_nodeVersion":"12.13.1","_npmVersion":"6.14.2","dist":{"integrity":"sha512-dWbUh5McTNvYz6n4WTg+SLAuoQEv1YDeWrRtgsztKbkw8P83XVMEdzbmIDJr3VkisRlI83vkA5RhcRGPpdxAzQ==","shasum":"76e5a7bb063f047971b8a109fb32bb5919552198","tarball":"https://registry.npmjs.org/2key-ratchet/-/2key-ratchet-1.0.15.tgz","fileCount":12,"unpackedSize":133485,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJebfXuCRA9TVsSAnZWagAAHJkQAKEnKvLcdKK6iomfIIRG\ntNOgY4MCrAhew925VD6dR24cWVS2+e5CB2j3jY8jSl1qsHgYMTYJ5Y+oHCbh\nld8D/gQ58mCApj3Z/miCq5DkgJIl7QaqT0JVJ8BKySoRqnxPQFiZUBWmTR8D\naOzpZEjmm1ARpjkbud3WGcLLijfQMhWJwVgrs1OOVbrkFPQLxSOa4yV5HBf2\nSHFq5ABCBqhgD6DspwXyDdpJTi3nnLdjwS6FaOpdtUv5dDC49TCNbbrkmtTC\nMavMvXlNW4k0+2ZX7fLQeBtSmTPvmYbpVOOXgIdl0C81MGDL0D2f5ACL3kfx\nTNWoODSDxJMd2PLnHRaBqM+Bggq5ql37YU0p2zREtZPCDB63PYkqenwHx9X2\n7RUXeCMlmxNLqv3/IASezligbvAef5InO6N2YH1LUtUtzr3rxJTdEpFEj/RH\nyuRZmuOBZ/6z/KNeUjgdzsPbBTMgCOghzKFROS2g4ZGrrE0zbcYMXFwPWuhK\nd5LeNaRNSmQtEAdcfIayj1iX3lGhie4ox/gBTl3Mvzm/d2aahNaZLU53jzNt\nLB65GlTIktGO98Dj3nIDQEEAXZkDT6Shs7C3yK1apzSLBRWK7w1gKD+yOUSv\nL4kg49cN/jA0cEctwizUU6qTzf6e5fC4U0fVMKUQED2Lx7gRHkziRiwD39TL\nfuBH\r\n=M96X\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDGivlZBLAsaZHHKhjG55zC6YoHcjSzv6fGp2G8g+DaUAIhAP198aXQ+oACGWO3s8rIoJE2dFaE58cGLgCheVJk4cMO"}]},"maintainers":[{"name":"microshine","email":"microshine@mail.ru"}],"_npmUser":{"name":"microshine","email":"microshine@mail.ru"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/2key-ratchet_1.0.15_1584264686369_0.6797201150467407"},"_hasShrinkwrap":false},"1.0.16":{"name":"2key-ratchet","version":"1.0.16","description":"2key-ratchet is an implementation of a Double Ratchet protocol and X3DH in TypeScript utilizing WebCrypto.","main":"dist/2key-ratchet.js","module":"dist/2key-ratchet.lib.js","types":"dist/types/index.d.ts","scripts":{"test":"mocha","prepare":"npm run build","clear":"rimraf dist/*","build":"npm run build:module && npm run build:types","build:module":"rollup -c","build:types":"tsc -p tsconfig.types.json","rebuild":"npm run clear && npm run build","lint":"tslint -p .","lint:fix":"tslint --fix -p .","prepub":"npm run lint && npm run build","postpub":"git push && git push --tags origin master","pub":"npm version patch && npm publish","prepub:next":"npm run lint && npm run build","pub:next":"npm version prerelease --preid=next && npm publish --tag next","postpub:next":"git push","sync":"git ac && git pull --rebase && git push","coverage":"nyc npm test","coveralls":"nyc report --reporter=text-lcov | coveralls"},"repository":{"type":"git","url":"git+https://github.com/PeculiarVentures/2key-ratchet.git"},"keywords":["diffie-hellman","secp256r1","ecc","encryption","cryptography","webcrypto","session","integrity","messaging"],"author":{"name":"PeculiarVentures"},"contributors":[{"name":"Miroshin Stepan","email":"microshine@mail.ru"}],"license":"https://github.com/PeculiarVentures/2key-ratchet/blob/master/LICENSE.md","dependencies":{"pvtsutils":"^1.0.10","tslib":"^1.11.1","tsprotobuf":"^1.0.15"},"devDependencies":{"@peculiar/webcrypto":"^1.0.26","@types/chai":"^4.2.11","@types/mocha":"^7.0.2","@types/node":"^12.12.34","chai":"^4.2.0","coveralls":"^3.0.11","mocha":"^7.1.1","nyc":"^15.0.0","rimraf":"^3.0.2","rollup":"^2.3.2","rollup-plugin-typescript2":"^0.26.0","ts-node":"^8.8.1","typescript":"^3.8.3"},"nyc":{"extension":[".ts",".tsx"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text-summary","html"]},"mocha":{"require":"ts-node/register","extension":["ts"],"watch-files":"test/**/*.ts"},"gitHead":"4e6877ab5048983a9e51a15ca8a908ea27ad971d","bugs":{"url":"https://github.com/PeculiarVentures/2key-ratchet/issues"},"homepage":"https://github.com/PeculiarVentures/2key-ratchet#readme","_id":"2key-ratchet@1.0.16","_nodeVersion":"12.13.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-ao88voxc20EdVJvcUHFtV3NGhkluLnF/60n+F0PJ+MFeXlkHrzO4ooOLPUFj960kMbdeheEMkZoVygHpQ963Lw==","shasum":"ed0445443af428ebec06cb801f2e83799e3155ed","tarball":"https://registry.npmjs.org/2key-ratchet/-/2key-ratchet-1.0.16.tgz","fileCount":38,"unpackedSize":116052,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJehGtuCRA9TVsSAnZWagAApcAP/iJuSZeA77QnmGtT09a0\nLaWS3XIDgoARuWV1XCETg6fSznS9nP4HeXTs6mXCoQBzCdYZ1MlFAqPTXutQ\nPqaEdpMIP/yYRJmVpYLUqMd/b0rH5dFJMu2gKiaKK93pUCiI6hkp0M+qgYin\nhaUx6TpuXd6vzG4He0G9EoFDZfbAyQbj6Bg7Hp+DD4E8dMgidrJN26emO+SO\nMnsogn41MCx5czsJivNPRSA0X7gWvUzS8n3vjWm8T0m89A8v9wIAv1Z1u7eR\nKL8/KRwjOOvz3JTELrC0LHtuvSJvR90XYPuZm22yOtsDUL7cfKPOffyGeNY+\nKYrQAT7FXuG0FjXL0Wq5CUlU/Xnpj8pRW9uDsqnotYibMYNKECyUiWscaaSk\n0TTWMS6KaUdXktY+sopqjmWh+s7apCUx9WtMB1/TBpQ7q6DvbEQ2tHtQU0jg\nkN6l0ynq8iGHFqyV55xA5b1OixNDK08EbykpB0w6tBSPWSENYW1QLFBYoi7G\nXkPofdrZqQoyn30JmodgpI4w0pm+P9PLGlwY8KYbwC58XTY0zbRyx8zt9AOz\nYlOa/azuD1xJz2GmTzibjqyDa9skS0no2EmIfDGdzugn75NDTERWmJxGJsD0\nYxES1K19CbkhcynKZA5f/zCZPzpZucTJ71Lnra4U7BzCYrLZzu2w20s5mUTy\nbMXo\r\n=WlNE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAD1QwhgtzxOtT02UgpvjnEZXQN4SlI/9KV3k5uX0TQYAiAO2c35h4G3rTKksEQzhXVmG1Zmk0nlEBo1sMSN7cagLw=="}]},"maintainers":[{"name":"microshine","email":"microshine@mail.ru"}],"_npmUser":{"name":"microshine","email":"microshine@mail.ru"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/2key-ratchet_1.0.16_1585736557542_0.6526384887571997"},"_hasShrinkwrap":false},"1.0.17":{"name":"2key-ratchet","version":"1.0.17","description":"2key-ratchet is an implementation of a Double Ratchet protocol and X3DH in TypeScript utilizing WebCrypto.","main":"dist/2key-ratchet.js","module":"dist/2key-ratchet.lib.js","types":"dist/types/index.d.ts","scripts":{"test":"mocha","prepare":"npm run build","clear":"rimraf dist/*","build":"npm run build:module && npm run build:types","build:module":"rollup -c","build:types":"tsc -p tsconfig.types.json","rebuild":"npm run clear && npm run build","lint":"tslint -p .","lint:fix":"tslint --fix -p .","prepub":"npm run lint && npm run build","postpub":"git push && git push --tags origin master","pub":"npm version patch && npm publish","prepub:next":"npm run lint && npm run build","pub:next":"npm version prerelease --preid=next && npm publish --tag next","postpub:next":"git push","sync":"git ac && git pull --rebase && git push","coverage":"nyc npm test","coveralls":"nyc report --reporter=text-lcov | coveralls"},"repository":{"type":"git","url":"git+https://github.com/PeculiarVentures/2key-ratchet.git"},"keywords":["diffie-hellman","secp256r1","ecc","encryption","cryptography","webcrypto","session","integrity","messaging"],"author":{"name":"PeculiarVentures"},"contributors":[{"name":"Miroshin Stepan","email":"microshine@mail.ru"}],"license":"https://github.com/PeculiarVentures/2key-ratchet/blob/master/LICENSE.md","dependencies":{"pvtsutils":"^1.0.10","tslib":"^1.11.1","tsprotobuf":"^1.0.15"},"devDependencies":{"@peculiar/webcrypto":"^1.0.26","@types/chai":"^4.2.11","@types/mocha":"^7.0.2","@types/node":"^12.12.34","chai":"^4.2.0","coveralls":"^3.0.11","mocha":"^7.1.1","nyc":"^15.0.0","rimraf":"^3.0.2","rollup":"^2.3.2","rollup-plugin-typescript2":"^0.26.0","ts-node":"^8.8.1","typescript":"^3.8.3"},"nyc":{"extension":[".ts",".tsx"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text-summary","html"]},"mocha":{"require":"ts-node/register","extension":["ts"],"watch-files":"test/**/*.ts"},"gitHead":"4f94e7fe2f5680fe68a8ccf9bd016e63e20b3eb8","bugs":{"url":"https://github.com/PeculiarVentures/2key-ratchet/issues"},"homepage":"https://github.com/PeculiarVentures/2key-ratchet#readme","_id":"2key-ratchet@1.0.17","_nodeVersion":"12.13.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-JY1P7vTEYGf9HQDtrMuLBSCLRtn7P9LPeb6HKkX01yUXFnUBKvfix6rDBSjcCrnYnHKNZbN+lgpAyOIbOyPzLQ==","shasum":"baf03107854d614bae69f43bcf2a11389e88359e","tarball":"https://registry.npmjs.org/2key-ratchet/-/2key-ratchet-1.0.17.tgz","fileCount":38,"unpackedSize":116182,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemDoFCRA9TVsSAnZWagAA8KUP/1rIE25yrqDIaEkGC4Bd\nbfYpZ9EAlSvfxcoz2myJu426XeMeWoKYfnvWtYMmkxUGLlgyOVEWjeDG5LLQ\nmnVeswxapekMWgX1L26HTwqRxtUAnTV1OVkw88N76Yiub4j1CO4SNyZyHEnW\nxmWkohcudEguE91IwuQc2kAtH4X2NiPQ4QumLO7Bp+qjCYLZ5zM5JbtsBFtJ\nZlm5UG4BjjNipk8whJCtKR6XyYvLRkv4zVbCuQJQUBZ9p/luKlAo5sBr4De7\nIAPM8pwpSVXMkC4fdu34NCZaeasPcK9rpoG6YhDYr7u5H2E2NwZrvX5/fxSF\noiUOnXy2sTf0YfPmDtM3mA97Wa58iAArgrCJ7RfPHcveppY+fgGm/16kJOLK\nFcscZKd6gJJ+/UKv+hEoR38synnrd1fRvxKRPOav0+9a7r7K2yIdYN2WLVp3\nPsciZGt7IUJ6AYf2Dy1uTu61JbFml1uJwZWNTEXUXdEtdnzJbWmihjCYZgyZ\ng+SGonlvpJtDjCOWRDGP0G0leN4ZcCk94coblbxf2/NrHS/PSiiGhBW9THSQ\n5xlAQycUqPOJDiTjatjeCgV9w177CQzR8i1ex3VRS7s3QQCadKaK+0oFNriq\nQv/9uvQn4qcZcFJ8VzJVq4zn9sBR9fe+PEMXvCxKUVS0OV9qRzG3J3yMul4e\nbDtT\r\n=rCEZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICVSbMYHXneh4b9T3nbwmxcovjchO4SXWVJpIXgoSrIxAiAqg3R4siyXsR4Yw0JTQ5NlSu4MbJQNVFnj9fGK0gXqzA=="}]},"maintainers":[{"name":"microshine","email":"microshine@mail.ru"}],"_npmUser":{"name":"microshine","email":"microshine@mail.ru"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/2key-ratchet_1.0.17_1587034628564_0.23622579380438147"},"_hasShrinkwrap":false},"1.0.18":{"name":"2key-ratchet","version":"1.0.18","description":"2key-ratchet is an implementation of a Double Ratchet protocol and X3DH in TypeScript utilizing WebCrypto.","main":"dist/2key-ratchet.js","module":"dist/2key-ratchet.lib.js","types":"dist/types/index.d.ts","scripts":{"test":"mocha","prepare":"npm run build","clear":"rimraf dist/*","build":"npm run build:module && npm run build:types","build:module":"rollup -c","build:types":"tsc -p tsconfig.types.json","rebuild":"npm run clear && npm run build","lint":"tslint -p .","lint:fix":"tslint --fix -p .","prepub":"npm run lint && npm run build","postpub":"git push && git push --tags origin master","pub":"npm version patch && npm publish","prepub:next":"npm run lint && npm run build","pub:next":"npm version prerelease --preid=next && npm publish --tag next","postpub:next":"git push","sync":"git ac && git pull --rebase && git push","coverage":"nyc npm test","coveralls":"nyc report --reporter=text-lcov | coveralls"},"repository":{"type":"git","url":"git+https://github.com/PeculiarVentures/2key-ratchet.git"},"keywords":["diffie-hellman","secp256r1","ecc","encryption","cryptography","webcrypto","session","integrity","messaging"],"author":{"name":"PeculiarVentures"},"contributors":[{"name":"Miroshin Stepan","email":"microshine@mail.ru"}],"license":"https://github.com/PeculiarVentures/2key-ratchet/blob/master/LICENSE.md","dependencies":{"pvtsutils":"^1.0.10","tslib":"^1.13.0","tsprotobuf":"^1.0.15"},"devDependencies":{"@peculiar/webcrypto":"^1.1.1","@types/chai":"^4.2.11","@types/mocha":"^7.0.2","@types/node":"^12.12.42","chai":"^4.2.0","coveralls":"^3.1.0","mocha":"^7.2.0","nyc":"^15.0.1","rimraf":"^3.0.2","rollup":"^2.10.9","rollup-plugin-typescript2":"^0.26.0","ts-node":"^8.10.1","typescript":"^3.9.3"},"nyc":{"extension":[".ts",".tsx"],"include":["src/**/*.ts"],"exclude":["**/*.d.ts"],"reporter":["text-summary","html"]},"mocha":{"require":"ts-node/register","extension":["ts"],"spec":"test/**/*.ts"},"gitHead":"161c2936cc682d00e4babb3564eb9ee246734901","bugs":{"url":"https://github.com/PeculiarVentures/2key-ratchet/issues"},"homepage":"https://github.com/PeculiarVentures/2key-ratchet#readme","_id":"2key-ratchet@1.0.18","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-OJ7Lbc73cwUHyMu/tDGLp9r6r8MSBcpdmQkJIj8rP3EHJ0KA3wKiTRngoSa/di1G4KT/ZZgWd9WjtJJ6Q3IoDw==","shasum":"5fed3a086106e577bc3e841ee23507f96d4d2c94","tarball":"https://registry.npmjs.org/2key-ratchet/-/2key-ratchet-1.0.18.tgz","fileCount":38,"unpackedSize":119595,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJey8oBCRA9TVsSAnZWagAAgtkP/AqCxzWqNYcGyQvUiC3O\nhdOnFebOL/ytf2IcFKa1IduzzWKgb5UomH4/7cjSHc2fI44TY/98kG+W/rfJ\nOQLPAvsurLCqjtc928CcrYZ9eAsBSGzEyzveSzEAs1OXGoxMBCKy2awolkCC\n7HutvG7Rbg/JBk9EYKj0AdZE0e0drqRnByT8kLdeM1J/wfcUg64rEJgSSBtK\nLyyIee2l6WI5c4WgLP9PDnaJfgSzf3lGUyHxESTXSEWuNOXYRiCTqFYoDxxE\n28WOP/+XEkJgPhQ2ouc/LmskHVoFIcsiaPKnE1yacxNFKsfGd132romDz3qb\nnTYT1IkQs3iWBi0ddDT+yHM+Nb2tybr0DqYT1oiiwmWq1Ecx6kqjamqbbE03\nJ1fCWaRf305FJ0bKLSDktSSGyWpJrIE9ebTlHC+Di0zfg1k+pe+P8rJWH6QV\n7BroMFcsUn0FFXZls1aeFTBc3eu9IEbzOyezLukS6rzjPGIdvR87VvagEcd9\nKEaz9PaksBizqrarJT83p5hlOUcPzNQ3aUHTCsuWsXlyEeNzLNlXfOl44ZlU\n34sbwMG8b8OPU8YRT+vbU0JW8S75sBOBYneD2Gx/h04qcBFXIWm9Lh8/Ans2\nQFK8g8PYz2tD3Yg1EK0n6reyTKlg5NZ70KNiPMxpNWiC/JIrxERW+yGopQ5c\nEwAB\r\n=VztK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCjC+CjacNjlZsDW3RmIfs8u8ocIxeBX+iTFX279fMaYAIgLQXs/5YT2X4XFFOEu6KHH60qF7mIxHdWsL5U12eH4zE="}]},"maintainers":[{"name":"microshine","email":"microshine@mail.ru"}],"_npmUser":{"name":"microshine","email":"microshine@mail.ru"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/2key-ratchet_1.0.18_1590413824505_0.9196141699876128"},"_hasShrinkwrap":false}},"readme":"# 2key-ratchet\n\n[![CircleCI](https://circleci.com/gh/PeculiarVentures/2key-ratchet.svg?style=svg&circle-token=29f5d4fefececbe5668f0c0858cc583e4e130765)](https://circleci.com/gh/PeculiarVentures/2key-ratchet)\n[![License](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://raw.githubusercontent.com/PeculiarVentures/2key-ratchet/master/LICENSE.md)\n[![Coverage Status](https://coveralls.io/repos/github/PeculiarVentures/2key-ratchet/badge.svg?branch=master)](https://coveralls.io/github/PeculiarVentures/2key-ratchet?branch=master)\n[![npm version](https://badge.fury.io/js/2key-ratchet.svg)](https://badge.fury.io/js/2key-ratchet)\n\n[![NPM](https://nodei.co/npm/2key-ratchet.png)](https://nodei.co/npm/2key-ratchet/)\n\n\n`2key-ratchet` is an implementation of a [Double Ratchet](https://whispersystems.org/docs/specifications/doubleratchet/) protocol and [X3DH](https://whispersystems.org/docs/specifications/x3dh) in TypeScript utilizing WebCrypto. \n\nThe Double Ratchet protocol and X3DH were designed with goals of providing both forward secrecy and cryptographic deniability. Importantly there have been several independent [security reviews](https://eprint.iacr.org/2016/1013.pdf) that concluded they deliver on those goals.\n\nThe term “Double Ratchet” comes from how the protocol makes sure each message gets a new key: their [Diffie-Hellman keys are “ratcheted”](https://github.com/PeculiarVentures/2key-ratchet/blob/master/src/classes/asym_ratchet.ts) by each new message exchange; and so are the send/receive chains (the [“symmetric-key ratchet”](https://github.com/PeculiarVentures/2key-ratchet/blob/master/src/classes/sym_ratchet.ts)).\n\nThere are a few [differences](https://github.com/PeculiarVentures/2key-ratchet/blob/master/DIFFERENCES.md) between the original specifications and `2key-ratchet`, the most significant being, as it’s name suggests, it uses [two keys](https://github.com/PeculiarVentures/2key-ratchet/blob/3538a1481b4249830549e1c1d251fb6a7a7512ec/src/classes/data/identity.ts#L18-L19), one for authentication and another for key exchange. The other big one is that secp256r1 is used instead of curve25519 because browsers do not yet support this curve natively.\n\nSee the [ARCHITECTURE](https://github.com/PeculiarVentures/2key-ratchet/blob/master/ARCHITECTURE.md) document to better understand the library structure.\n\nFor ideas on where you might use `2key-ratchet` see the [SCENARIOS](https://github.com/PeculiarVentures/2key-ratchet/blob/master/SCENARIOS.md) document.\n\nFor licensing information, see the [LICENSE](https://github.com/PeculiarVentures/2key-ratchet/blob/master/LICENSE.md) file.\n\n## Overview\n\n### IdentityKeys\n\nEach peer in the protocol has an `IdentityKey`, these are secp256r1 keys. These keys are used to authenticate both `PreKeys` and `ExchangeKeys`. `IdentityKeys` are used similarly to the public key in an X.509 certificate.\n\n\n### ExchangeKeys\n\nExchangeKeys are introduced by `2key-ratchet`, they are used to derive `PreKeys`. The `ExchangeKey` is signed by a peers `IdentityKey`.\n\n### PreKeys\n\nIn `2key-ratchet` a PreKey is a secp256r1 public key with an associated unique id. These `PreKeys` are signed by the `IdentityKey`.\n\nOn first use, clients generate a single signed PreKey, as well as a large list of unsigned PreKeys, and transmit all of them to a server.\n\n### Server\n\nThe server in the protocol is an untrusted entity, it simply stores preKeys for retrieval when the peer may be offline and unreachable.\n\n### Sessions\n\nThe Double Ratchet protocol is session-oriented. Peers establish a `session` with each other, this is then used for all subsequent exchanges. These sessions can remain open and be re-used since each message is encrypted with a new and unique cryptographic key.\n\n## Size and Dependencies\n\n| Name            | Size   | Description                                    |\n|-----------------|--------|------------------------------------------------|\n| 2key-ratchet.js |  66 Kb | UMD module without external modules            | \n\n__NOTE:__ You will also have to import [tslib](https://github.com/Microsoft/tslib) and [protobufjs](https://github.com/dcodeIO/ProtoBuf.js/#browsers) for use in the browser.\n\n\n## Instructions\n\n### Installation\n\n```\nnpm install 2key-ratchet\n```\n\n\n### Usage\n\nInclude `2key-ratchet` and its dependencies in your application.\n\nNODEJS:\n\n```javascript\nlet DKeyRatchet = require(\"2key-ratchet\");\n```\n\nBROWSER:\n\n```html\n<script src=\"2key-ratchet.js\"></script>\n```\n\n\nThe `DKeyRatchet` namespace will always be available globally and also supports AMD loaders.\n\n#### Generate an IdentityKey\n\nThe first step is to create an IdentityKey.\n\n```javascript\nlet AliceID;\nDKeyRatchet.Identity.create(16453, 1, 1)\n    .then((id) => {\n        AliceID = id;\n    });\n```\n\nThen create your PreKey message bundle:\n\n```javascript\nlet bundle = new DKeyRatchet.PreKeyBundleProtocol();\n\nbundle.identity.fill(AliceID)\n    .then(() => {\n        bundle.registrationId = AliceID.id;\n        const preKey = AliceID.signedPreKeys[0];\n        bundle.preKeySigned.id = 1;\n        bundle.preKeySigned.key = preKey.publicKey;\n        return bundle.preKeySigned.sign(AliceID.signingKey.privateKey);\n    })\n    .then(() => {\n        return bundle.exportProto();\n    })\n    .then((ab) => {\n        console.log(ab); // ArrayBuffer { byteLength: 374 }\n    });\n``` \n\nAnd then import the generated PreKey message bundle:\n\n```javascript\nDKeyRatchet.PreKeyBundleProtocol.importProto(ab)\n    .then((bundle) => {\n        // check signed prekey\n        return bundle.preKeySigned.verify(AliceID.signingKey.publicKey);\n    })\n    .then((trusted) => {\n        if (!trusted)\n            throw new Error(\"Error: The PreKey is not trusted\");\n    })\n```\n\n#### Create a session\nWith the previous steps complete you can now create a session:\n\n> NOTE: For data conversion was used module `pvtsutils`. \n\n```javascript\nDKeyRatchet.AsymmetricRatchet.create(BobID, bundle)\n    .then((cipher) => {\n        return cipher.encrypt(Convert.FromUtf8String(\"Hello world!\"));\n    })\n    .then((preKeyMessage) => {\n        return preKeyMessage.exportProto();\n    })\n    .then((BobMessage) => {\n        console.log(BobMessage); // ArrayBuffer {byteLength: 408}\n    });\n```\n\nOn the other side you would do the same:\n\n```javascript\n// Parse received bytes to proto\nreturn DKeyRatchet.PreKeyMessageProtocol.importProto(BobMessage)\n    .then((proto) => {\n        return DKeyRatchet.AsymmetricRatchet.create(AliceID, proto)\n            .then((cipher) => {\n                return cipher.decrypt(proto.signedMessage);\n            })\n            .then((message) => {\n                console.log(Convert.ToUtf8String(message)); // Hello world!\n            });\n    });\n```\n\nWe have a [complete example you can look at here](https://github.com/PeculiarVentures/2key-ratchet/tree/master/src/examples).\n\n## Contributing\n\nIf you've found an problem with 2key-ratchet, please open a new issue. Feature requests are welcome, too.\n\nPull requests – patches, improvements, new features – are a fantastic help. Please ask first before embarking on any significant pull request (e.g., implementing new features).\n\n## Note\n\nBruce Schneier famously said \"If you think cryptography can solve your problem, then you don't understand your problem and you don't understand cryptography\". The point being, using 2key-ratchet, or any other \"cryptography related\" library, will not necessarily make your product secure. \n\nIn short, there is a lot more to making a secure product than adding cryptography, [this is a great book to get you familiar with thinking defensively](https://www.amazon.com/Threat-Modeling-Designing-Adam-Shostack/dp/1118809998).\n\n### WARNING\nThough this library is based on [the Double Ratchet Algorithm](https://whispersystems.org/docs/specifications/doubleratchet/) and [the X3DH Key Agreement Protocol](https://whispersystems.org/docs/specifications/x3dh/) several [changes](https://github.com/PeculiarVentures/2key-ratchet/blob/master/DIFFERENCES.md) have been made that could change the security properties they offer. At this time you should consider this implementation appropriate for experimentation until further security reviews are completed.\n\n## Acknowledgements\nBoth Double Ratchet and X3DH were designed by Trevor Perrin and Moxie Marlinspike, we thank them for their work.\n\n## Related\n- [A Formal Security Analysis of the Signal Messaging Protocol](https://eprint.iacr.org/2016/1013.pdf)\n- [WhatsApp Security Paper Analysis](https://courses.csail.mit.edu/6.857/2016/files/36.pdf)\n- [Web Cryptography API](https://www.w3.org/TR/2016/PR-WebCryptoAPI-20161215/)\n- [The X3DH Key Agreement Protocol](https://whispersystems.org/docs/specifications/x3dh/)\n- [The Double Ratchet Algorithm](https://whispersystems.org/docs/specifications/doubleratchet/)\n- [Google Key Transparency](https://github.com/google/keytransparency)\n- [OMEMO Multi-End Message and Object Encryption](https://xmpp.org/extensions/xep-0384.html)\n- [Matrix OLM](https://matrix.org/docs/guides/e2e_implementation.html)\n- [Double Ratchet & the Quantum Computers](https://www.fredericjacobs.com/blog/2016/04/07/qc-axolotl/)\n- [CryptoCat Encryption Overview](https://crypto.cat/security.html)\n","maintainers":[{"name":"microshine","email":"microshine@mail.ru"}],"time":{"modified":"2022-06-12T14:06:58.952Z","created":"2017-05-25T11:22:19.400Z","1.0.1":"2017-05-25T11:22:19.400Z","1.0.2":"2017-08-07T08:44:00.678Z","1.0.3":"2017-08-15T13:16:15.417Z","1.0.4":"2017-08-15T17:33:10.932Z","1.0.5":"2017-08-17T15:36:50.709Z","1.0.6":"2017-08-17T16:27:26.206Z","1.0.7":"2017-08-30T11:13:20.897Z","1.0.8":"2017-08-30T12:36:24.126Z","1.0.10":"2017-09-08T16:30:41.557Z","1.0.11":"2018-03-20T19:34:00.906Z","1.0.12":"2018-06-22T10:36:42.961Z","1.0.13":"2018-06-22T10:41:16.222Z","1.0.14":"2019-02-19T10:30:45.729Z","1.0.15":"2020-03-15T09:31:26.509Z","1.0.16":"2020-04-01T10:22:37.706Z","1.0.17":"2020-04-16T10:57:08.768Z","1.0.18":"2020-05-25T13:37:04.641Z"},"keywords":["diffie-hellman","secp256r1","ecc","encryption","cryptography","webcrypto","session","integrity","messaging"],"contributors":[{"name":"Miroshin Stepan","email":"microshine@mail.ru"}],"author":{"name":"PeculiarVentures"},"license":"https://github.com/PeculiarVentures/2key-ratchet/blob/master/LICENSE.md","readmeFilename":"README.md","homepage":"https://github.com/PeculiarVentures/2key-ratchet#readme","repository":{"type":"git","url":"git+https://github.com/PeculiarVentures/2key-ratchet.git"},"bugs":{"url":"https://github.com/PeculiarVentures/2key-ratchet/issues"}}