{"_id":"xchacha20-js","_rev":"5-c137135da08c1158abb161313195a392","name":"xchacha20-js","dist-tags":{"latest":"0.3.1"},"versions":{"0.1.0":{"name":"xchacha20-js","version":"0.1.0","description":"Javascript implementations of ChaCha20, HChaCha20, and XChaCha20","main":"index.js","scripts":{"test":"mocha"},"keywords":["chacha20","xchacha20","hchacha20","cryptography","crypto","stream","cipher"],"repository":{"type":"git","url":"git+https://github.com/paragonie/xchacha20-js.git"},"devDependencies":{"assert":"^1.4.1","chai":"^4.2.0","mocha":"^6.1.4"},"dependencies":{"typedarray-to-buffer":"^3.1.5"},"author":{"name":"Paragon Initiative Enterprises"},"license":"ISC","gitHead":"4d2255cedfb97bc28344a1b19c199bcedab8c694","bugs":{"url":"https://github.com/paragonie/xchacha20-js/issues"},"homepage":"https://github.com/paragonie/xchacha20-js#readme","_id":"xchacha20-js@0.1.0","_shasum":"aba5f482f8bff8f568016cb97a9d8bc5cde186ed","_from":".","_npmVersion":"3.5.2","_nodeVersion":"8.10.0","_npmUser":{"name":"paragonie","email":"scott@paragonie.com"},"dist":{"shasum":"aba5f482f8bff8f568016cb97a9d8bc5cde186ed","tarball":"https://registry.npmjs.org/xchacha20-js/-/xchacha20-js-0.1.0.tgz","integrity":"sha512-w0N/ipLM+B9lYMpNjB9a0O3/IyJmPO93+MV669qe7KjnhEz6dv5xmRj566wmXs7kVcXlvWpOFJr1YfuxITpuVw==","fileCount":9,"unpackedSize":32486,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcyJmkCRA9TVsSAnZWagAArEMP/iDbNsspoRYltHsgaQQ6\nLNgKiV1M1DL2GEYZ7gdR/fbeMWscF/XDQ71SSZ5K/pWAMjEqMrom4CSwIcPF\na60NM6JgeGUOAOHlbfiUcS1nRxLG4HNhreRzES+tjWgko4g5AdNPMq00nZ8G\nTh4mOPDg1XG5/DENLPOK9/HW/rH6rN3Hi6GWmJbfdiy5lJLnW1oWZRYPiy7D\nmsZCfZWwr4h5EmVxeII5+Oo3gH8NieO272bQtZ9I7HwFMnI5fcxS0OUT8fcO\nK6TCzkk8mcY3NKABNFFT8LJ9EBr/UpML6BtiInHPJpre4wcbXV3gVroeia8r\nlUbt96cQi2tTvRodcjLE40WkAsHBp0jWSCFQYEe3EJ8lOYXVfq3zwBAdnWyd\n6MrhMair9Bz9g/sRKzhiL16giiAEXS56QoofkHg5xyEgdCyB9fPN4Er3YKqI\n2eWMFi1YvLfkMkm6Q6TXXo8/mFPjORRFhrdQqKsqbuz78YS8Dbe/t0ucs+BM\ncCky0hxy3HyffoSbd9dRm2HRaygpYJZ1K7M5pQSvfVPousgb6syuvBwu4BEi\nnOgMp9cBUuq8O9k4BJEJICpcr9sMfuk+qYO+meDcUEjismrN7x5MH36ukk4k\nVAB4fsPB7PCSAqkdSRv18GzRidqZr0vEfKm7eosH+mDYne30HR1qD5pZp/lY\njTNY\r\n=Lvgk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCibpZF8vP2lltheq43mhMn1359UQ7YLi8EMXszTFaa1QIgER/hULeE500sKsO1ook952vo1Ij1yxRbMzGciJs54DE="}]},"maintainers":[{"name":"paragonie","email":"scott@paragonie.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/xchacha20-js_0.1.0_1556650403669_0.19623876924756267"},"_hasShrinkwrap":false},"0.2.0":{"name":"xchacha20-js","version":"0.2.0","description":"Javascript implementations of ChaCha20, HChaCha20, and XChaCha20","main":"index.js","scripts":{"test":"mocha"},"keywords":["chacha20","xchacha20","hchacha20","cryptography","crypto","stream","cipher"],"repository":{"type":"git","url":"git+https://github.com/paragonie/xchacha20-js.git"},"devDependencies":{"assert":"^1.4.1","chai":"^4.2.0","mocha":"^6.1.4"},"dependencies":{"typedarray-to-buffer":"^3.1.5"},"author":{"name":"Paragon Initiative Enterprises"},"license":"ISC","gitHead":"03f6547db75d7d0d8be8b60d5cb18c6d65964d82","bugs":{"url":"https://github.com/paragonie/xchacha20-js/issues"},"homepage":"https://github.com/paragonie/xchacha20-js#readme","_id":"xchacha20-js@0.2.0","_shasum":"d7aa14312a2a6ab78d6506511513903a29453557","_from":".","_npmVersion":"3.5.2","_nodeVersion":"8.10.0","_npmUser":{"name":"paragonie","email":"scott@paragonie.com"},"dist":{"shasum":"d7aa14312a2a6ab78d6506511513903a29453557","tarball":"https://registry.npmjs.org/xchacha20-js/-/xchacha20-js-0.2.0.tgz","integrity":"sha512-UrTwwijhycutO7GHaJEA6BQf5JoV1tmGbcPnUGJmiO0ANxX7rXDo+jSfW2GnFio/fDVx/b7yxIcBECUIoG1qvg==","fileCount":9,"unpackedSize":33443,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcyJrVCRA9TVsSAnZWagAAPmcP/iTFcv7GGhZHJgSmdPNx\nHbEfs7Rtpq/HZe1s6jfBkni6npgG+0yEUZL6FUWqjwe+H06jHmAGQ8sGtZoF\n5hHi8tEaqYhh2xEaY4GUhHoyjkj/gRShKYmI8iSa8IMj8yLLTgjopdHXqeHu\nQAq41VO3DG/3eGIsBG5i0gKinaibcxhecT7cbVckTzTSfrJfwU6TlxqyD5pK\ncpuBHd2a1sRG82eUbzX0P0JEJMALtdNJli/EmhKlpMWTKyYtynkdMLa7fvDo\nEO4n20BBX48CWI6P6mE3e0SCTWn1Xs7j5/wD9jIGXRIi/kj9R51NsPElzLZG\nl5brjpR6BBiM+rLw56hA6O/wGKCgjRJbh8GPdlp8WQ0UJSSVye0AKctG3A2g\ndSP+bD/HwaUzW62W+CkEjyd35inFuWE2qPIbsEcbXPApMKP125dT2aeEo+zo\ntebkBxwAFhbYP0f7/zvYlXA0NLsotz0QRLLnh+beC/MOaVan3VTePiSmHKoL\n99gNv+vsYniFgA7d6z8Ach4BwQaLswuIjX5adQT2cyXoH4u2F4NDj38c68f5\ndsJkK48uF0or2ywQwVDWuXpVOnSv7SfRVpOfHfgesUZcrduGMrnF4qnXBpwI\nJtOn8j2zFkn/1QUklnb2xlqSq99T98NbgzdWfyvT6/eH58Ko6aUtrDt8sF2c\nplgd\r\n=MCC2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHcgsuMaYuOqFVkS6/liwt9DCwD+nNphiMefgwYnDatPAiEA27MS+pXL/Foup/3zOXcKDUFd8wyf2+VnuSzCqdRajAc="}]},"maintainers":[{"name":"paragonie","email":"scott@paragonie.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/xchacha20-js_0.2.0_1556650709224_0.9381060031080743"},"_hasShrinkwrap":false},"0.2.1":{"name":"xchacha20-js","version":"0.2.1","description":"Javascript implementations of ChaCha20, HChaCha20, and XChaCha20","main":"index.js","scripts":{"test":"mocha"},"keywords":["chacha20","xchacha20","hchacha20","cryptography","crypto","stream","cipher"],"repository":{"type":"git","url":"git+https://github.com/paragonie/xchacha20-js.git"},"devDependencies":{"assert":"^1.4.1","chai":"^4.2.0","mocha":"^6.1.4"},"dependencies":{"typedarray-to-buffer":"^3.1.5"},"author":{"name":"Paragon Initiative Enterprises"},"license":"ISC","gitHead":"a6d152c46c6cb6556f28d9c2b0d46071b88fb8cf","bugs":{"url":"https://github.com/paragonie/xchacha20-js/issues"},"homepage":"https://github.com/paragonie/xchacha20-js#readme","_id":"xchacha20-js@0.2.1","_shasum":"529a21af54648991634be63817690f5c509a3840","_from":".","_npmVersion":"3.5.2","_nodeVersion":"8.10.0","_npmUser":{"name":"paragonie","email":"scott@paragonie.com"},"dist":{"shasum":"529a21af54648991634be63817690f5c509a3840","tarball":"https://registry.npmjs.org/xchacha20-js/-/xchacha20-js-0.2.1.tgz","integrity":"sha512-lzUtXnFNVb4bPV8pAoSx5OP0SJ4jFLWlLZSaaGlHADVNvkLB45MCrtM4lnVTZYgSY3qV7n+FuTY8RMfcKku/cQ==","fileCount":10,"unpackedSize":33918,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcyJ7jCRA9TVsSAnZWagAA+xIP/i0bAwAAnuqNDTbysY74\nUAF5QkDfefRNNnsBabt72QldlH8j3kqZNUQXg2AauWHF5rofVc9gP/rSzyTb\n1CDxoord4fWjgAKNuAXebuXxZS+Y0L3KRSTIPV9w4NxwFd6Iy6CwjEBBx51r\naa9mBYzaVS6dRxgZMCJPZ3dlmnE3tpIUdM7iPszOHt4Q48kB5EFIlfsFfevW\nnP3U+EZS5ABPjjI9stdzApLWX5DWSlZJ3mb/xmg29fnXBwLFigstB/vUtoxm\nKX15sgPzwSmP+oR796jzDwDNRFCnVthLEeoVfVWL7h9GFvzJ1jWsaLdPpgRs\nkuDvfUWY4bNJoOLf8mT9yFW8Ev4ZJfNyR5yBArRD7xP3c1t5/1XID8JLMDlg\nBzOHMpOjXTunTOsWwjzsjbe7IgTZlK+tRXosisz2b4e3c3W8FZoX8QgA6Pcr\n/ZrI4GyFfqlKuHERS+Jlmp1DxtrKqgBSk3bAqt9Vn+GZtHDGxmOlzSUBfdm5\nyEECzzwoDf3FN+0PhaWQIJIXWbvA3F2BJjetjWYfGTmh6gMjbdRGZxiIDVMv\nL8ITfy4vzisv+C0nwmzaORqeCdaJFZO/5VOS049bYLzmuHYsr8jnwjDDcavN\nchLsKKKvdduyevgQWkg3RJMYyyXdGtNGlW1XGPKQ5Fbk4TROE8luOWzQvaOe\n7bIa\r\n=SjtW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBnuKfSbhiMF6CcIx1T5k+MdQjnGPOjLQFp2SOfF74PEAiA1ZLEk5RdLvJaCwqmNGhHcPfijNoQPeReo9Auzvq73DQ=="}]},"maintainers":[{"name":"paragonie","email":"scott@paragonie.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/xchacha20-js_0.2.1_1556651746489_0.4010725599660534"},"_hasShrinkwrap":false},"0.3.0":{"name":"xchacha20-js","version":"0.3.0","description":"Javascript implementations of ChaCha20, HChaCha20, and XChaCha20","main":"index.js","scripts":{"test":"mocha"},"keywords":["chacha20","xchacha20","hchacha20","cryptography","crypto","stream","cipher"],"repository":{"type":"git","url":"git+https://github.com/paragonie/xchacha20-js.git"},"devDependencies":{"assert":"^1.4.1","chai":"^4.2.0","mocha":"^6.1.4"},"dependencies":{"typedarray-to-buffer":"^3.1.5"},"author":{"name":"Paragon Initiative Enterprises"},"license":"ISC","gitHead":"7f7751754e87265f6c975da39ba84c7e6097ac16","bugs":{"url":"https://github.com/paragonie/xchacha20-js/issues"},"homepage":"https://github.com/paragonie/xchacha20-js#readme","_id":"xchacha20-js@0.3.0","_nodeVersion":"8.10.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-0aJdVKmW70s43RWqbtJcUlea864huNABaAixMQ5rShtVoyNziTlf8ggMCVxcqOciJk0jm1eNv61EIlxWyNCSbA==","shasum":"de413edce0f87b1d260fbf437b5a3b3cd2a8287c","tarball":"https://registry.npmjs.org/xchacha20-js/-/xchacha20-js-0.3.0.tgz","fileCount":9,"unpackedSize":33900,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJczayxCRA9TVsSAnZWagAA6AYP/2ii13cOovjM7QcCnWcD\n5nEzzUOZUf2iLilpS1YXu3AsWNuhcmQs4M2UNlOEFDyS86iqUoC49M4iIYld\nWesXbeHCd+sueMTO2xiivGYWU991naD3iTntZmc5MYC9ri9uL4zn0EBVNx3A\nSS7GZD91zP+1rs8WCg9HHVZL9S326d8uZnxtp30FNbSFwnN8wyddI75rTU+C\nKLXoUCVugLECuCDzqE571sCQt0KyjFFpdE3mTzL7EiNiPHfaeKPXwO8KGfU4\nnQa0Dfc+NCtqNyN3JzIY/mf9yQmKbA726wdeqGn/MGx2dMaCCVKv7iRCfrGx\nfkJSVdD6jNYXaPEZQaC/Wg3W83PD+CBWCWZT64BCoV6fuA2Wv81YzNCrKlzC\n1+8zpCrrw9IKarLvUa7/QAEtCJTUmeziEYOf5oSZrJVfdf0Um8O0Z6AEoLIe\nc0afqPFCtZpvBHmxAsakTdhFpeGZ9Vs75yEGzucvoSDUYCYz1j1ifbmV5al0\nZeD519hAQBF75b4+64s7EW24qfXwpTmuhDT5X/XoxaVBBu6hk9PFoljhmYtq\nSqGR5AYDnBWO1KlJnbsQAv+qvHzUFj4sVF2unX9LK9ySybaPEcdO5yw4eLXN\n0lOn2Zh3meQkkakQuVx2PLwHQ3JvIAMNCkVBrXQOSJtyePd9yi4Tb3XmuoTs\nk932\r\n=34Ay\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAdTk0lobDehuKeWEcF48U8L5YdnvlFpBlt/xs9eXUt6AiEA8u4raKMSzGEo/zxlHmmPGNtWWejPc7sBZgJJv3OHRyw="}]},"maintainers":[{"name":"paragonie","email":"scott@paragonie.com"}],"_npmUser":{"name":"paragonie","email":"scott@paragonie.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/xchacha20-js_0.3.0_1556982959910_0.4491573972479963"},"_hasShrinkwrap":false},"0.3.1":{"name":"xchacha20-js","version":"0.3.1","description":"Javascript implementations of ChaCha20, HChaCha20, and XChaCha20","main":"index.js","scripts":{"test":"mocha"},"keywords":["chacha20","xchacha20","hchacha20","cryptography","crypto","stream","cipher"],"repository":{"type":"git","url":"git+https://github.com/paragonie/xchacha20-js.git"},"devDependencies":{"assert":"^2.0.0","chai":"^4.3.6","mocha":"^9.2.0"},"dependencies":{"typedarray-to-buffer":"^4.0.0"},"author":{"name":"Paragon Initiative Enterprises"},"license":"ISC","gitHead":"8658e9fa59a89bc08094642fbc736bfd80ffa6a3","bugs":{"url":"https://github.com/paragonie/xchacha20-js/issues"},"homepage":"https://github.com/paragonie/xchacha20-js#readme","_id":"xchacha20-js@0.3.1","_nodeVersion":"10.19.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-LrfoUf0BBH3VSUVEtTe5tnCr8BNF2mf7M7E50y91MLvcsK0gkbx0GR+Tbc2SNxAXMytIRzsuY5KaZw5QJcpuJQ==","shasum":"ba934fe403eb21b62187fa8a0c194c370ca69917","tarball":"https://registry.npmjs.org/xchacha20-js/-/xchacha20-js-0.3.1.tgz","fileCount":9,"unpackedSize":34926,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiDB/kCRA9TVsSAnZWagAAI8IP/2YuKhZ7FUOgf9UB5HdO\n8ozNnPZd6aFxJpKKcuK72atnj+Hm18fzKkZb6m3dVfX/1xKgXiRZwtjjmqqN\nZVLXn+1im/0cxmDwkxPAYcU6AzygTKWsHL69ZP/YbWH7I7ieQU+AmBp3hm8y\n40yCkiat1EV+LucBzAaU8qBo535Mjnta0LhIGprcbRkGfv8nZ4dCN5uK38GN\ns8oeHvf+j8cr5Qki1kGQrFsvFlgxpgbxW+0B4H3r0xhZH7+nDuNLP4waaaYi\ndzcrLo/wjGYRGtf+IRtsm5NmsxcAgK0ovwx6gVfs0qZ/lri9vVCPT2gRVXBA\nYAZDa3lYAMYtJ/BoWqThfrYQMxERX/BaJwJbICL6RuG8aibs9yHivwBHI7q5\nGE4JmAbu+6Ii+KKfU0cujPO5mfQlYyFv7fkK4xHKPfhZVRQHj9WLvEZWp+/i\nZhpxZDFn61a83ImTB4zhyMLw1zrRTsXNRMxJq5Gq+2LATBgnNt8mK9REDEJH\n2P/DgtCADkQ+7QOJCbz6FBIzB5JvIgSwNHKTXJqK7tmqCopBaSjsViXFYbTn\nNwXNco8gBhzvvWC8Ax4Bw3U2PZqaOzqt1XnfAutR4dtV8GzQzuaQtHUfJzl/\nLEAK6e+xaKpBHznOF7MXNPiOgY1s6PsQwbPtk9O+wTRMkw6+5TkIggCZhXcU\nXwYj\r\n=Q4+b\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCWWJMVbEnsh25W2FJWC/cEPhm6jjJUJh3DgO9IynL5VwIgb+4iV1P4SshtymwUnNNYAItw7yS9FSLs2j21Yma9Czc="}]},"_npmUser":{"name":"paragonie","email":"scott@paragonie.com"},"directories":{},"maintainers":[{"name":"paragonie","email":"scott@paragonie.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/xchacha20-js_0.3.1_1644961764274_0.4080563725455997"},"_hasShrinkwrap":false}},"time":{"created":"2019-04-30T18:53:23.668Z","0.1.0":"2019-04-30T18:53:23.801Z","modified":"2022-05-24T21:47:36.261Z","0.2.0":"2019-04-30T18:58:29.383Z","0.2.1":"2019-04-30T19:15:46.616Z","0.3.0":"2019-05-04T15:16:00.046Z","0.3.1":"2022-02-15T21:49:24.403Z"},"maintainers":[{"name":"paragonie","email":"scott@paragonie.com"}],"description":"Javascript implementations of ChaCha20, HChaCha20, and XChaCha20","homepage":"https://github.com/paragonie/xchacha20-js#readme","keywords":["chacha20","xchacha20","hchacha20","cryptography","crypto","stream","cipher"],"repository":{"type":"git","url":"git+https://github.com/paragonie/xchacha20-js.git"},"author":{"name":"Paragon Initiative Enterprises"},"bugs":{"url":"https://github.com/paragonie/xchacha20-js/issues"},"license":"ISC","readme":"# XChaCha20 (JavaScript)\r\n\r\n[![Travis CI](https://travis-ci.org/paragonie/xchacha20-js.svg?branch=master)](https://travis-ci.org/paragonie/xchacha20-js)\r\n[![npm version](https://img.shields.io/npm/v/xchacha20-js.svg)](https://npm.im/xchacha20-js)\r\n\r\nThis is a pure JavaScript implementation of XChaCha20 (and therefore ChaCha20\r\nand HChaCha20), for use in polyfill libraries.\r\n\r\n# Important Security Warning\r\n\r\nThis library provides [unauthenticated encryption](https://tonyarcieri.com/all-the-crypto-code-youve-ever-written-is-probably-broken).\r\n**You shouldn't use it directly.** It's meant to be a building block for other,\r\nhigh-level protocols.\r\n\r\n**Use [sodium-native](https://github.com/mafintosh/sodium-native) instead!**\r\n\r\n## Installing this Library\r\n\r\n```\r\nnpm install xchacha20-js\r\n```\r\n\r\n## Using this Library\r\n\r\nUsage is straightforward.\r\n\r\n```javascript\r\nconst XChaCha20 = require('xchacha20-js');\r\n\r\nlet xcha20 = new XChaCha20;\r\nlet message = \"test message\";\r\nlet key = Buffer.from('808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f', 'hex');\r\nlet nonce = Buffer.from('404142434445464748494a4b4c4d4e4f5051525354555658', 'hex');\r\n\r\nlet blockCounter = 1; // Optional, defaults to 1 per the RFC\r\nxcha20.encrypt(message, nonce, key, blockCounter).then(\r\n    function (ciphertext) {\r\n        xcha20.decrypt(ciphertext, nonce, key, blockCounter).then(\r\n            function (plaintext) {\r\n                console.log(plaintext.toString() === message); // true\r\n            }\r\n        )\r\n    }\r\n);\r\n```\r\n\r\nAlternatively. using `async` / `await`...\r\n\r\n```javascript\r\nconst XChaCha20 = require('xchacha20-js');\r\n\r\nlet xcha20 = new XChaCha20;\r\nlet message = \"test message\";\r\nlet key = Buffer.from('808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f', 'hex');\r\nlet nonce = Buffer.from('404142434445464748494a4b4c4d4e4f5051525354555658', 'hex');\r\n\r\n(async function(){\r\n    let blockCounter = 1; // Optional, defaults to 1 per the RFC\r\n    let ciphertext = await xcha20.encrypt(message, nonce, key, blockCounter);\r\n    let plaintext = await xcha20.decrypt(ciphertext, nonce, key, blockCounter);\r\n    console.log(plaintext.toString() === message); // true\r\n})();\r\n```\r\n","readmeFilename":"README.md"}