{"_id":"micro-aes-gcm","_rev":"9-bdfcb8307e2f6fcf80da13cc58207320","name":"micro-aes-gcm","dist-tags":{"latest":"0.4.0"},"versions":{"0.2.0":{"name":"micro-aes-gcm","version":"0.2.0","keywords":["secretbox","box","nacl","aes","aes-gcm","gcm","symmetric encryption","symmetric","mac","gmac","aead","authenticated","authentication","security","noble"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"micro-aes-gcm@0.2.0","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/micro-aes-gcm","bugs":{"url":"https://github.com/paulmillr/micro-aes-gcm/issues"},"dist":{"shasum":"3db80652de824dadf5ff56734c94eab787455cbf","tarball":"https://registry.npmjs.org/micro-aes-gcm/-/micro-aes-gcm-0.2.0.tgz","fileCount":5,"integrity":"sha512-ZowHH8+/nh9Z209al2K05rKJ7Tkh/3HGqKjwp1UaovL5zA0FyK158F7RUArMKDjTaT7FPARLY4+0D/B+AciE+A==","signatures":[{"sig":"MEUCIQCtdkiaT2IOfjYphTO1tkhFFGqklub5Sgmlvu5xd18ojQIgFE1kYqD01Mzt8G3CPIDyMNqDwYaV5WZmJ8Wk7nTf+W8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7826,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJerz7rCRA9TVsSAnZWagAABRcP/3QhgXUYccP12687rvT1\nuSK0+2kMvqsFV5kqavjA8lbATEmzUcSfT+mwXV+x2yG9JI00+2jE9XubqzY+\n6Ot3PX+3ZHks3gc8+smAEiKoAAzkDjg1p6MTx0d4qDIHwpYswrHz94TkYaKr\nRS6wAEMlyKGTTru+GLiLcli+mepce6wN8IW4AX75UzXGhu6YTjt5h0IMY2in\nUmoszv69sFDHmWrI0mKRfqsq3FLSK84R/7m+ZlMiRKFEMBnzESf8CFP93vpn\n7UnJJGj3tAlD2n7oG6WYbpPU0GqdEwWTpoqh9q0+Jx9hil+cUoQHNafjmhHC\nPh+QRAURq7igxgHtUc1yyIW/FAmitu6PAePRH2L667V66svYpTd8HsyqbPl4\nR/35P2xR7jEOF5C+75s6WGvReROWldh9rXESvi24knwpPjfJPeUplPIdmy+5\ndhaz1QmTwxxNTxYDkpNqgsKAFGyJsfYyk2cMAlfHV4hnTmzaFcQW+LTAcsYW\nrXkMc7XCH7xIWW3wCYMywB/fvg8HtEPqdqT4mVcgGLryIunGNlM2unr+nep6\nr4Dlaxb+39B9K3zqMopqEfaC46LdfC4+shVvCqyME28nMWOLuawa+YdQmDbN\nj5CLdzvZYlyfn3ed7AG2zU4Adf7at4+e6OD35EVlc68rjzvl4HEZvhpKB37F\nDMzx\r\n=r/Gx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"fdefda556437789d0edae9f0f0711c9e29a33dcc","scripts":{"test":"node test.js"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"deprecated":"Switch to \"@noble/ciphers\" for security updates","repository":{"url":"git+https://github.com/paulmillr/micro-aes-gcm.git","type":"git"},"_npmVersion":"6.14.4","description":"Simple 0-dep wrapper over node.js/browser AES-GCM.","directories":{},"_nodeVersion":"14.0.0","_hasShrinkwrap":false,"devDependencies":{"@types/node":"^12","micro-should":"0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/micro-aes-gcm_0.2.0_1588543210817_0.5071312081387414","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"micro-aes-gcm","version":"0.3.0","keywords":["secretbox","box","nacl","aes","aes-gcm","gcm","symmetric encryption","symmetric","mac","gmac","aead","authenticated","authentication","security","noble"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"micro-aes-gcm@0.3.0","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/micro-aes-gcm","bugs":{"url":"https://github.com/paulmillr/micro-aes-gcm/issues"},"dist":{"shasum":"caf644d4a9bcfd2bd0824b07b036617ed79890e7","tarball":"https://registry.npmjs.org/micro-aes-gcm/-/micro-aes-gcm-0.3.0.tgz","fileCount":4,"integrity":"sha512-bv1UnOkg2VifEOmRuK8xrsfpOnA9HytYiRFB0FWcBCrLV75CsDyt4oxVuPp0P9lhEMOwfkD50NGItsbkAPk16Q==","signatures":[{"sig":"MEUCIQDqQvaembAUH//+ShFOqrYhOJJvCyf1BAfDAz+PUe04/wIgBNZA8Lj0sRXFeb71MhAuTq5uS4fr3SjC5lZ5wcqK4h0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8467,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiwgDwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr6vRAAisDkRUI6xYIpk2QNPHuEy3IfZHraUt/3wQdrgkteUzyuvBy+\r\nA7kKyZBIEalIpekHdpofJIxxw59yUmDpDBm7ehsMRPqL0VOMuUGbK+MQB35y\r\noWmbS37bRALUsyA9BCZjWvjFZ54KR3edkQfnXDEHjI7AyXG8RuNL4ioj8ghl\r\nNceHnZ1Z73gMsjrhycwBHW5w5ZGkKJdxOMMKSUjhlcPBLv4gL6Ds6sCmf7Rc\r\nYqV8Nj3Eb92wvzJnAWSg5YZywp8GjFRoQeEy4Cy89w8/drR6bVTIF7YdXGwr\r\nQqBWHRUIzMyxybn5GtV59t4profipGjW+O6m+UaceAUiabbKpWS+CCMFVP63\r\nQGhMWi4McT4dYN9mEruxpKlBh1gvrEOhrDeHhsZ9h0BF5MRsoWToj/Cz2UAY\r\nukun23jv2jPYdnmUwCUMB3Kemb8NwdRaCye5wRFNlF369q9MEN3tCqeGo+GP\r\nX4OUyuLvrO5Ki5ATGe+CFRBfdrSUH15SyGxHAoq4/ygD6chtU8ixzHhQhfxx\r\n1fnTeof20o6JMkdosL3F1i/U99k1jdAYcR4jHZtJWmYM6mK4y8tSUhK1YonZ\r\ntS8OD348c3fk5rtAxXY2/rYfmAllvkHuiIutmdsek1uXE+PEmfNfmLxQN9Qf\r\neh0nR40ymSoqXNwkbnU11SfPhD7pvGz0OGc=\r\n=nQ3b\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","module":"index.mjs","browser":{"crypto":false},"gitHead":"2ef88e1bcb30962b901285ae55479c4314909f17","scripts":{"test":"node test.mjs"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"deprecated":"Switch to \"@noble/ciphers\" for security updates","repository":{"url":"git+https://github.com/paulmillr/micro-aes-gcm.git","type":"git"},"_npmVersion":"8.11.0","description":"Simple 0-dep wrapper over node.js/browser AES-GCM.","directories":{},"_nodeVersion":"18.3.0","_hasShrinkwrap":false,"devDependencies":{"@types/node":"^18","micro-should":"0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/micro-aes-gcm_0.3.0_1656881392064_0.5139795477971734","host":"s3://npm-registry-packages"}},"0.3.1":{"name":"micro-aes-gcm","version":"0.3.1","keywords":["secretbox","box","nacl","aes","aes-gcm","gcm","symmetric encryption","symmetric","mac","gmac","aead","authenticated","authentication","security","noble"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"micro-aes-gcm@0.3.1","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/micro-aes-gcm","bugs":{"url":"https://github.com/paulmillr/micro-aes-gcm/issues"},"dist":{"shasum":"4f985fbe080921396ce48db79966eaac435f76d1","tarball":"https://registry.npmjs.org/micro-aes-gcm/-/micro-aes-gcm-0.3.1.tgz","fileCount":7,"integrity":"sha512-nlZwU9qb5ZvR75gjRz2Zfl0wonCOvztth4JdmVkWCZDo8z2XKLZqKuUkyZxudI46AnJvSg+4kvTL+PpQA2vHqQ==","signatures":[{"sig":"MEQCIG1fM4a/fQmDYqw5bjB2QjzgTew2PFBpDnxsmQVVBNUDAiB0IJn/TmCInQS/R3Cjd2sTaobiVMZpnEANCObvzmDZug==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13336,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiwgzoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo2Fw/9ETDqODV2rtscZ49W3IWEpIAnMG+rgADxj7Yba+iLJGkk06AM\r\nuz1vdH0kWcTJkBIRFSMTWdPYR8Y4JYWPWvFZV+PabwYvS/1xyOdb2/c9sj1L\r\nRPrWHkqxJaGUsX47ak+zjqgYDMFFcPTCs7Tm4YU4dSg7IIX4Ciz+PM4c6zzu\r\n8HjhN5oh99p3VYKtviZ3mbz4j9yYoN9IA4L9UiQNx+V5SXnX8tWf4ecXhOks\r\nvAyVs4N8SBypHVNdJo2angktkTOKQmDK8zd1At5I5zV+iq1Q5cFubweG0SsA\r\n2wt/J6Wlm0zv0quO9qmWgI9UAIE3ypS7das7/Vt8kfKNu9AuPSiajyuI6F1m\r\nb7aQtgTuDjliL2pz1mYE33AIBz+9MseaC7ElIaTb1V6TLfMraACbOo6uAR0T\r\nvrPqLaUre/zTxi+SGPxh8YMDri7jhPEYmNKyplWbIIHuBCsHlGURM0BMBh0P\r\nNvLLpNUI7v3f+X6aw0fIGACjouIinl+v50D3BR21w07NEP+8ZHjUrI+67yVt\r\nCC+S1dpaap3cbpwy46zVzhwKogW9qYe3vrIzw/ynVzEsTuXVbnFguSRyI1Ay\r\nXLmo/b9jvxSOOve7cOteobF248j2l2FSMq1o0PMryIXOZGxPyI7XeV/53Ps+\r\ng25j447Ea0aaQri4IUI7gfUKpxk2jzR179k=\r\n=dY4F\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","types":"./index.d.ts","module":"index.js","browser":{"crypto":false},"gitHead":"d34c40bc8e04420ae717ebb95d0c9bfdccc6190a","scripts":{"test":"node test.mjs","build":"tsc"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"deprecated":"Switch to \"@noble/ciphers\" for security updates","repository":{"url":"git+https://github.com/paulmillr/micro-aes-gcm.git","type":"git"},"_npmVersion":"8.11.0","description":"Simple 0-dep wrapper over node.js/browser AES-GCM.","directories":{},"_nodeVersion":"18.3.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"4.7.3","@types/node":"18.0.0","micro-should":"~0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/micro-aes-gcm_0.3.1_1656884456054_0.7991277881546441","host":"s3://npm-registry-packages"}},"0.3.2":{"name":"micro-aes-gcm","version":"0.3.2","keywords":["secretbox","box","nacl","aes","aes-gcm","gcm","symmetric encryption","symmetric","mac","gmac","aead","authenticated","authentication","security","noble"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"micro-aes-gcm@0.3.2","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/micro-aes-gcm","bugs":{"url":"https://github.com/paulmillr/micro-aes-gcm/issues"},"dist":{"shasum":"1ab860733f7ce5aa30e1289c8722117c8f522597","tarball":"https://registry.npmjs.org/micro-aes-gcm/-/micro-aes-gcm-0.3.2.tgz","fileCount":7,"integrity":"sha512-bDTL5NbTBI6c9rTnQZqM2ik+K3iQm+f4U0eZAKQneWal6aCZDJo63lq1dzb/LVBsTTO3dtmRJkLvX4HTbbzNKg==","signatures":[{"sig":"MEYCIQCJ3F0b4ugXzskAVDafmmuZrghmDSQcdFkUNMxf6zzxoQIhALYWtKeQHX2Y2rQetzcIOKZwXApbvwP1rcAykToZAX6X","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13358,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiwg5rACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoTTw/+KZcloX8OtxqRG+Y9VoyZeIn0A0mwHC9/OjxRLMYAdzgiWwls\r\nhXAYTuchu4tx68Zp6YjrI//vRXRP9FH8ogJCf0fml1T++KJZIJwGHh5vQraY\r\n5vl+pdjrgXdDtNwMfH1MqXf+pO2xngX8LEkXLIJf5YJxKlKP84zV/fptbFMW\r\nVkbDgJ3yIMotolMssgqO8EBZK/+1sneHdlr8BA0xrA+K30loyY34LIfWSaL7\r\nE3IgKloEFiKa7Ty+g/Z9dRESU0UcIsXAImR+SdU7U1sSkzLBbrhOw4jGZIWo\r\noJ3LwcMi7JSn2TnmBQ4osFbnN2OW+eeRzSDm69vW54oH0K1MP+9OqR/b0pWs\r\n0HAQ1UCGPXQjDw7JeGcCrG1an6FFE8/6XCNyzOHGcaiseEVOb7dCuAD65I9k\r\n+/2uxYLSrPL8W/eaQF0aGxSEl+CyINjRPDVWpWKz81a+jAo3K1awDwwvQmJ3\r\nD/o0QCsWyXyIRh6X9MNJLC2RQl9P+VlmlK1tA0XnR//FdZHNU7eDFruHXZIo\r\nWwV9UgwvaeGQ3ntmIxZJZTWi7qKP1GbnJtlso1xdALuA9u2xpLJNCpOQU5PL\r\nffrIh526r8twHi37mHc4ODcDRUsS6cGOHrnCM2YXbuUEjXhcUogNBIkek/Vj\r\nxqDsp2HTjDhSkIcQjd9l225OF5t2sSKkLUA=\r\n=+kgy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","types":"./index.d.ts","module":"index.js","browser":{"crypto":false},"gitHead":"6735c2330931a6c0f4ac1e7c29a3d355bdafe016","scripts":{"test":"node test.mjs","build":"tsc"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"deprecated":"Switch to \"@noble/ciphers\" for security updates","repository":{"url":"git+https://github.com/paulmillr/micro-aes-gcm.git","type":"git"},"_npmVersion":"8.11.0","description":"Simple 0-dep wrapper over node.js/browser AES-GCM.","directories":{},"_nodeVersion":"18.3.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"4.7.3","@types/node":"18.0.0","micro-should":"~0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/micro-aes-gcm_0.3.2_1656884842953_0.9043937659098946","host":"s3://npm-registry-packages"}},"0.3.3":{"name":"micro-aes-gcm","version":"0.3.3","keywords":["secretbox","box","nacl","aes","aes-gcm","gcm","symmetric encryption","symmetric","mac","gmac","aead","authenticated","authentication","security","noble"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"micro-aes-gcm@0.3.3","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/micro-aes-gcm","bugs":{"url":"https://github.com/paulmillr/micro-aes-gcm/issues"},"dist":{"shasum":"14844e8df1a238658b76922c5fa8569a14c8c7a5","tarball":"https://registry.npmjs.org/micro-aes-gcm/-/micro-aes-gcm-0.3.3.tgz","fileCount":7,"integrity":"sha512-wetPK288r0FyTzrWKkX9fNAKlJE+//bdQWpucWwx1Ei/MyFgBgN/0Ex1G3sTm4WR+2ATReGKzDQBYVpuwhho/A==","signatures":[{"sig":"MEUCIBcUMSPK0T+3Fwh5fuiOhT+ffEifwBxcfgP6+Gr3bLOPAiEAt3lGony+qjIxjXVWZp/uVK4ZB6stPFqmzvloAPEAyRA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13557,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiwg6QACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmopaA/+J5/mZ+iEPyqZG4I4CbyFyW7Jh6eOyFpbsFyl47hCugWCzgyk\r\nwrmOa0jbjat4Nt5L3KCBfkxrOYE4QYtO6ZqCrIPupRNgaq7xIpNk0PrNQOwo\r\nVTB1TLAa5OA6zZWsyQdMushGfd+5GbZ8E9PJ4Wx5u3CdchDvv23tfqI7z+Sd\r\noe3LvGg+QesAU0hWefqJUp43YHD6Y7sNejtIdD2R1R05xkwfNChGBZBVb++M\r\nLgELWGGpNlLAlXF+N/6BeuaQEKsXKNbsz5+/7sRoamzMcrFD8cgqwnAiMN6/\r\nW+wFIP/hiIXnzyrYL+z6CzPlpEW8GBd1NJAn0eU+CpnnQufw9lOzXo/5d0TX\r\ngpZoR3ChriS2+K6jrBo5U/IAWTpaoMbAfhzFxSOffte5Wn4AngXZhpdzKziK\r\nnu1mfbQHwR9pEyTXkcxF68mdCK4kJVyFfWIHH3xWekCkVHOPJLJppe/w3T9Y\r\nPVeU0EQ7dr/26Iw9tfAi65lJNAVd/q6I9NR/mJx+CU1I+Sqx356EDwvglADc\r\nt9se8M9AJkicAeZGd8ego+cU7KUZdtW9KnPVAmzPZNT1vbLcxCY3iWBjbhlM\r\n2pysIlfGMSdBkRY0nw/BgzE08wiGlDZNVnSy4V3/u2I9qgwMp9LSeHMJUOuo\r\ngkyc0XfF9LCYtrDn9B+4w6Ho9qvmA7mZ6Nc=\r\n=TU1Y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","types":"./index.d.ts","module":"index.js","browser":{"crypto":false},"gitHead":"7fb2c89e2c37acfdda863f63c027b176cf4f438a","scripts":{"test":"node test.mjs","build":"tsc"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"deprecated":"Switch to \"@noble/ciphers\" for security updates","repository":{"url":"git+https://github.com/paulmillr/micro-aes-gcm.git","type":"git"},"_npmVersion":"8.11.0","description":"Simple 0-dep wrapper over node.js/browser AES-GCM.","directories":{},"_nodeVersion":"18.3.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"4.7.3","@types/node":"18.0.0","micro-should":"~0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/micro-aes-gcm_0.3.3_1656884880747_0.6047651804285872","host":"s3://npm-registry-packages"}},"0.4.0":{"name":"micro-aes-gcm","version":"0.4.0","keywords":["aes","gcm","mac","crypto","cryptography","siv","nonce","misuse","RFC 8452","RFC8452"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"micro-aes-gcm@0.4.0","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/micro-aes-gcm","bugs":{"url":"https://github.com/paulmillr/micro-aes-gcm/issues"},"dist":{"shasum":"6c4f5bd8ed9600a1f7761daa69903494b079c737","tarball":"https://registry.npmjs.org/micro-aes-gcm/-/micro-aes-gcm-0.4.0.tgz","fileCount":11,"integrity":"sha512-38RwWBRWHuVmtXysvrZ5b8C5Q7ozLlmRr1ylYPRVrxYGy3UDot89uYegP/dhk4mUfn2fsiOa0l20QHWoH++rNA==","signatures":[{"sig":"MEUCIQC00xbiuKFBJ7Aliuz7rDwjyMMVql19fHPzkd7wARRz0QIgVTquOtHElO4iAZDrEGWZ5EpcyERBKHCeCQzpQ77dnsw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29921,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkE2udACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqNMA//RiSw8m+cl+uFtZpj5M8YqOYoXdDCmKu7+K+SzrtFKw/sPfxx\r\nlqu2BKVjImgbg5SfPoYLxUOlV4k/yNirSdJ+6WY+CnZkt1DD3nLeOQAN1gyU\r\nB2k7sjc3QHWVoOUstUcPqN+YQniRDAegm1Cxbyu4wQXXtm7UpY6rxiHUQpju\r\ndqdgrYKXh+M1SnTSabMk/CKh3997yCeIbVCl83NFcmacBBl3ITje/WJ9aw1v\r\nGtkyU5Bd3aUMcLH3uGpW9gZ2GE88wzqu2/GjIB+dYQzol666BLRwy18+ar4b\r\nmnjmqKFjAdSw2YuNzq6xR65IEOgwUZ6xT2tCr8EB3++gYDM/HD8ER34j4hSf\r\ntRhUPcWmPpWiRQZg7zWqgJxHfwMPXlDAvQEyyLB0E7s0npXFP+6i5uWnptyI\r\nIujKdQyVJH+q10WDqheI+vpFjiIFsyQRV0cuOUPOGnrtjpg6kcyS8Bicw0s+\r\nj2CxdDJRsRxGmpfD9cBYyGosxXhPadhE6hshAkc6c7e6aLY7P2FeGZtjZ/iV\r\nKEaJri3TGutDYHe5KEIbbGWM8AWzCVLLykKXz8rvX3yhrp9srgy2PM1A+FhC\r\n5KR0eopDbl6D02mpKkoDTIY6u1VZpINpP8orNpDXBiJAlm2hEeyyCRb4FmOI\r\n9ScHAKNnxpH5Q4XHNWP6cFy0ypU2S1PT1MY=\r\n=q/QR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","types":"./index.d.ts","module":"index.js","gitHead":"fa91a6b6f18a3860aaefa8366b87431ec3b1e76c","scripts":{"lint":"prettier --check index.ts","test":"node test.mjs","build":"tsc"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"deprecated":"Switch to \"@noble/ciphers\" for security updates","repository":{"url":"git+https://github.com/paulmillr/micro-aes-gcm.git","type":"git"},"_npmVersion":"9.4.0","description":"0-dep wrapper around webcrypto AES-GCM. Has optional RFC 8452 SIV implementation","directories":{},"_nodeVersion":"19.6.0","_hasShrinkwrap":false,"devDependencies":{"prettier":"2.8.4","typescript":"5.0.2","@types/node":"18.11.18","micro-bmark":"0.3.0","micro-should":"0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/micro-aes-gcm_0.4.0_1678994333480_0.1326701452489618","host":"s3://npm-registry-packages"}}},"time":{"created":"2020-05-03T22:00:10.817Z","modified":"2025-11-22T17:30:58.089Z","0.2.0":"2020-05-03T22:00:10.965Z","0.3.0":"2022-07-03T20:49:52.213Z","0.3.1":"2022-07-03T21:40:56.201Z","0.3.2":"2022-07-03T21:47:23.099Z","0.3.3":"2022-07-03T21:48:00.925Z","0.4.0":"2023-03-16T19:18:53.681Z"},"bugs":{"url":"https://github.com/paulmillr/micro-aes-gcm/issues"},"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","homepage":"https://github.com/paulmillr/micro-aes-gcm","keywords":["aes","gcm","mac","crypto","cryptography","siv","nonce","misuse","RFC 8452","RFC8452"],"repository":{"url":"git+https://github.com/paulmillr/micro-aes-gcm.git","type":"git"},"description":"0-dep wrapper around webcrypto AES-GCM. Has optional RFC 8452 SIV implementation","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"readme":"# micro-aes-gcm\n\n0-dep wrapper around webcrypto AES-GCM. Has optional RFC 8452 SIV implementation.\n\nCan be imported in browsers as ESM import. For Node.js, v19+ is required. For older node.js, use shim: `globalThis.crypto = require('node.crypto').webcrypto`.\n\nInserts IV and MAC into the output `iv + ciphertext + mac`:\n\n- `iv` is 12 bytes; it's an CSPRNG-sourced initialization vector for AES-GCM mode.\n- `ciphertext` length depends on plaintext\n- `mac` is 16 bytes; AES-GCM calculates this authentication tag for us.\n- `const c = await encrypt(key, plaintext), iv = c.slice(0, 12), mac = c.slice(-16);`\n\nHas optional implementation of AES-GCM-SIV RFC 8452 nonce-misuse resistance in a separate file.\n\n## Usage\n\n> npm install micro-aes-gcm\n\n```js\nimport * as aes from 'micro-aes-gcm';\nconst key = Uint8Array.from([\n  64, 196, 127, 247, 172, 2, 34, 159, 6, 241, 30, 174, 183, 229, 41, 114, 253, 122, 119, 168, 177,\n  243, 155, 236, 164, 159, 98, 72, 162, 243, 224, 195,\n]);\nconst message = 'Hello world';\nconst ciphertext = await aes.encrypt(key, aes.utils.utf8ToBytes(message));\nconst plaintext = await aes.decrypt(key, ciphertext);\nconsole.log(aes.utils.bytesToUtf8(plaintext) === message);\n// Also works in browsers\n```\n\nAPI is:\n\n```typescript\nfunction encrypt(key: Uint8Array, plaintext: Uint8Array): Promise<Uint8Array>;\nfunction decrypt(key: Uint8Array, ciphertext: Uint8Array): Promise<Uint8Array>;\n```\n\n### SIV\n\n```ts\nimport { AES } from 'micro-aes-gcm/siv.js';\nconst cr = await aes(KEY, NONCE);\nawait cr.encrypt(buf, AAD),\n```\n\n[AES-GCM-SIV](https://en.wikipedia.org/wiki/AES-GCM-SIV) is designed to preserve both privacy and integrity even if nonces are repeated. To accomplish this, encryption is a function of a nonce, the plaintext message, and optional additional associated data (AAD). In the event a nonce is misused (i.e. used more than once), nothing is revealed except in the case that same message is encrypted multiple times with the same nonce. When that happens, an attacker is able to observe repeat encryptions, since encryption is a deterministic function of the nonce and message. However, beyond that, no additional information is revealed to the attacker. For this reason, AES-GCM-SIV is an ideal choice in cases that unique nonces cannot be guaranteed, such as multiple servers or network devices encrypting messages under the same key without coordination.\n\nAEADs that can withstand nonce duplication are called [“nonce-misuse resistant”](https://www.imperialviolet.org/2017/05/14/aesgcmsiv.html) and that name appears to have caused some people to believe that they are infinitely resistant. I.e. that an unlimited number of messages can be encrypted with a fixed nonce with no loss in security. That is not the case, and the term wasn't defined that way originally by Rogaway and Shrimpton (nor does their SIV mode have that property). So it's important to emphasise that AES-GCM-SIV (and nonce-misuse resistant modes in general) are not a magic invulnerability shield. Figure four and section five of the the paper give precise bounds but, if in doubt, consider AES-GCM-SIV to be a safety net for accidental nonce duplication and otherwise treat it like a traditional AEAD.\n\n## License\n\nMIT (c) Paul Miller [(https://paulmillr.com)](https://paulmillr.com), see LICENSE file.\n","readmeFilename":"README.md"}