{"_id":"axolotl","_rev":"39-05b5e28e543e1e805d2f3fd3e3a30528","name":"axolotl","description":"An indepedent JavaScript implementation of Axolotl. Axolotl is a ratcheting forward secrecy protocol.","dist-tags":{"latest":"1.3.0"},"versions":{"0.5.0":{"name":"axolotl","version":"0.5.0","description":"A JavaScript port of libaxolotl. Axolotl is a ratcheting forward secrecy protocol.","main":"dist/libaxolotl.js","directories":{"test":"test"},"devDependencies":{"blanket":"^1.1.6","bytebuffer":"^3.5.4","chai":"~1.10.0","chai-as-promised":"^4.1.1","co":"^4.1.0","grunt":"~0.4.5","grunt-blanket":"0.0.8","grunt-contrib-clean":"^0.6.0","grunt-contrib-copy":"^0.7.0","grunt-contrib-jshint":"^0.10.0","grunt-mocha":"~0.4.11","grunt-mocha-test":"~0.12.4","grunt-pure-cjs":"^1.4.0","grunt-traceur":"^0.5.1","long":"^2.2.3","mocha":"~2.1.0","mocha-traceur":"^2.1.0","requirejs-browser":"^2.1.9","grunt-contrib-concat":"~0.5.0","grunt-jscs":"~1.1.0"},"scripts":{"test":"grunt test"},"keywords":["axolotl","textsecure"],"author":{"name":"Joe Bandenburg","email":"joe@bandenburg.com"},"license":"LGPLv3","repository":{"type":"git","url":"http://github.com/joebandenburg/libaxolotl-javascript.git"},"dependencies":{"protobufjs":"~3.8.2","traceur-runtime":"0.0.59"},"bugs":{"url":"https://github.com/joebandenburg/libaxolotl-javascript/issues"},"_id":"axolotl@0.5.0","dist":{"shasum":"db7f0509359c5b6ed497ab43dbe4133b9ee05a91","tarball":"https://registry.npmjs.org/axolotl/-/axolotl-0.5.0.tgz","integrity":"sha512-0uKZerdV8h6koY61fHHCy1TIJXjurxdaGrYZ5GdflnMGOgqzckGLKmUgcMTqoD7IsHiXZkdELUvzeFcBchSUGA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEGu3qFJJz1+kc3VeAg1l/56Uwl9wbYuShqQcTZDFbTlAiEAk3RLY1sIDni8B4ZiEHYm1lcrxWCiRdzB43X9c4+xQkE="}]},"_from":"./","_npmVersion":"1.3.11","_npmUser":{"name":"joebandenburg","email":"joe@bandenburg.com"},"maintainers":[{"name":"joebandenburg","email":"joe@bandenburg.com"}]},"0.5.1":{"name":"axolotl","version":"0.5.1","description":"A JavaScript port of libaxolotl. Axolotl is a ratcheting forward secrecy protocol.","main":"dist/axolotl.js","directories":{"test":"test"},"devDependencies":{"blanket":"^1.1.6","bytebuffer":"^3.5.4","chai":"~1.10.0","chai-as-promised":"^4.1.1","co":"^4.1.0","grunt":"~0.4.5","grunt-blanket":"0.0.8","grunt-contrib-clean":"^0.6.0","grunt-contrib-copy":"^0.7.0","grunt-contrib-jshint":"^0.10.0","grunt-mocha":"~0.4.11","grunt-mocha-test":"~0.12.4","grunt-pure-cjs":"^1.4.0","grunt-traceur":"^0.5.1","long":"^2.2.3","mocha":"~2.1.0","mocha-traceur":"^2.1.0","requirejs-browser":"^2.1.9","grunt-contrib-concat":"~0.5.0","grunt-jscs":"~1.1.0"},"scripts":{"test":"grunt test"},"keywords":["axolotl","textsecure"],"author":{"name":"Joe Bandenburg","email":"joe@bandenburg.com"},"license":"LGPLv3","repository":{"type":"git","url":"http://github.com/joebandenburg/libaxolotl-javascript.git"},"dependencies":{"protobufjs":"~3.8.2","traceur-runtime":"0.0.59"},"bugs":{"url":"https://github.com/joebandenburg/libaxolotl-javascript/issues"},"_id":"axolotl@0.5.1","dist":{"shasum":"38feebaa0e9f57234e44c13ea768a5a88ecb2a16","tarball":"https://registry.npmjs.org/axolotl/-/axolotl-0.5.1.tgz","integrity":"sha512-KmoMLgMlWQMJ+Fms2EaBjPoqvyEsqhQmdaBGu3LfNFHFUMmzl0Ou+aCFWDQxiBk2qSWsIIOY2fSEp7rk6Oivhw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAQJxqHAc73UFWG9JjTy4gRbq4Bxm9km0LplwsrD6Wd8AiBn+ndV3Zitri6I6CV6jcYrrUIX4Lwj/Cj7I7gzt2ZORA=="}]},"_from":"./","_npmVersion":"1.3.11","_npmUser":{"name":"joebandenburg","email":"joe@bandenburg.com"},"maintainers":[{"name":"joebandenburg","email":"joe@bandenburg.com"}]},"0.5.3":{"name":"axolotl","version":"0.5.3","description":"A JavaScript port of libaxolotl. Axolotl is a ratcheting forward secrecy protocol.","main":"dist/axolotl.js","directories":{"test":"test"},"devDependencies":{"blanket":"^1.1.6","bytebuffer":"^3.5.4","chai":"~1.10.0","chai-as-promised":"^4.1.1","co":"^4.1.0","grunt":"~0.4.5","grunt-blanket":"0.0.8","grunt-contrib-clean":"^0.6.0","grunt-contrib-copy":"^0.7.0","grunt-contrib-jshint":"^0.10.0","grunt-mocha":"~0.4.11","grunt-mocha-test":"~0.12.4","grunt-pure-cjs":"^1.4.0","grunt-traceur":"^0.5.1","long":"^2.2.3","mocha":"~2.1.0","mocha-traceur":"^2.1.0","requirejs-browser":"^2.1.9","grunt-contrib-concat":"~0.5.0","grunt-jscs":"~1.1.0"},"scripts":{"test":"grunt test"},"keywords":["axolotl","textsecure"],"author":{"name":"Joe Bandenburg","email":"joe@bandenburg.com"},"license":"LGPLv3","repository":{"type":"git","url":"http://github.com/joebandenburg/libaxolotl-javascript.git"},"dependencies":{"protobufjs":"~3.8.2","traceur-runtime":"0.0.59"},"bugs":{"url":"https://github.com/joebandenburg/libaxolotl-javascript/issues"},"_id":"axolotl@0.5.3","dist":{"shasum":"cde09925c1b2dd9e067c3c5289f05562c82b997f","tarball":"https://registry.npmjs.org/axolotl/-/axolotl-0.5.3.tgz","integrity":"sha512-5ftcOfpndku4FdJtu5bFVYvPgFF1kCs7uRMksuQMHZ/AVRAhsO7zUSzRUZoAI3U0tl5eIynU1p6bAbWAGVe1VA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAQfDBt2MSP1fQ/8JLuPo+zrHvKTEVo47fcZ5JQ5jil/AiAaoLBmQGH3/ijwbMfpcu0/eSvPNBokYLI6SOgklVi/aA=="}]},"_from":"./","_npmVersion":"1.3.11","_npmUser":{"name":"joebandenburg","email":"joe@bandenburg.com"},"maintainers":[{"name":"joebandenburg","email":"joe@bandenburg.com"}]},"0.9.0":{"name":"axolotl","version":"0.9.0","description":"A JavaScript port of libaxolotl. Axolotl is a ratcheting forward secrecy protocol.","main":"dist/axolotl.js","directories":{"test":"test"},"devDependencies":{"blanket":"^1.1.6","bytebuffer":"^3.5.4","chai":"~1.10.0","chai-as-promised":"^4.1.1","co":"^4.1.0","grunt":"~0.4.5","grunt-blanket":"0.0.8","grunt-contrib-clean":"^0.6.0","grunt-contrib-copy":"^0.7.0","grunt-contrib-jshint":"^0.10.0","grunt-mocha":"~0.4.11","grunt-mocha-test":"~0.12.4","grunt-pure-cjs":"^1.4.0","grunt-traceur":"^0.5.1","long":"^2.2.3","mocha":"~2.1.0","mocha-traceur":"^2.1.0","requirejs-browser":"^2.1.9","grunt-contrib-concat":"~0.5.0","grunt-jscs":"~1.1.0","sinon":"~1.12.2"},"scripts":{"test":"grunt test"},"keywords":["axolotl","textsecure"],"author":{"name":"Joe Bandenburg","email":"joe@bandenburg.com"},"license":"LGPLv3","repository":{"type":"git","url":"http://github.com/joebandenburg/libaxolotl-javascript.git"},"dependencies":{"protobufjs":"~3.8.2","traceur-runtime":"0.0.59"},"bugs":{"url":"https://github.com/joebandenburg/libaxolotl-javascript/issues"},"_id":"axolotl@0.9.0","dist":{"shasum":"9f5033dc51d9a3834a91aa10584bcb590f808971","tarball":"https://registry.npmjs.org/axolotl/-/axolotl-0.9.0.tgz","integrity":"sha512-QfioRMgfwl+uncjDkFQJJ3a1a9bkEPLMGOjLh/lhFpXClezfz7NlOlTV9dNZ/SBoUNIMKNwOfl68fa1B7J3n1w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD3sGLFFve0hcNHkTB0ZLTUb3N8g2dz7edQr4RxcELJFwIgS7ZfsrK/8TYYUp1Y/fzrALyP7NGKcEFZP+hrPBohBJE="}]},"_from":"./","_npmVersion":"1.3.11","_npmUser":{"name":"joebandenburg","email":"joe@bandenburg.com"},"maintainers":[{"name":"joebandenburg","email":"joe@bandenburg.com"}]},"0.9.1":{"name":"axolotl","version":"0.9.1","description":"A JavaScript port of libaxolotl. Axolotl is a ratcheting forward secrecy protocol.","main":"dist/axolotl.js","directories":{"test":"test"},"devDependencies":{"blanket":"^1.1.6","bytebuffer":"^3.5.4","chai":"~1.10.0","chai-as-promised":"^4.1.1","co":"^4.1.0","grunt":"~0.4.5","grunt-blanket":"0.0.8","grunt-contrib-clean":"^0.6.0","grunt-contrib-copy":"^0.7.0","grunt-contrib-jshint":"^0.10.0","grunt-mocha":"~0.4.11","grunt-mocha-test":"~0.12.4","grunt-pure-cjs":"^1.4.0","grunt-traceur":"^0.5.1","long":"^2.2.3","mocha":"~2.1.0","mocha-traceur":"^2.1.0","requirejs-browser":"^2.1.9","grunt-contrib-concat":"~0.5.0","grunt-jscs":"~1.1.0","sinon":"~1.12.2"},"scripts":{"test":"grunt test"},"keywords":["axolotl","textsecure"],"author":{"name":"Joe Bandenburg","email":"joe@bandenburg.com"},"license":"LGPLv3","repository":{"type":"git","url":"http://github.com/joebandenburg/libaxolotl-javascript.git"},"dependencies":{"protobufjs":"~3.8.2","traceur-runtime":"0.0.59"},"bugs":{"url":"https://github.com/joebandenburg/libaxolotl-javascript/issues"},"_id":"axolotl@0.9.1","dist":{"shasum":"37daf5737ffb72013c1049722ba848561e0680e9","tarball":"https://registry.npmjs.org/axolotl/-/axolotl-0.9.1.tgz","integrity":"sha512-VQBjkW4CvOtD9PQjJIv4T+eek1HmfKCverbZvJKq/lBC3Gd59B7xfjoEL9H1ldo0ZSL4Jma/QxLTK79zhYFp7g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHe3wu1etaSORvuqkX7Iy4KzOxA3SELCm5cE7Y2vXOZFAiEAoBw0CT7YwYhTWjOWOkrK3kKg5Sx44ih78TkX0fGdBiw="}]},"_from":"./","_npmVersion":"1.3.11","_npmUser":{"name":"joebandenburg","email":"joe@bandenburg.com"},"maintainers":[{"name":"joebandenburg","email":"joe@bandenburg.com"}]},"1.0.0":{"name":"axolotl","version":"1.0.0","description":"A JavaScript port of libaxolotl. Axolotl is a ratcheting forward secrecy protocol.","main":"dist/axolotl.js","directories":{"test":"test"},"devDependencies":{"blanket":"^1.1.6","bytebuffer":"^3.5.4","chai":"~1.10.0","chai-as-promised":"^4.1.1","co":"^4.1.0","grunt":"~0.4.5","grunt-blanket":"0.0.8","grunt-contrib-clean":"^0.6.0","grunt-contrib-concat":"~0.5.0","grunt-contrib-copy":"^0.7.0","grunt-contrib-jshint":"^0.10.0","grunt-jscs":"~1.1.0","grunt-karma":"^0.10.1","grunt-mocha-test":"~0.12.4","grunt-pure-cjs":"^1.4.0","grunt-traceur":"^0.5.1","karma":"^0.12.31","karma-chai":"^0.1.0","karma-firefox-launcher":"^0.1.4","karma-mocha":"^0.1.10","long":"^2.2.3","mocha":"~2.1.0","mocha-traceur":"^2.1.0","requirejs-browser":"^2.1.9","sinon":"~1.12.2"},"scripts":{"test":"grunt test"},"keywords":["axolotl","textsecure"],"author":{"name":"Joe Bandenburg","email":"joe@bandenburg.com"},"license":"LGPLv3","repository":{"type":"git","url":"http://github.com/joebandenburg/libaxolotl-javascript.git"},"dependencies":{"axolotl-crypto":"^1.1.0","protobufjs":"~3.8.2","traceur-runtime":"0.0.59"},"gitHead":"8320c1c3007d8c2355695fb5c9de429555ba7e42","bugs":{"url":"https://github.com/joebandenburg/libaxolotl-javascript/issues"},"homepage":"https://github.com/joebandenburg/libaxolotl-javascript","_id":"axolotl@1.0.0","_shasum":"03aca7ec648f87589f905e3fe29c89f80146f239","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"joebandenburg","email":"joe@bandenburg.com"},"maintainers":[{"name":"joebandenburg","email":"joe@bandenburg.com"}],"dist":{"shasum":"03aca7ec648f87589f905e3fe29c89f80146f239","tarball":"https://registry.npmjs.org/axolotl/-/axolotl-1.0.0.tgz","integrity":"sha512-YQ6GJRSngIEFeFIfWiXnPjeFsLA2O1s/W4bTQezBoRNsybixiRbYOIaTJfvEGuTaL9MxdeMpGNK44VtVOx7Wyg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAhaNrUAi7xiATnlOld/wUUE0e0LeKbe2InifJBo+72rAiBg9lgGkSnvzkcfg8w/UuvX2ZDujTILRHHb94TPliGqrg=="}]}},"1.0.1":{"name":"axolotl","version":"1.0.1","description":"A JavaScript port of libaxolotl. Axolotl is a ratcheting forward secrecy protocol.","main":"dist/axolotl.js","directories":{"test":"test"},"devDependencies":{"blanket":"^1.1.6","bytebuffer":"^3.5.4","chai":"~1.10.0","chai-as-promised":"^4.1.1","co":"^4.1.0","grunt":"~0.4.5","grunt-blanket":"0.0.8","grunt-contrib-clean":"^0.6.0","grunt-contrib-concat":"~0.5.0","grunt-contrib-copy":"^0.7.0","grunt-contrib-jshint":"^0.10.0","grunt-jscs":"~1.1.0","grunt-karma":"^0.10.1","grunt-mocha-test":"~0.12.4","grunt-pure-cjs":"^1.4.0","grunt-traceur":"^0.5.1","karma":"^0.12.31","karma-chai":"^0.1.0","karma-firefox-launcher":"^0.1.4","karma-mocha":"^0.1.10","long":"^2.2.3","mocha":"~2.1.0","mocha-traceur":"^2.1.0","requirejs-browser":"^2.1.9","sinon":"~1.12.2"},"scripts":{"test":"grunt test"},"keywords":["axolotl","textsecure"],"author":{"name":"Joe Bandenburg","email":"joe@bandenburg.com"},"license":"LGPLv3","repository":{"type":"git","url":"http://github.com/joebandenburg/libaxolotl-javascript.git"},"dependencies":{"axolotl-crypto":"^1.1.0","protobufjs":"~3.8.2","traceur-runtime":"0.0.59"},"gitHead":"e3a1ca9384b5f4c5e20eb99af1e0d2778fe262fb","bugs":{"url":"https://github.com/joebandenburg/libaxolotl-javascript/issues"},"homepage":"https://github.com/joebandenburg/libaxolotl-javascript","_id":"axolotl@1.0.1","_shasum":"a04463fcd8182e63a8579a1ff28125ffc6912335","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"joebandenburg","email":"joe@bandenburg.com"},"maintainers":[{"name":"joebandenburg","email":"joe@bandenburg.com"}],"dist":{"shasum":"a04463fcd8182e63a8579a1ff28125ffc6912335","tarball":"https://registry.npmjs.org/axolotl/-/axolotl-1.0.1.tgz","integrity":"sha512-yMId2QXlXudWKN8DuaAUrrobXg4POZY/RZaXoLD7x01ENPIg2iNp2qKNIfy934hIAP48Vxm+5+a18KiW+ucvTQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/C12kfaB6/GKzqq4ulmBgsxlH5ABmwc7JoCYSM8l2bQIgaxfl1CJJ0DUXVgu6DXTbyavgfvuxWW4aaSIDaBesb5A="}]}},"1.0.2":{"name":"axolotl","version":"1.0.2","description":"A JavaScript port of libaxolotl. Axolotl is a ratcheting forward secrecy protocol.","main":"dist/axolotl.js","directories":{"test":"test"},"devDependencies":{"blanket":"^1.1.6","bytebuffer":"^3.5.4","chai":"~1.10.0","chai-as-promised":"^4.1.1","co":"^4.1.0","grunt":"~0.4.5","grunt-blanket":"0.0.8","grunt-contrib-clean":"^0.6.0","grunt-contrib-concat":"~0.5.0","grunt-contrib-copy":"^0.7.0","grunt-contrib-jshint":"^0.10.0","grunt-jscs":"~1.1.0","grunt-karma":"^0.10.1","grunt-mocha-test":"~0.12.4","grunt-pure-cjs":"^1.4.0","grunt-traceur":"^0.5.1","karma":"^0.12.31","karma-chai":"^0.1.0","karma-firefox-launcher":"^0.1.4","karma-mocha":"^0.1.10","long":"^2.2.3","mocha":"~2.1.0","mocha-traceur":"^2.1.0","requirejs-browser":"^2.1.9","sinon":"~1.12.2"},"scripts":{"test":"grunt test"},"keywords":["axolotl","textsecure"],"author":{"name":"Joe Bandenburg","email":"joe@bandenburg.com"},"license":"LGPLv3","repository":{"type":"git","url":"http://github.com/joebandenburg/libaxolotl-javascript.git"},"dependencies":{"axolotl-crypto":"^1.1.0","protobufjs":"~3.8.2","traceur":"0.0.84"},"gitHead":"12720dc53086b2497a596d13619632dd9f66402a","bugs":{"url":"https://github.com/joebandenburg/libaxolotl-javascript/issues"},"homepage":"https://github.com/joebandenburg/libaxolotl-javascript","_id":"axolotl@1.0.2","_shasum":"8a06d75fb5c03ec970ff61414dc9f3b14d43bb4f","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"joebandenburg","email":"joe@bandenburg.com"},"maintainers":[{"name":"joebandenburg","email":"joe@bandenburg.com"}],"dist":{"shasum":"8a06d75fb5c03ec970ff61414dc9f3b14d43bb4f","tarball":"https://registry.npmjs.org/axolotl/-/axolotl-1.0.2.tgz","integrity":"sha512-BPXmpVHhwJZhUhVhJDCEa6/fdhlA2/3OUK4Xp1VuW++LT2lyJ8/FkT1wc0aLQs/Axc4S86iVKA6a+7ox9bxZmQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFY7/sLRT6LRDdbybxHepyqEz5VVjEUTAZCfQrNqKosRAiEAogVYIQk0ymYJBnM/mK8vAD7XS/v+sqeuYGdrsU5r2L8="}]}},"1.1.2":{"name":"axolotl","version":"1.1.2","description":"A JavaScript port of libaxolotl. Axolotl is a ratcheting forward secrecy protocol.","main":"dist/axolotl.js","directories":{"test":"test"},"devDependencies":{"blanket":"^1.1.6","bytebuffer":"^3.5.4","chai":"~1.10.0","chai-as-promised":"^4.1.1","co":"^4.1.0","grunt":"~0.4.5","grunt-blanket":"0.0.8","grunt-contrib-clean":"^0.6.0","grunt-contrib-concat":"~0.5.0","grunt-contrib-copy":"^0.7.0","grunt-contrib-jshint":"^0.10.0","grunt-jscs":"~1.1.0","grunt-karma":"^0.10.1","grunt-mocha-test":"~0.12.4","grunt-pure-cjs":"^1.4.0","grunt-traceur":"^0.5.1","karma":"^0.12.31","karma-chai":"^0.1.0","karma-firefox-launcher":"^0.1.4","karma-mocha":"^0.1.10","long":"^2.2.3","mocha":"~2.1.0","mocha-traceur":"^2.1.0","requirejs-browser":"^2.1.9","sinon":"~1.12.2"},"scripts":{"test":"grunt test"},"keywords":["axolotl","textsecure"],"author":{"name":"Joe Bandenburg","email":"joe@bandenburg.com"},"license":"LGPLv3","repository":{"type":"git","url":"http://github.com/joebandenburg/libaxolotl-javascript.git"},"dependencies":{"axolotl-crypto":"^1.1.0","protobufjs":"~3.8.2","traceur":"0.0.84"},"gitHead":"a6583838659c655d6a004231696485f1f4b8a1dd","bugs":{"url":"https://github.com/joebandenburg/libaxolotl-javascript/issues"},"homepage":"https://github.com/joebandenburg/libaxolotl-javascript","_id":"axolotl@1.1.2","_shasum":"bd57e21593787aee5cce9e5b7f12cdd468f0a877","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"joebandenburg","email":"joe@bandenburg.com"},"maintainers":[{"name":"joebandenburg","email":"joe@bandenburg.com"}],"dist":{"shasum":"bd57e21593787aee5cce9e5b7f12cdd468f0a877","tarball":"https://registry.npmjs.org/axolotl/-/axolotl-1.1.2.tgz","integrity":"sha512-1drNq/77MtAm2nbl8ENo98EUdXKkkfUs2NLvrd5rbq96NUQhshBZeo6HYp/fjgj7sZWtGtH7UaUMKBk3QPo3Pg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGfRqDb0EhMyy6I66VYx8zjlW6nIEKt0FqL2/ifX2bkDAiA2Y7iVk/CIybj4ezTeTLsMA+XlHurCMbTbaroO0/Zb/w=="}]}},"1.2.0":{"name":"axolotl","version":"1.2.0","description":"An indepedent JavaScript implementation of Axolotl. Axolotl is a ratcheting forward secrecy protocol.","main":"dist/axolotl.js","directories":{"test":"test"},"devDependencies":{"blanket":"^1.1.6","bytebuffer":"^3.5.4","chai":"~1.10.0","chai-as-promised":"^4.1.1","co":"^4.1.0","grunt":"~0.4.5","grunt-blanket":"0.0.8","grunt-contrib-clean":"^0.6.0","grunt-contrib-concat":"~0.5.0","grunt-contrib-copy":"^0.7.0","grunt-contrib-jshint":"^0.10.0","grunt-jscs":"~1.1.0","grunt-karma":"^0.10.1","grunt-mocha-test":"~0.12.4","grunt-pure-cjs":"^1.4.0","grunt-traceur":"^0.5.1","karma":"^0.12.31","karma-chai":"^0.1.0","karma-firefox-launcher":"^0.1.4","karma-mocha":"^0.1.10","long":"^2.2.3","mocha":"~2.1.0","mocha-traceur":"^2.1.0","requirejs-browser":"^2.1.9","sinon":"~1.12.2"},"scripts":{"test":"grunt test"},"keywords":["axolotl","textsecure"],"author":{"name":"Joe Bandenburg","email":"joe@bandenburg.com"},"license":"LGPLv3","repository":{"type":"git","url":"http://github.com/joebandenburg/libaxolotl-javascript.git"},"dependencies":{"axolotl-crypto":"^1.1.0","protobufjs":"~3.8.2","traceur":"0.0.84"},"gitHead":"b52f449cee4dbd2e5d10dde9cdf786e3f87fc730","bugs":{"url":"https://github.com/joebandenburg/libaxolotl-javascript/issues"},"homepage":"https://github.com/joebandenburg/libaxolotl-javascript","_id":"axolotl@1.2.0","_shasum":"45c67c061e0534656368d6bcc6fddeb91eb9a982","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"joebandenburg","email":"joe@bandenburg.com"},"maintainers":[{"name":"joebandenburg","email":"joe@bandenburg.com"}],"dist":{"shasum":"45c67c061e0534656368d6bcc6fddeb91eb9a982","tarball":"https://registry.npmjs.org/axolotl/-/axolotl-1.2.0.tgz","integrity":"sha512-rTrDdImWuyOtGz13BOeR4Ikjx8cdQQSbAck2Smtrb3As1ftpArrrwwtV0Dni/bnN2yz4MZvqz6L8x3f1njKy8Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCpLw+vlVYgLvkz0jNvb+b9Wtb1lHVwEGCutIIn2OGxQAIgJHF95ytW6L8Ij5Z4oQZpMlBDqjgb/DBqYVSmzOH6GLA="}]}},"1.2.1":{"name":"axolotl","version":"1.2.1","description":"An indepedent JavaScript implementation of Axolotl. Axolotl is a ratcheting forward secrecy protocol.","main":"dist/axolotl.js","directories":{"test":"test"},"devDependencies":{"blanket":"^1.1.6","bytebuffer":"^3.5.4","chai":"~1.10.0","chai-as-promised":"^4.1.1","co":"^4.1.0","grunt":"~0.4.5","grunt-blanket":"0.0.8","grunt-contrib-clean":"^0.6.0","grunt-contrib-concat":"~0.5.0","grunt-contrib-copy":"^0.7.0","grunt-contrib-jshint":"^0.10.0","grunt-jscs":"~1.1.0","grunt-karma":"^0.10.1","grunt-mocha-test":"~0.12.4","grunt-pure-cjs":"^1.4.0","grunt-traceur":"^0.5.1","karma":"^0.12.31","karma-chai":"^0.1.0","karma-firefox-launcher":"^0.1.4","karma-mocha":"^0.1.10","long":"^2.2.3","mocha":"~2.1.0","mocha-traceur":"^2.1.0","requirejs-browser":"^2.1.9","sinon":"~1.12.2"},"scripts":{"test":"grunt test"},"keywords":["axolotl","textsecure"],"author":{"name":"Joe Bandenburg","email":"joe@bandenburg.com"},"license":"LGPLv3","repository":{"type":"git","url":"http://github.com/joebandenburg/libaxolotl-javascript.git"},"dependencies":{"axolotl-crypto":"^1.1.0","protobufjs":"~3.8.2","traceur":"0.0.84"},"gitHead":"060e52ae9f1a28d113f2b8138f4bed4e8cff6dbb","bugs":{"url":"https://github.com/joebandenburg/libaxolotl-javascript/issues"},"homepage":"https://github.com/joebandenburg/libaxolotl-javascript","_id":"axolotl@1.2.1","_shasum":"4747f4e6f098a3b55e73a7fca678d24a35b72436","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"joebandenburg","email":"joe@bandenburg.com"},"maintainers":[{"name":"joebandenburg","email":"joe@bandenburg.com"}],"dist":{"shasum":"4747f4e6f098a3b55e73a7fca678d24a35b72436","tarball":"https://registry.npmjs.org/axolotl/-/axolotl-1.2.1.tgz","integrity":"sha512-HJHQGMln9NTmxUE6XH53QkwVYQqJEfszq+n407SjdIgz4c2spM70Mu8WPpcFUIvj+FMgCs+1KBBwiAWGKWPAhA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDXxUfkfHBitc9PXDGY9zFRCmwi+cbaaOIjLN1q2M8BdAiBfWxLYgMfItJxcHj8xElPgtjBPf9+3pdMi2/sqC4EiNQ=="}]}},"1.2.2":{"name":"axolotl","version":"1.2.2","description":"An indepedent JavaScript implementation of Axolotl. Axolotl is a ratcheting forward secrecy protocol.","main":"dist/axolotl.js","directories":{"test":"test"},"devDependencies":{"blanket":"^1.1.6","bytebuffer":"^3.5.4","chai":"~1.10.0","chai-as-promised":"^4.1.1","co":"^4.1.0","grunt":"~0.4.5","grunt-blanket":"0.0.8","grunt-contrib-clean":"^0.6.0","grunt-contrib-concat":"~0.5.0","grunt-contrib-copy":"^0.7.0","grunt-contrib-jshint":"^0.10.0","grunt-jscs":"~1.1.0","grunt-karma":"^0.10.1","grunt-mocha-test":"~0.12.4","grunt-pure-cjs":"^1.4.0","grunt-traceur":"^0.5.1","karma":"^0.12.31","karma-chai":"^0.1.0","karma-firefox-launcher":"^0.1.4","karma-mocha":"^0.1.10","long":"^2.2.3","mocha":"~2.1.0","mocha-traceur":"^2.1.0","requirejs-browser":"^2.1.9","sinon":"~1.12.2"},"scripts":{"test":"grunt test"},"keywords":["axolotl","textsecure"],"author":{"name":"Joe Bandenburg","email":"joe@bandenburg.com"},"license":"LGPLv3","repository":{"type":"git","url":"http://github.com/joebandenburg/libaxolotl-javascript.git"},"dependencies":{"axolotl-crypto":"^1.1.0","protobufjs":"~3.8.2","traceur":"0.0.84"},"gitHead":"0b2c6ed47395981f7b4a48a182d6860629a203c8","bugs":{"url":"https://github.com/joebandenburg/libaxolotl-javascript/issues"},"homepage":"https://github.com/joebandenburg/libaxolotl-javascript","_id":"axolotl@1.2.2","_shasum":"ab32045098e9c435fd6d1d8a47d45f4798d4ee3b","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"joebandenburg","email":"joe@bandenburg.com"},"maintainers":[{"name":"joebandenburg","email":"joe@bandenburg.com"}],"dist":{"shasum":"ab32045098e9c435fd6d1d8a47d45f4798d4ee3b","tarball":"https://registry.npmjs.org/axolotl/-/axolotl-1.2.2.tgz","integrity":"sha512-elq5yYFpI3XtJRl5nkbBL4aW4i2cOikcUaSyLYVxqCnWebUlqboVD5of9tZlfZADEGveyLTRidouJYTShH46ww==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFxn11gtSOuFO/3Qsxp1vCsx3rqB0dufWbFq2Mhn48NhAiAXJoJom6ZlE1U0pELWCxV0obktNibjwRfRnkcLyXNf/g=="}]}},"1.3.0":{"name":"axolotl","version":"1.3.0","description":"An indepedent JavaScript implementation of Axolotl. Axolotl is a ratcheting forward secrecy protocol.","main":"dist/axolotl.js","directories":{"test":"test"},"devDependencies":{"blanket":"^1.1.6","bytebuffer":"^3.5.4","chai":"~1.10.0","chai-as-promised":"^4.1.1","co":"^4.1.0","grunt":"~0.4.5","grunt-blanket":"0.0.8","grunt-contrib-clean":"^0.6.0","grunt-contrib-concat":"~0.5.0","grunt-contrib-copy":"^0.7.0","grunt-contrib-jshint":"^0.10.0","grunt-jscs":"~1.1.0","grunt-karma":"^0.10.1","grunt-mocha-test":"~0.12.4","grunt-pure-cjs":"^1.4.0","grunt-traceur":"^0.5.1","karma":"^0.12.31","karma-chai":"^0.1.0","karma-firefox-launcher":"^0.1.4","karma-mocha":"^0.1.10","long":"^2.2.3","mocha":"~2.1.0","mocha-traceur":"^2.1.0","requirejs-browser":"^2.1.9","sinon":"~1.12.2"},"scripts":{"test":"grunt test"},"keywords":["axolotl","textsecure"],"author":{"name":"Joe Bandenburg","email":"joe@bandenburg.com"},"license":"LGPLv3","repository":{"type":"git","url":"http://github.com/joebandenburg/libaxolotl-javascript.git"},"dependencies":{"axolotl-crypto":"^1.1.0","protobufjs":"~3.8.2","traceur":"0.0.84"},"gitHead":"f062b63e18172cf3a5d7b1d876adaec83f4faf96","bugs":{"url":"https://github.com/joebandenburg/libaxolotl-javascript/issues"},"homepage":"https://github.com/joebandenburg/libaxolotl-javascript","_id":"axolotl@1.3.0","_shasum":"090489846aed8aa8317a396ba35229221d2a565a","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"joebandenburg","email":"joe@bandenburg.com"},"maintainers":[{"name":"joebandenburg","email":"joe@bandenburg.com"}],"dist":{"shasum":"090489846aed8aa8317a396ba35229221d2a565a","tarball":"https://registry.npmjs.org/axolotl/-/axolotl-1.3.0.tgz","integrity":"sha512-F0cK9mYevp4GWRzolN3QbzvuFsV6dvh7kByzmL5Bznla5tUZLUZUjlHjmmXGeV5gdw94cGor7MgrEj8VAZmkYw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCtj26fgtXREmabu0UY2Z/o8/v6d+mL41V3KOMYGBwW+QIhAJT2wfQ07/MYfu+LaGKru0yXJ4C+WqRpat/8G2vQg2mv"}]}}},"readme":"[![Build Status](https://travis-ci.org/joebandenburg/libaxolotl-javascript.svg?branch=master)](https://travis-ci.org/joebandenburg/libaxolotl-javascript)\r\n\r\nThis project is an independent implementation of Axolotl in JavaScript. It is not endorsed by Open Whisper Systems.\r\n\r\nAxolotl is a ratcheting forward secrecy protocol that works in synchronous and asynchronous messaging environments.\r\nThe protocol overview is available [here](https://github.com/trevp/axolotl/wiki), and the details of the TextSecure wire\r\nformat are available [here](https://github.com/WhisperSystems/TextSecure/wiki/ProtocolV2).\r\n\r\nCurrently this implementation only supports version 3 of the protocol.\r\n\r\n**WARNING: This implementation has not yet been independently audited. That means you should probably not use it.**\r\n\r\n## Installation\r\n\r\n### Node.js\r\n\r\nInstall using npm:\r\n```\r\n$ npm install axolotl\r\n```\r\n\r\nand import using `\"axolotl\"`:\r\n```javascript\r\nvar axolotl = require(\"axolotl\");\r\n```\r\n\r\n### Browser\r\n\r\nInstall using bower:\r\n```\r\n$ bower install axolotl\r\n```\r\n\r\nand import using AMD:\r\n```javascript\r\nrequire([\"axolotl\"], function(axolotl) {\r\n\r\n});\r\n```\r\n\r\nor without:\r\n```javascript\r\nwindow.axolotl(...)\r\n```\r\n\r\n## Getting started\r\n\r\n### Dependencies\r\n\r\nlibaxolotl-javascript depends on [traceur-runtime](https://github.com/google/traceur-compiler) and\r\n[protobuf.js](https://github.com/dcodeIO/ProtoBuf.js) and [cryptographic primitives](doc/crypto.md).\r\nThese dependencies are not included in the distributed package. If you installed libaxolotl-javascript using npm then\r\nthere is nothing more you need to do - npm will download these dependencies for you.\r\n\r\nIf you are using libaxolotl-javascript in the browser, you will have to provide the library's dependencies yourself. If\r\nyou're using AMD, then simply provide the location of these dependencies in your AMD configuration. Otherwise, include\r\nthe dependencies on the page before including `axolotl.js`.\r\n\r\n### The Store interface\r\n\r\nYou need to provide an implementation of the `Store` interface when instantiating Axolotl. This is an object that\r\nhas the following methods.\r\n\r\n*Note that all methods may return a Promise if the operation is asynchronous.*\r\n\r\n#### getLocalIdentityKeyPair\r\n\r\n```\r\ngetLocalIdentityKeyPair() → {KeyPair}\r\n```\r\n\r\nGet the local identity key pair created at install time. A key pair is a JavaScript object containing the keys `public`\r\nand `private` which correspond to the public and private keys, respectively. These keys are of type ArrayBuffer.\r\n\r\n#### getLocalRegistrationId\r\n\r\n```\r\ngetLocalRegistrationId() → {Number}\r\n```\r\n\r\nGet the local registration identifier created at install time.\r\n\r\n#### getLocalSignedPreKeyPair\r\n\r\n```\r\ngetLocalSignedPreKeyPair(signedPreKeyId) → {KeyPair}\r\n```\r\n\r\nGet the local signed pre-key pair associated with the `signedPreKeyId`.\r\n\r\n##### Parameters\r\n\r\nName|Type|Description\r\n:---|:---|:----------\r\n`signedPreKeyId`|Number|The identifier of the signed pre-key.\r\n\r\n#### getLocalPreKeyPair\r\n\r\n```\r\ngetLocalPreKeyPair(preKeyId) → {KeyPair}\r\n```\r\n\r\nGet the local pre-key pair associated with the `preKeyId`.\r\n\r\n##### Parameters\r\n\r\nName|Type|Description\r\n:---|:---|:----------\r\n`preKeyId`|Number|The identifier of the pre-key.\r\n\r\n### Using Axolotl\r\n\r\nStart by instantiating Axolotl:\r\n\r\n```javascript\r\nvar axol = axolotl(store);\r\n```\r\n\r\nWhen your application is first installed, the client will likely need to register with the server. To do this, a number\r\nof data needs to be generated:\r\n\r\n```javascript\r\naxol.generateIdentityKeyPair().then(...); // Generate our identity key\r\naxol.generateRegistrationId().then(...); // Generate our registration id\r\naxol.generatePreKeys(0, 100).then(...); // Generate the first set of our pre-keys to send to the server\r\naxol.generateLastResortPreKey().then(...); // Generate our last restore pre-key to send to the server\r\naxol.generateSignedPreKey(identityKeyPair, 1).then(...); // Generate our first signed pre-key to send to the server\r\n```\r\n\r\nOnce registered, sending messages is very simple:\r\n\r\n```javascript\r\nvar message = convertStringToBytes(\"Hello bob\");\r\naxol.encryptMessage(\"bob\", message).then(function(ciphertext) {\r\n    // Send ciphertext to alice\r\n});\r\n```\r\n\r\nand on the receiving side:\r\n\r\n```javascript\r\n// When receiving a ciphertext, decide what type it is from the container and then decrypt\r\naxol.decryptPreKeyWhisperMessage(\"alice\", ciphertext).then(function(plaintext) {\r\n    console.log(plaintext); // \"Hello bob\"\r\n});\r\n```\r\n\r\nSee [Axolotl.js](src/Axolotl.js) for more detailed API documentation.\r\n","maintainers":[{"name":"joebandenburg","email":"joe@bandenburg.com"}],"time":{"modified":"2022-06-13T03:57:20.621Z","created":"2015-01-11T12:19:05.218Z","0.5.0":"2015-01-11T12:19:07.261Z","0.5.1":"2015-01-11T12:22:41.809Z","0.5.3":"2015-01-11T12:42:02.903Z","0.9.0":"2015-01-17T15:28:02.610Z","0.9.1":"2015-01-18T14:56:06.970Z","1.0.0":"2015-02-06T16:28:49.289Z","1.0.1":"2015-02-07T14:49:18.259Z","1.0.2":"2015-02-07T15:13:51.294Z","1.1.2":"2015-02-07T16:51:39.787Z","1.2.0":"2015-02-08T18:27:23.920Z","1.2.1":"2015-02-10T12:59:14.786Z","1.2.2":"2015-02-10T14:18:05.700Z","1.3.0":"2015-02-19T11:54:56.734Z"},"readmeFilename":"README.md","keywords":["axolotl","textsecure"],"repository":{"type":"git","url":"http://github.com/joebandenburg/libaxolotl-javascript.git"},"author":{"name":"Joe Bandenburg","email":"joe@bandenburg.com"},"bugs":{"url":"https://github.com/joebandenburg/libaxolotl-javascript/issues"},"license":"LGPLv3","homepage":"https://github.com/joebandenburg/libaxolotl-javascript"}