{"_id":"threshold-elgamal","_rev":"54-2f8c3ed006b9b85f252cc892ae7513f8","name":"threshold-elgamal","dist-tags":{"beta":"1.0.0-beta.8","latest":"2.2.1"},"versions":{"0.1.0":{"name":"threshold-elgamal","version":"0.1.0","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.0","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://github.com/Tenemo/threshold-elgamal#readme","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"978cae3ab5dca8d02127b497d6692cdac3892586","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.0.tgz","fileCount":25,"integrity":"sha512-N6fhp0Ivg457j84P1VL+1YftjuAoDx0WqxqX6oMMaluxhf+sJuY0VNABP/ihHEI2L/bzUSJ01lQi8lIKQp5whA==","signatures":[{"sig":"MEQCIEOreV7jI/VWjfW+P5w5wWk3nc5EVJlFpCotpBTLxpGVAiBWkmg//a27YB8I00pXaCurNjZ8NsHTiVDfVkolEGkJAQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78582},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"19aa300e0766d8b40d2e336db6ad530047eeed9a","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","example":"tsx ./example/example","publish":"npm publish","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs","prebuild":"npm run eslint && npm run tsc && npm run test && rimraf dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","prepublish":"npm run prebuild","pretypedoc":"rimraf docs","test:watch":"vitest --watch=true --reporter=verbose"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"threshold-elgamal","directories":{},"_nodeVersion":"20.11.0","dependencies":{"random-bigint":"^0.0.1","bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","rimraf":"^5.0.5","vitest":"^1.4.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.0_1712533907887_0.949389366895506","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"threshold-elgamal","version":"0.1.1","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.1","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://github.com/Tenemo/threshold-elgamal#readme","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"3067a6ca0f2475c32e5a0645def5302f4fa60041","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.1.tgz","fileCount":25,"integrity":"sha512-ejefYK+WOblLV8ILcO9ehaqXV4/3918BSpVZ3wr2MF9Fk98HJJuy3WQ5UJTQVT+I0d7uy1X+A333vSe/RDSo2A==","signatures":[{"sig":"MEYCIQDLEGh8ROV3KMMF7tzqtCmKk5r3g0HOuo3bQ537+zJduAIhAIH9w+azodi0VGT77Xkf+MiKQnj5A0juI+CGFioBgBQO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78582},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"433054f2192052f37fdca3390146276d27c0144e","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","example":"tsx ./example/example","publish":"npm publish","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs","prebuild":"npm run eslint && npm run tsc && npm run test && rimraf dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","prepublish":"npm run prebuild","pretypedoc":"rimraf docs","test:watch":"vitest --watch=true --reporter=verbose"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"threshold-elgamal","directories":{},"_nodeVersion":"20.11.0","dependencies":{"random-bigint":"^0.0.1","bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","rimraf":"^5.0.5","vitest":"^1.4.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.1_1712533938566_0.9998408031976718","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"threshold-elgamal","version":"0.1.2","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.2","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://github.com/Tenemo/threshold-elgamal#readme","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"60ea41468c261ab3bf95f987b5017ddbc0512796","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.2.tgz","fileCount":25,"integrity":"sha512-PSyIpIKNf8jT1hamPU9/VeJ7EqXmHAfOJ9ZzcZ3awxnwQXERieHuSPHDC2lZ1P96X8JNNQqs36ON0RYX+6F8Cg==","signatures":[{"sig":"MEQCIECs7faoNnnBtKbNOHbqZf4llVRazJMgX+r8rIr06w8hAiAQBofmvuX3pa/sWNjzEqgMrhC6tbH+WRLSqpVQdAMSLw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78582},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"14c271dedc57c09bf3391a2f89a3ae249e6abb1a","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","example":"tsx ./example/example","publish":"npm publish","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs","prebuild":"npm run eslint && npm run tsc && npm run test && rimraf dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","prepublish":"npm run prebuild","pretypedoc":"rimraf docs","test:watch":"vitest --watch=true --reporter=verbose"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"threshold-elgamal","directories":{},"_nodeVersion":"20.11.0","dependencies":{"random-bigint":"^0.0.1","bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","rimraf":"^5.0.5","vitest":"^1.4.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.2_1712533959598_0.8584102080505669","host":"s3://npm-registry-packages"}},"0.1.3":{"name":"threshold-elgamal","version":"0.1.3","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.3","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://github.com/Tenemo/threshold-elgamal#readme","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"a20e89d342dc3c2f199b4991d185c5698305320c","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.3.tgz","fileCount":25,"integrity":"sha512-5ICLOnwQ2lVbCNUNupvRhvGBZD7MxLs1199/ujjzZggsemkdkxQX7SyTYYwckXsANMM4MOEo2clDJaEr1qWQWA==","signatures":[{"sig":"MEUCIQDXk+sEDRb6+75dFfL7ezOzpJkV5yC2Ui49K7KYvbHYgwIgTwIPCu/gQxbLNbSxtiVjCIxcfJbodOmvmca+tiv9vmg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78598},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"dd738a854ccef4d38919f0359fe28258f7254878","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","example":"tsx ./example/example","publish":"npm publish --access public","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs","prebuild":"npm run eslint && npm run tsc && npm run test && rimraf dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","prepublish":"npm run prebuild","pretypedoc":"rimraf docs","test:watch":"vitest --watch=true --reporter=verbose"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"threshold-elgamal","directories":{},"_nodeVersion":"20.11.0","dependencies":{"random-bigint":"^0.0.1","bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","rimraf":"^5.0.5","vitest":"^1.4.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.3_1712534070390_0.6391785651465041","host":"s3://npm-registry-packages"}},"0.1.4":{"name":"threshold-elgamal","version":"0.1.4","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.4","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://github.com/Tenemo/threshold-elgamal#readme","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"f0c0b92d70b2e234da8ac16e8069ddeb43629056","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.4.tgz","fileCount":25,"integrity":"sha512-RbcRit4LgjEaIS7VVS+Jr3lthLMYy6s1VX+xj0Ry+do/CmLzosfkwUkzFjkgA5w2pCePo+pqgOVeXGA6zYoZ4Q==","signatures":[{"sig":"MEUCIFaVORsaIhj5uC8Lm6QiE2TL9V2q6bCh8sKFzIC90RsSAiEAxtUmAU/nqLvJv7GOqIEXXtzaWyb+SPnOBduXoa01evo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78482},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"f6ba8047991dc1d17f4657347da25ca86acd3283","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","example":"tsx ./example/example","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs","prebuild":"npm run eslint && npm run tsc && npm run test && rimraf dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","pretypedoc":"rimraf docs","test:watch":"vitest --watch=true --reporter=verbose","publish:public":"npm publish --access public","prepublish:public":"npm run prebuild"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"threshold-elgamal","directories":{},"_nodeVersion":"20.11.0","dependencies":{"random-bigint":"^0.0.1","bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","rimraf":"^5.0.5","vitest":"^1.4.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.4_1712534189811_0.8891694855027052","host":"s3://npm-registry-packages"}},"0.1.5":{"name":"threshold-elgamal","version":"0.1.5","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.5","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://github.com/Tenemo/threshold-elgamal#readme","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"2cad39b563f589b31365bb5a4cf892325ca8239a","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.5.tgz","fileCount":25,"integrity":"sha512-PUzCR8M1HnuyQLpMybsH8fdl/YdL4GCxZEOn3EeddGd9mJf1tg+PVJWi9BYyPhE+AoKvz5rzOB7JnbUQDgPY8w==","signatures":[{"sig":"MEYCIQDMhdkp9Bw8ccF2kZs73OSwzkd1c1MtT6HK+GZnr7QhhAIhANOG0YIFk1quARUReElizCOlSGI7NnuZnVPDNHS7rB3y","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78570},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"b9fed4472eaf1b153e2c087b42f6afae5091fd12","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","example":"tsx ./example/example","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs","prebuild":"npm run eslint && npm run tsc && npm run test && rimraf dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","pretypedoc":"rimraf docs","test:watch":"vitest --watch=true --reporter=verbose","publish:public":"npm publish --access public","prepublish:public":"npm run prebuild"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"threshold-elgamal","directories":{},"_nodeVersion":"20.11.0","dependencies":{"random-bigint":"^0.0.1","bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","rimraf":"^5.0.5","vitest":"^1.4.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.5_1712534385723_0.5125124001861989","host":"s3://npm-registry-packages"}},"0.1.6":{"name":"threshold-elgamal","version":"0.1.6","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.6","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://github.com/Tenemo/threshold-elgamal#readme","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"2a258d20e24276f3a55d6ad6ecfa404ef2883043","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.6.tgz","fileCount":25,"integrity":"sha512-LCzlfNT60dQRvey/0msmjiMZi5R25uWSsN0ygm5si1cjB9NNvvKAfoc7d/pwqzZDvUJ0ka6xRw26eKD+DnQmlw==","signatures":[{"sig":"MEUCIAc/XB0nvwRF2NVNMcD5wPHsQZv5Jy4V0HDobAP/3J3JAiEA5n4Sgj4zpvMVYmLQ0hZl2fDedLletP6Z4u6f4HbauH8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78964},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"9c35c8cf0f1e47bc37887e40c20c7b9b64e22c22","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","example":"tsx ./example/example","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs","prebuild":"npm run eslint && npm run tsc && npm run test && rimraf dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","pretypedoc":"rimraf docs","test:watch":"vitest --watch=true --reporter=verbose","publish:public":"npm publish --access public","prepublish:public":"npm run prebuild"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"threshold-elgamal","directories":{},"_nodeVersion":"20.11.0","dependencies":{"random-bigint":"^0.0.1","bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","rimraf":"^5.0.5","vitest":"^1.4.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.6_1712534621769_0.013950313243846324","host":"s3://npm-registry-packages"}},"0.1.7":{"name":"threshold-elgamal","version":"0.1.7","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.7","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://github.com/Tenemo/threshold-elgamal#readme","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"199567ac9a306e1c84e13783411654f001425efb","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.7.tgz","fileCount":24,"integrity":"sha512-w64G8kHymUSh+KjD73Vxlw84Mcz8+FoQlLvhtRJmKeu0yhF9RA9YpXOdB4hIb931G9k7eMztb15px6941F+8pg==","signatures":[{"sig":"MEUCIFNyJitLmwW50YuzgbTrsE3OvHCIlg2/QThbtRcJohLiAiEAgqY1b1S2l8PJPgX3B8F2VKGjzaUvDj9m0PzmYalS7e0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78794},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"cfcfbb35bbb37fdf8bd8606a995ebe558bcac68e","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","example":"tsx ./example/example","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs  --darkHighlightTheme dark-plus --githubPages false --entryDocument index.md","prebuild":"npm run eslint && npm run tsc && npm run test && rimraf dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","pretypedoc":"rimraf docs","test:watch":"vitest --watch=true --reporter=verbose","publish:public":"npm publish --access public","prepublish:public":"npm run prebuild"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"threshold-elgamal","directories":{},"_nodeVersion":"20.11.0","dependencies":{"random-bigint":"^0.0.1","bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","rimraf":"^5.0.5","vitest":"^1.4.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.7_1712534969189_0.6041224376428875","host":"s3://npm-registry-packages"}},"0.1.8":{"name":"threshold-elgamal","version":"0.1.8","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.8","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://github.com/Tenemo/threshold-elgamal#readme","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"97b6b51d51cb37424fee38c4be3117dea74f26e2","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.8.tgz","fileCount":24,"integrity":"sha512-ywGIhHPta9tzd6KM26ovoCnGQAeJSIt6O0IjLL55zE5txFfSuuuuOy+5zs6XXNUg6PTy4o6Myk/ZhqEOfTJqWw==","signatures":[{"sig":"MEQCIBp29A93pWnqtwzGH4UwV0FBKcFIYi0GMKvSkRKMWI83AiAwvjKQglDxyZltBFkMkhwz6niXxWykGYQ0G0PfBwzwPA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78937},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"c8e377965a04bb14f4a82cc78ceda3db769c4f77","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","example":"tsx ./example/example","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs  --darkHighlightTheme dark-plus --githubPages false --entryDocument index.md","prebuild":"npm run eslint && npm run tsc && npm run test && rimraf dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","pretypedoc":"rimraf docs","test:watch":"vitest --watch=true --reporter=verbose","publish:public":"npm publish --access public","prepublish:public":"npm run prebuild"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"threshold-elgamal","directories":{},"_nodeVersion":"20.11.0","dependencies":{"random-bigint":"^0.0.1","bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","rimraf":"^5.0.5","vitest":"^1.4.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.8_1712535154588_0.04241212488833779","host":"s3://npm-registry-packages"}},"0.1.9":{"name":"threshold-elgamal","version":"0.1.9","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.9","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://github.com/Tenemo/threshold-elgamal#readme","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"f1925c665fa3bcc6bf460bfc0cc9b24f9ef75b5c","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.9.tgz","fileCount":26,"integrity":"sha512-iDJZY9x9xU2ivOfZVXcIFTIGdnuZo0YTCA0+O8NgLA2SiJYtEo0GEc9EW42GdoLJ5smV6goc+KJaTNQc9GTy0w==","signatures":[{"sig":"MEUCIAzsXPpvpDC4Jcqb4FKicgoIh440SU2/mhL4KdIck0q0AiEAtZpXxKnU7UIABniBtlwHVGSRGyFoika0BR1LAJW+zg0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":79865},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"cc6d06d67cf9462f352b4cf3dcce0e9caa287316","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","example":"tsx ./example/example","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs  --darkHighlightTheme dark-plus --githubPages false --entryDocument index.md --cleanOutputDir false","prebuild":"npm run eslint && npm run tsc && npm run test && del-cli dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","pretypedoc":"del-cli 'docs/*' '!docs/_config.yml'","test:watch":"vitest --watch=true --reporter=verbose","publish:public":"npm publish --access public","prepublish:public":"npm run prebuild"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"threshold-elgamal","directories":{},"_nodeVersion":"20.11.0","dependencies":{"random-bigint":"^0.0.1","bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","vitest":"^1.4.0","del-cli":"^5.1.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.9_1712535959850_0.8721918016805101","host":"s3://npm-registry-packages"}},"0.1.10":{"name":"threshold-elgamal","version":"0.1.10","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.10","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://github.com/Tenemo/threshold-elgamal#readme","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"cca328f45b56f2111ed97eaf7e44fa36feb6a368","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.10.tgz","fileCount":26,"integrity":"sha512-/G6cqpSeS+TM6y6CkCc3FUvBk3+qQpakK6C6DMFtlvKYT5PKDo62C+S122R2m8JrQ2vpiPjvb9paIztERZZzNA==","signatures":[{"sig":"MEQCIEcv8UQAJq6O7V2XrWD34CJO/UWTo77bcQQk64ud8dPXAiBFCXtUlyMykXXQSshOeu/qwwHll5tAmD58opYh4RgIGQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":79906},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"17583de8ad42abc2e79ab86a454e08b891cd0ba7","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","example":"tsx ./example/example","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs  --darkHighlightTheme dark-plus --githubPages false --entryDocument index.md --cleanOutputDir false","prebuild":"npm run eslint && npm run tsc && npm run test && del-cli dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","pretypedoc":"del-cli 'docs/*' '!docs/_config.yml'","test:watch":"vitest --watch=true --reporter=verbose","publish:public":"npm publish --access public","prepublish:public":"npm run prebuild"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"Threshold ElGamal encryption implementation in TypeScript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"random-bigint":"^0.0.1","bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","vitest":"^1.4.0","del-cli":"^5.1.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.10_1712536033489_0.4499738378300957","host":"s3://npm-registry-packages"}},"0.1.11":{"name":"threshold-elgamal","version":"0.1.11","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.11","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://github.com/Tenemo/threshold-elgamal#readme","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"3d0f6aa3809eb90b94ed2d997fa5d7e3687fd5ab","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.11.tgz","fileCount":25,"integrity":"sha512-EACxZBxW2SyYRHMv6a7kW8/Cq8a+ryv3xUljxMDmx+OBoqu7zduglMTM4z+j5xjtkG6t763+j3ljlyeG9hD78w==","signatures":[{"sig":"MEQCIFzZq1n0k754uWFWJtfY4MIMOwZYpHBFAED41530eswhAiAY08ejLqP2T1EmUiBdNj537HDbrENwrxLpg5q6psQq+A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":79307},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"40a19893f624a7c951d3b67ce76b91d4ecccd3a1","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","example":"tsx ./example/example","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs  --darkHighlightTheme dark-plus --githubPages false --entryDocument index.md --cleanOutputDir false","prebuild":"npm run eslint && npm run tsc && npm run test && del-cli dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","pretypedoc":"del-cli 'docs/*' '!docs/_config.yml'","test:watch":"vitest --watch=true --reporter=verbose","publish:public":"npm publish --access public","prepublish:public":"npm run build"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"Threshold ElGamal encryption implementation in TypeScript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"random-bigint":"^0.0.1","bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","vitest":"^1.4.0","del-cli":"^5.1.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.11_1712536679335_0.4324916411321056","host":"s3://npm-registry-packages"}},"0.1.12":{"name":"threshold-elgamal","version":"0.1.12","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.12","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://github.com/Tenemo/threshold-elgamal#readme","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"8d28f04ba4d1402f524c8ef09d3e18edcf9be5ea","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.12.tgz","fileCount":39,"integrity":"sha512-/c0X2ExPXkKFavismRQ5zlobcz1CXoe5e5aBl3pICLHkmq2Gq/U5jXTrgcrhjYVP9iEaqhQcMR6gpYPokDF+Ug==","signatures":[{"sig":"MEUCIHj2RqezYlOuEiNH1Z2K5TEd/W/XFfDkKd8eFYwsDCb0AiEAvUT+rgYu8JnX9pEGQKFPQ/9INfK1jaVjq5U+NYvFhBo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115959},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"36279d8e1f186d878d8154d79d00d3571a15f9be","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","example":"tsx ./example/example","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs  --darkHighlightTheme dark-plus --githubPages false --entryDocument index.md --cleanOutputDir false","prebuild":"npm run eslint && npm run tsc && npm run test && del-cli dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","pretypedoc":"del-cli 'docs/*' '!docs/_config.yml'","test:watch":"vitest --watch=true --reporter=verbose","publish:public":"npm publish --access public","prepublish:public":"npm run build"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"Threshold ElGamal encryption implementation in TypeScript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"random-bigint":"^0.0.1","bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","vitest":"^1.4.0","del-cli":"^5.1.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.12_1712536715456_0.6591730051994498","host":"s3://npm-registry-packages"}},"0.1.13":{"name":"threshold-elgamal","version":"0.1.13","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.13","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://github.com/Tenemo/threshold-elgamal#readme","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"b39fb761e3646a47865aa10dc1f193d4c839e17c","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.13.tgz","fileCount":17,"integrity":"sha512-AYk4po+n4pnOYqjGcWUxazrA+snsFFb2jR0dmR3PAMIjpaI1oik420hx8ozRm4m881mh6ZYFr3GxegG0FXTmWQ==","signatures":[{"sig":"MEQCIDMs7UB94f4WCQOBnTrCUR6iYgTjYqG9/29XDCU2TywqAiBvhcsF3uzcoSVwcVoWwGM/7DOm8SROg8rZG6xlSDvitA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50349},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"7104c4fbef2ba7caef3a7209da382bf768b0a718","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","example":"tsx ./example/example","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs  --darkHighlightTheme dark-plus --githubPages false --entryDocument index.md --cleanOutputDir false","prebuild":"npm run eslint && npm run tsc && npm run test && del-cli dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","pretypedoc":"del-cli 'docs/*' '!docs/_config.yml'","test:watch":"vitest --watch=true --reporter=verbose","publish:public":"npm publish --access public","prepublish:public":"npm run build"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"Threshold ElGamal encryption implementation in TypeScript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"random-bigint":"^0.0.1","bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","vitest":"^1.4.0","del-cli":"^5.1.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.13_1712536820905_0.6502367192936775","host":"s3://npm-registry-packages"}},"0.1.14":{"name":"threshold-elgamal","version":"0.1.14","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.14","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://github.com/Tenemo/threshold-elgamal#readme","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"630a3ac22b1a5d8be4917cdd04624311444294f1","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.14.tgz","fileCount":17,"integrity":"sha512-Y/Ef55WNbcv7WJGuQzFaVofCaBTg1+xwLK9Z8K4dbfIpyiXzFpLwoO2iJsJd3LGk7o4GXTI2cgSNKIwLZAO6Yw==","signatures":[{"sig":"MEYCIQDncqyo0DTuHcQSLnI6SRDGpDSbnK4f3srTll3+2XmUVAIhAP48uwoIqSjsH+mKRnpjJdL7rfTXeWj8bpOAJ7edQu8K","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50385},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"dd2ead3f7aba63f73498a541bc53d1bf2e904468","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","example":"tsx ./example/example","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs  --darkHighlightTheme dark-plus --githubPages false --entryDocument index.md --cleanOutputDir false","prebuild":"npm run eslint && npm run tsc && npm run test && del-cli dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","pretypedoc":"del-cli 'docs/*' '!docs/_config.yml'","test:watch":"vitest --watch=true --reporter=verbose","publish:public":"npm publish --access public","prepublish:public":"npm run build"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"Threshold ElGamal encryption implementation in TypeScript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"random-bigint":"^0.0.1","bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","vitest":"^1.4.0","del-cli":"^5.1.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.14_1712538856300_0.031231637497989073","host":"s3://npm-registry-packages"}},"0.1.15":{"name":"threshold-elgamal","version":"0.1.15","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.15","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://github.com/Tenemo/threshold-elgamal#readme","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"9bc1e848638af29d3b5817031344334896ff5c7e","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.15.tgz","fileCount":17,"integrity":"sha512-TUjmtD0lvYkNy1wXOsD2bhoJiVro6rCz64/FpsfdCxUKAYTKvpqPuFejS9jWgIDAoRtDBNJ05AQyeX+2/dMu3g==","signatures":[{"sig":"MEQCIFYHIM6tQG0C8W4qhtLfWcnnCbrgynDdU64wSOOeTLt+AiA2isORo0Q7lqvMbbgqCEefbHBePpC8l5ziGzcCM/fYxw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50394},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"b674e7822cd86d5ab4d1c5446fd362934351fec5","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","example":"tsx ./example/example","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs  --darkHighlightTheme dark-plus --githubPages false --entryDocument index.md --cleanOutputDir false","prebuild":"npm run eslint && npm run tsc && npm run test && del-cli dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","pretypedoc":"del-cli 'docs/*' '!docs/_config.yml'","test:watch":"vitest --watch=true --reporter=verbose","publish:public":"npm publish --access public","prepublish:public":"npm run build"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"Threshold ElGamal encryption implementation in TypeScript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"random-bigint":"^0.0.1","bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","vitest":"^1.4.0","del-cli":"^5.1.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.15_1712539249148_0.49871097205976245","host":"s3://npm-registry-packages"}},"0.1.16":{"name":"threshold-elgamal","version":"0.1.16","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.16","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"9ed75c282c22ac45871f93788556ef9e92518f3d","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.16.tgz","fileCount":17,"integrity":"sha512-FWha3e6wMJjpcAVIXK7lljmBAgZQXcjlUh+RKDk6/ssJLA6mhrEszAD52Uj2DsbwdoUz0qDyo75GYpo6bVo5aA==","signatures":[{"sig":"MEUCIQDzokm7PM7/8DwF9+pDEIENh4c4cLTBVj09CPyNEyi+nQIgCsyfTl6ZkIXUnjBXPFQmFem6FZAgwz/kr0wqHjjoESY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":49971},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"65bfbce38f261b42411c44ffd908a33ab553f598","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","example":"tsx ./example/example","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs  --darkHighlightTheme dark-plus --githubPages false --entryDocument index.md --cleanOutputDir false","prebuild":"npm run eslint && npm run tsc && npm run test && del-cli dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","pretypedoc":"del-cli 'docs/*' '!docs/_config.yml'","test:watch":"vitest --watch=true --reporter=verbose","publish:public":"npm publish --access public","prepublish:public":"npm run build && npm run typedoc && git add . && git commit && git push origin && npm version patch"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"Threshold ElGamal encryption implementation in TypeScript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"random-bigint":"^0.0.1","bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","vitest":"^1.4.0","del-cli":"^5.1.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.16_1712629841407_0.7563767908915948","host":"s3://npm-registry-packages"}},"0.1.17":{"name":"threshold-elgamal","version":"0.1.17","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.17","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"17ade25113f6461d55c5a763152f4aad3301a7cf","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.17.tgz","fileCount":17,"integrity":"sha512-Zmpq9cZf/ClEs/QX/Ux8aRpYJ6mwPHGuzCdPeNQRA7ZXjII2jkcn1YBpqQUYA5QjM+2ohRiPOrYwYtht/GL8Gg==","signatures":[{"sig":"MEYCIQDX2NehNzbTD0UwioLIVUN7wQBr86YbVFWYnulUACJQ6AIhAIHIdVJAMwIbkroTcMEFaZ5Rn3mzfYvB9GZbzKfWac76","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":49941},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"92ab50a91d998228f699e087aae5cc774991c0f4","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","example":"tsx ./example/example","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs  --darkHighlightTheme dark-plus --githubPages false --entryDocument index.md --cleanOutputDir false","prebuild":"npm run eslint && npm run tsc && npm run test && del-cli dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","pretypedoc":"del-cli 'docs/*' '!docs/_config.yml'","test:watch":"vitest --watch=true --reporter=verbose","publish:public":"npm publish --access public","prepublish:public":"npm run build && npm run typedoc && git add . && git commit && git push origin && npm version patch"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"Threshold ElGamal in TypeScript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"random-bigint":"^0.0.1","bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","vitest":"^1.4.0","del-cli":"^5.1.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.17_1712655215762_0.9041380851270338","host":"s3://npm-registry-packages"}},"0.1.18":{"name":"threshold-elgamal","version":"0.1.18","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.18","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"c3ed67bc6343dd51ad09833a900f48123df26b44","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.18.tgz","fileCount":17,"integrity":"sha512-cm+ovuNaWLDOAIOhPxOiQSq9mg0rasLGyLU1hvuBUpmX6RAK/wnMiT0MFn5TlBnCcyUKuaEn2L9/2HOaZh909w==","signatures":[{"sig":"MEUCIBKYXyYSmagMj2+oCSig7BisBYmbeVv4gi+SbZwJvEXFAiEAn8k6Lfw8XdusO8AcB9RFhKVjasvDikjEiCUUBYRSKOk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":49910},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"4fc905e004402f2e0f9e5bc3e3d6c1b174c0d64b","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","example":"tsx ./example/example","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs  --darkHighlightTheme dark-plus --githubPages false --entryDocument index.md --cleanOutputDir false","prebuild":"npm run eslint && npm run tsc && npm run test && del-cli dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","pretypedoc":"del-cli 'docs/*' '!docs/_config.yml'","test:watch":"vitest --watch=true --reporter=verbose","publish:public":"npm publish --access public","prepublish:public":"npm run build && npm run typedoc && git add . && git commit && git push origin && npm version patch"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"Threshold ElGamal in TypeScript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"random-bigint":"^0.0.1","bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","vitest":"^1.4.0","del-cli":"^5.1.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.18_1712655813415_0.9429485037232372","host":"s3://npm-registry-packages"}},"0.1.19":{"name":"threshold-elgamal","version":"0.1.19","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.19","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"a0a9adc8bb94ab8e1ea15a0944ad4e1229026f44","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.19.tgz","fileCount":17,"integrity":"sha512-PJOHKN6Q2ymI4YMbx9J+ai7GcnsuL14z9jmado9JWlkax7jwQf5v9cQ6iSN1KQhbkdaoRKCQ2XMjdQBQhCJZpg==","signatures":[{"sig":"MEQCIFhKLwVJnRVMX/8VJz7UDMh1dVlStupPv0i1a+iNgXqkAiB2KzWqvu8iHH60N3uVYby+/MRym8+FrPq438xksiYwmA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":54371},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"ad27640c4e1493e2fa742486d160caf2aa0b37ed","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs  --darkHighlightTheme dark-plus --githubPages false --entryDocument index.md --cleanOutputDir false","prebuild":"npm run eslint && npm run tsc && npm run test && del-cli dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","pretypedoc":"del-cli 'docs/*' '!docs/_config.yml'","test:watch":"vitest --watch=true --reporter=verbose","publish:public":"npm publish --access public","prepublish:public":"npm run build && npm run typedoc && git add . && git commit && git push origin && npm version patch"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"Threshold ElGamal in TypeScript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"random-bigint":"^0.0.1","bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","vitest":"^1.4.0","del-cli":"^5.1.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.19_1712657784677_0.3088278586460351","host":"s3://npm-registry-packages"}},"0.1.20":{"name":"threshold-elgamal","version":"0.1.20","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.20","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"39d54005c4182620873c6c5b9c1e905da2d7eed2","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.20.tgz","fileCount":17,"integrity":"sha512-g5AUC3JcVShSZSLVOQYQzNttneu8r4Zfi2ze5A67p1n0ysWo3s/FkIzkVn6pyvbvhcDywT2IisocY5Fou7jsaQ==","signatures":[{"sig":"MEQCIESSnfljdHI201Kmi0Oa27Y4Dg7rjYfPyk2FNSgrQY3qAiAzZ+wiKfkwbjOce2awZg5w8Ig47O+svTFzRc69mh/35Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56485},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"53231c5ef06b9fac8e430a0185260ee7a32941cb","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs  --darkHighlightTheme dark-plus --githubPages false --entryDocument index.md --cleanOutputDir false","prebuild":"npm run eslint && npm run tsc && npm run test && del-cli dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","pretypedoc":"del-cli 'docs/*' '!docs/_config.yml'","test:watch":"vitest --watch=true --reporter=verbose","publish:public":"npm publish --access public","prepublish:public":"npm run build && npm run typedoc && git add . && git commit && git push origin && npm version patch"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"Threshold ElGamal in TypeScript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"random-bigint":"^0.0.1","bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","vitest":"^1.4.0","del-cli":"^5.1.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.20_1712658649123_0.6776348413586311","host":"s3://npm-registry-packages"}},"0.1.21":{"name":"threshold-elgamal","version":"0.1.21","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.21","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"86137beb38d516ff652d2f4a2041d14a6903b272","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.21.tgz","fileCount":17,"integrity":"sha512-RdAo1DNDFlxz7p9Y5BBm1AsWGTCkqfxLlAikJ60OhA9ZJ6lVxSF1qdT6oDKUj9Uo+irRzmYoujTCsStbHWSt1A==","signatures":[{"sig":"MEQCIFPxCDpCAH+YmHATVYDw0661jiN9hC+IUyEF4VPqGz67AiAizo5SVIe19idXBAXLHdQb25sS+BQSrb++BSeNAiY1rA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50351},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"1721365c24c361dcb0b928b5ed1f100738fab51d","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs  --darkHighlightTheme dark-plus --githubPages false --entryDocument index.md --cleanOutputDir false","prebuild":"npm run eslint && npm run tsc && npm run test && del-cli dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","pretypedoc":"del-cli 'docs/*' '!docs/_config.yml'","test:watch":"vitest --watch=true --reporter=verbose","publish:public":"npm publish --access public","prepublish:public":"npm run build && npm run typedoc && git add . && git commit && git push origin && npm version patch"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"Threshold ElGamal in TypeScript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"random-bigint":"^0.0.1","bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","vitest":"^1.4.0","del-cli":"^5.1.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.21_1712659234205_0.7628798490679494","host":"s3://npm-registry-packages"}},"0.1.22":{"name":"threshold-elgamal","version":"0.1.22","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.22","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"b66da14e3447376c1ebc519f4b2680e3e8034374","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.22.tgz","fileCount":19,"integrity":"sha512-2dUhEa3VrUWIR6g+Ug3t5iFyq+3kMi2PiDTJSTc1BmOk8G8Qn2QtK1Jy+waaxpZCto9GPjdkSOkHM2KiBcOxxw==","signatures":[{"sig":"MEUCIQDIOuCFtnlziX07+XW1UcOgsIiwe7UkyoPR+K0/utyrkwIgOQyA3eLF37wNnk0n7Gm61YtIleYuP95736tJt/wZHFY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53076},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"ab623a8f24300b612a9d282942e58d804939d7ce","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","prepare":"ts-patch install -s","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs  --darkHighlightTheme dark-plus --githubPages false --entryDocument index.md --cleanOutputDir false","prebuild":"npm run eslint && npm run tsc && npm run test && del-cli dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","pretypedoc":"del-cli 'docs/*' '!docs/_config.yml'","test:watch":"vitest --watch=true --reporter=verbose","publish:public":"npm publish --access public","prepublish:public":"npm run build && npm run typedoc && git add . && git commit && git push origin && npm version patch"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"Threshold ElGamal in TypeScript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","vitest":"^1.4.0","del-cli":"^5.1.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","ts-patch":"^3.1.2","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","typescript-transformer-esm":"^1.1.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.22_1712661484617_0.12410710295142402","host":"s3://npm-registry-packages"}},"0.1.23":{"name":"threshold-elgamal","version":"0.1.23","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.23","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"3a8ff706d0940f6e5c65858339f29ea4c9d69752","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.23.tgz","fileCount":17,"integrity":"sha512-C71thanxYh9cTMSQm2654k62fj9somdfh2AbbxPJLoXYPr/AVbMgGtEUmXy8/xi+tYeHzwnSwfWPfbQpZp3yTA==","signatures":[{"sig":"MEYCIQC5e22qgz5NaBI1AbLue2sEU3RA5B/2l6o+/pHX5l7asgIhAM59JBbkwuxcXWQxXpFktsTdi2L+HuvHlu2/zhB5XWyI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52676},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"b33635dca7758b8e758e8605de109cfb03ad9b95","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","prepare":"ts-patch install -s","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs  --darkHighlightTheme dark-plus --githubPages false --entryDocument index.md --cleanOutputDir false","prebuild":"npm run eslint && npm run tsc && npm run test && del-cli dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","pretypedoc":"del-cli 'docs/*' '!docs/_config.yml'","test:watch":"vitest --watch=true --reporter=verbose","publish:public":"npm publish --access public","prepublish:public":"npm run build && npm run typedoc && git add . && git commit && git push origin && npm version patch"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"Threshold ElGamal in TypeScript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","vitest":"^1.4.0","del-cli":"^5.1.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","ts-patch":"^3.1.2","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","typescript-transformer-esm":"^1.1.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.23_1712662506652_0.17902854569917492","host":"s3://npm-registry-packages"}},"0.1.24":{"name":"threshold-elgamal","version":"0.1.24","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.24","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"b086a1b7f0efc9623368aa0d687572e94f124981","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.24.tgz","fileCount":17,"integrity":"sha512-f39CbuWpIcvSyWqkkFRouJ2ulnbES72hhP8+FfSojB2sr19v8qNSNDwdgWMKszNPyg8Sm9EFVyrUCv1+iNWlcg==","signatures":[{"sig":"MEUCIEvoo7IN1YX9pg25NfHtYcnp2ETrwtfncjhtmyPKohfmAiEA7EU1GfYHq7vlylflXDS4LwcHPpACWKobLSCOdFqzjbY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52880},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"52ff4d46431c2c93c814d34980adbbbf9b9ab33b","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","prepare":"ts-patch install -s","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs  --darkHighlightTheme dark-plus --githubPages false --entryDocument index.md --cleanOutputDir false","prebuild":"npm run eslint && npm run tsc && npm run test && del-cli dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","pretypedoc":"del-cli 'docs/*' '!docs/_config.yml'","test:watch":"vitest --watch=true --reporter=verbose","publish:public":"npm publish --access public","prepublish:public":"npm run build && npm run typedoc && git add . && git commit && git push origin && npm version patch"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"Threshold ElGamal in TypeScript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","vitest":"^1.4.0","del-cli":"^5.1.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","ts-patch":"^3.1.2","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","typescript-transformer-esm":"^1.1.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.24_1712662791662_0.7133867906728901","host":"s3://npm-registry-packages"}},"0.1.25":{"name":"threshold-elgamal","version":"0.1.25","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.25","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"59d39e3c614284b50e924c02479a3a51055edcfd","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.25.tgz","fileCount":17,"integrity":"sha512-u/YWfss9IUN8L2O94fEAK3r3a4MWzbusyvlIMDW93EnWAyzuZM2Jm3z5ptIo4lM1ir3pgXb8UBXaWwijtK7Y7Q==","signatures":[{"sig":"MEUCIQChCkUI458z1Bpm8G3/Yljs9DVwnGrcMlVPdjqLEjwHlgIgTUT1eTdAiMtmGyZ/sTCMQonjI1Av7nFiRPA9LmJ2+xw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52812},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"39e93546bc0cf58214b73e6c85d91a38749a2467","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","prepare":"ts-patch install -s","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs  --darkHighlightTheme dark-plus --githubPages false --entryDocument index.md --cleanOutputDir false","prebuild":"npm run eslint && npm run tsc && npm run test && del-cli dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","pretypedoc":"del-cli 'docs/*' '!docs/_config.yml'","test:watch":"vitest --watch=true --reporter=verbose","publish:public":"npm publish --access public","prepublish:public":"npm run build && npm run typedoc && git add . && git commit && git push origin && npm version patch"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"Threshold ElGamal in TypeScript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","vitest":"^1.4.0","del-cli":"^5.1.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","ts-patch":"^3.1.2","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","typescript-transformer-esm":"^1.1.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.25_1712663054410_0.24228495283646634","host":"s3://npm-registry-packages"}},"0.1.26":{"name":"threshold-elgamal","version":"0.1.26","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.26","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"ffa4c19b8c6cc2dbb3f0bf88846c91dd4a484803","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.26.tgz","fileCount":17,"integrity":"sha512-/8at/AXd/IEIku2s7h+S8N4ZWIioR+mcg4G5xj518npgeODOzT9x6KBrL5PyTAaEA/xY8a8MOWyXcuh2IHJb0A==","signatures":[{"sig":"MEYCIQDpfEocClQcWxBvZ/JOHTVHcji7fA2NHuBc77mdSS+WIwIhAIUJStCd2ZoHJCCoLQ3d1gImhOALebOkOR8ISsVl0FDo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52031},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"aa8a09dadd1fb5786057687d878df3aaa19e676f","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","prepare":"ts-patch install -s","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs  --darkHighlightTheme dark-plus --githubPages false --entryDocument index.md --cleanOutputDir false","prebuild":"npm run eslint && npm run tsc && npm run test && del-cli dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","pretypedoc":"del-cli 'docs/*' '!docs/_config.yml'","test:watch":"vitest --watch=true --reporter=verbose","publish:public":"npm publish --access public","prepublish:public":"npm run build && npm run typedoc && git add . && git commit && git push origin && npm version patch"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"Threshold ElGamal in TypeScript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","vitest":"^1.4.0","del-cli":"^5.1.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","ts-patch":"^3.1.2","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","typescript-transformer-esm":"^1.1.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.26_1712666506057_0.35899526718939434","host":"s3://npm-registry-packages"}},"0.1.27":{"name":"threshold-elgamal","version":"0.1.27","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.27","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"33c8d58641c61a0606df49f78ac91910e363a30e","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.27.tgz","fileCount":17,"integrity":"sha512-8wYcwe07j8HefBKKE8z/R2ghrsEfzb4IBwTNLqrjWE3R+dWlsHsyT3xSBEdpxokypKO+C2rqBNYTATTaqFkD5w==","signatures":[{"sig":"MEYCIQDnWa7G1hYT5c5aE22+SrrlduwnHbHIDOON6fH5sL9BXgIhAMf/6zOU609ssIZsmyX/PPeIOg65DaVlFFYXmv5USBfe","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51941},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"76813ee1487a67225b0aa0c53b19e627504b0d0a","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","prepare":"ts-patch install -s","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs  --darkHighlightTheme dark-plus --githubPages false --entryDocument index.md --cleanOutputDir false","prebuild":"npm run eslint && npm run tsc && npm run test && del-cli dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","pretypedoc":"del-cli 'docs/*' '!docs/_config.yml'","test:watch":"vitest --watch=true --reporter=verbose","publish:public":"npm publish --access public","prepublish:public":"npm run build && npm run typedoc && git add . && git commit && git push origin && npm version patch"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"Threshold ElGamal in TypeScript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","vitest":"^1.4.0","del-cli":"^5.1.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","ts-patch":"^3.1.2","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","typescript-transformer-esm":"^1.1.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.27_1712667194761_0.17516175593200178","host":"s3://npm-registry-packages"}},"0.1.28":{"name":"threshold-elgamal","version":"0.1.28","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.28","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"6a53d92082be8ddb51386a2d81312d960614fd49","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.28.tgz","fileCount":17,"integrity":"sha512-sw/r0LIVEtDjnNYt2qXpqEEE/ifO5v0H/0OyXqeA9kDscM00PhJ2XWwS/KT8osC/qvro+inEeVFcWZmkS6NjgA==","signatures":[{"sig":"MEQCIBhP9vONyA5/tBg9aFxqS5MBLFSAc/Cc3JrsBA+HSYNfAiBjXzVobx8qZSqSMpfQgZLs0Im/8oPhklHSBBb8GZqb6Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51869},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"d9d79a6c0b643a213b20cb53f6d42ef835d0c89a","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","prepare":"ts-patch install -s","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs  --darkHighlightTheme dark-plus --githubPages false --entryDocument index.md --cleanOutputDir false","prebuild":"npm run eslint && npm run tsc && npm run test && del-cli dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","pretypedoc":"del-cli 'docs/*' '!docs/_config.yml'","test:watch":"vitest --watch=true --reporter=verbose","publish:public":"npm publish --access public","prepublish:public":"npm run build && npm run typedoc && git add . && git commit && git push origin && npm version patch"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"Threshold ElGamal in TypeScript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","vitest":"^1.4.0","del-cli":"^5.1.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","ts-patch":"^3.1.2","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","typescript-transformer-esm":"^1.1.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.28_1712672834021_0.5552875201812204","host":"s3://npm-registry-packages"}},"0.1.29":{"name":"threshold-elgamal","version":"0.1.29","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.29","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"b159cf56f7edc0a1b548b3840447babbe38906cd","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.29.tgz","fileCount":17,"integrity":"sha512-0onTTcDZXgSpkTvshY926Gl6+2tJGJP7Bx0qcb4BSet8vhTY+H85NuMiP79l8o7TUzc7ud4CU4gURESQWgiuBw==","signatures":[{"sig":"MEYCIQD46n7FrYwMREJP+tGzD2zcTNXA45m8qsATMFnYjq2e1gIhAMrG3Te4uI/NNDKrmrHvkx3EEgGU4J5kiGPEmfju5JBR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52085},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"cec5de1333fce35b9cdf8de74bc17da64050e141","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","prepare":"ts-patch install -s","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs  --darkHighlightTheme dark-plus --githubPages false --entryDocument index.md --cleanOutputDir false","prebuild":"npm run eslint && npm run tsc && npm run test && del-cli dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","pretypedoc":"del-cli 'docs/*' '!docs/_config.yml'","test:watch":"vitest --watch=true --reporter=verbose","publish:public":"npm publish --access public","prepublish:public":"npm run build && npm run typedoc && git add . && git commit && git push origin && npm version patch"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"Threshold ElGamal in TypeScript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","vitest":"^1.4.0","del-cli":"^5.1.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","ts-patch":"^3.1.2","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","typescript-transformer-esm":"^1.1.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.29_1712673716921_0.05864067893384317","host":"s3://npm-registry-packages"}},"0.1.30":{"name":"threshold-elgamal","version":"0.1.30","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.30","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"682822cb9326c48f0c012e19557c9401753e71b5","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.30.tgz","fileCount":17,"integrity":"sha512-f0xfLzT5NsIxhN1KLpZoukA5SE35iWLocD+9iKWdp6pMEFd1JxdZKgaa88xZ/n+Ts5365sXT3PIBXZzL3/AEFA==","signatures":[{"sig":"MEUCIC6SEWw1AEd4in6Jo+YWxDylX21vAwpitsWgt0p3oFjtAiEA3lmcvAsIz/YrEwg9bn+fiEQdUCsmsSrzQs5dhta6l80=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52010},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"200f4b5f9f8a52456b80a9b0ed87c33590168052","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","prepare":"ts-patch install -s","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs  --darkHighlightTheme dark-plus --githubPages false --entryDocument index.md --cleanOutputDir false","prebuild":"npm run eslint && npm run tsc && npm run test && del-cli dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","pretypedoc":"del-cli 'docs/*' '!docs/_config.yml'","test:watch":"vitest --watch=true --reporter=verbose","publish:public":"npm publish --access public","prepublish:public":"npm run build && npm run typedoc && git add . && git commit && git push origin && npm version patch"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"Threshold ElGamal in TypeScript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","vitest":"^1.4.0","del-cli":"^5.1.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","ts-patch":"^3.1.2","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","typescript-transformer-esm":"^1.1.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.30_1712674204378_0.8893332569087142","host":"s3://npm-registry-packages"}},"0.1.31":{"name":"threshold-elgamal","version":"0.1.31","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.31","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"0594ed7675161dfdc808b0de83a3d760ad785465","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.31.tgz","fileCount":17,"integrity":"sha512-BK/Oyy5WjuPjRocp3a6iwxk3aOGtkVt0QwJtSVA/cHve2KWc29JMiUWyC5BwcoasHBkxbvjxXzOeiMecwmsq6A==","signatures":[{"sig":"MEUCIQC+iUC1VOIzDpMeBnQxLZomv+F6+7r5OWA8Y+Z+FgVcyAIgHglbXbnyVKISgkBP/2LuM/S19kG2M2ql1C6y05EiPxM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56323},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"e57efd1a2c1e21390aa1fc66e65a001f3d325fd5","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","prepare":"ts-patch install -s","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs  --darkHighlightTheme dark-plus --githubPages false --entryDocument index.md --cleanOutputDir false","prebuild":"npm run eslint && npm run tsc && npm run test && del-cli dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","pretypedoc":"del-cli 'docs/*' '!docs/_config.yml'","test:watch":"vitest --watch=true --reporter=verbose","publish:public":"npm publish --access public","prepublish:public":"npm run build && npm run typedoc && git add . && git commit && git push origin && npm version patch"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"Threshold ElGamal in TypeScript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","vitest":"^1.4.0","del-cli":"^5.1.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","ts-patch":"^3.1.2","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","typescript-transformer-esm":"^1.1.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.31_1712696570665_0.5752258489846613","host":"s3://npm-registry-packages"}},"0.1.32":{"name":"threshold-elgamal","version":"0.1.32","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.32","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"023bd7481ec7f1f1a4e2dd8616ef6364270721f3","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.32.tgz","fileCount":17,"integrity":"sha512-SD1w+8jpYNAvDGBsTs41qwDjfRm6muuCD47ttMEzvTpR3jmgazypETjxXS9Koh4bD9BCA0jheDUcW6ePnS2XUg==","signatures":[{"sig":"MEUCIB0RffZBzYN0UrFGJ0QDWA4vYtxbN4fY97rKo2MzZV5aAiEA9AlGzDZaZn8AQqCGKx+b8jMKEaDFc4l9Nf5gBgbdh8k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52080},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"48382fcd0efef2ed7870bca11815f4031a4ff7f6","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","prepare":"ts-patch install -s","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs  --darkHighlightTheme dark-plus --githubPages false --entryDocument index.md --cleanOutputDir false","prebuild":"npm run eslint && npm run tsc && npm run test && del-cli dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","pretypedoc":"del-cli 'docs/*' '!docs/_config.yml'","test:watch":"vitest --watch=true --reporter=verbose","publish:public":"npm publish --access public","prepublish:public":"npm run build && npm run typedoc && git add . && git commit && git push origin && npm version patch"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"Threshold ElGamal in TypeScript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","vitest":"^1.4.0","del-cli":"^5.1.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","ts-patch":"^3.1.2","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","typescript-transformer-esm":"^1.1.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.32_1712696690258_0.3480678475924208","host":"s3://npm-registry-packages"}},"0.1.33":{"name":"threshold-elgamal","version":"0.1.33","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.33","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"f276545cf611cc2e5492ef31cf936931aa1ca9c3","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.33.tgz","fileCount":17,"integrity":"sha512-zSN28O/5Rf1janf4VSHPrMsRVaKwn0XBlmNGBUWjoKZXWaMkgl5ohTIZ5mCaONkTaFbADqQiHvakC322SRWnTQ==","signatures":[{"sig":"MEYCIQCBCeTYRpQspPU30+Pa8Wljevsz+FYCjTMFyujFtHbMjQIhAIsqRFpNAhjxVvhppsu80VNTPe6c90iQcYhxNMQ25byA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56478},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"8a41de2686ecb7224620d04722207244637d21c1","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","prepare":"ts-patch install -s","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs  --darkHighlightTheme dark-plus --githubPages false --entryDocument index.md --cleanOutputDir false","prebuild":"npm run eslint && npm run tsc && npm run test && del-cli dist","build:skip":"tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","pretypedoc":"del-cli 'docs/*' '!docs/_config.yml'","test:watch":"vitest --watch=true --reporter=verbose","publish:public":"npm publish --access public","prepublish:public":"npm run build && npm run typedoc && git add . && git commit && git push origin && npm version patch"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"Threshold ElGamal in TypeScript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","vitest":"^1.4.0","del-cli":"^5.1.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","ts-patch":"^3.1.2","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","typescript-transformer-esm":"^1.1.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.33_1712718744656_0.7890208590589047","host":"s3://npm-registry-packages"}},"0.1.34":{"name":"threshold-elgamal","version":"0.1.34","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MIT","_id":"threshold-elgamal@0.1.34","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"9602d39567f339348656a523b50d00eebc3730f0","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-0.1.34.tgz","fileCount":17,"integrity":"sha512-XF20Z2y477NkRoc+XWXMy3NGx5cddVV48ADVL8NVRsCtF61jET2AoVOJ0NQhD68hYlCtYeHrrh2uoXRAqt0qWg==","signatures":[{"sig":"MEUCIQDbgbc4+hNfvU0B3i1X+BaNMUMpe5muQy2aZiGiK1fjrAIgLFrhJm4s0PLrHTK4MsPdpWCiw/Ba7/T1lExzvbSJrZ0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56494},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.11.0"},"gitHead":"63237606d7301829e35fc38697dad27fef7bd31f","scripts":{"tsc":"tsc","test":"vitest --watch=false --reporter=verbose","build":"tsc --project tsconfig.build.json","eslint":"eslint . -c eslint.config.js","prepare":"ts-patch install -s","typedoc":"typedoc --plugin typedoc-plugin-markdown src --out docs  --darkHighlightTheme dark-plus --githubPages false --entryDocument index.md --cleanOutputDir false","prebuild":"npm run eslint && npm run tsc && npm run test && del-cli dist","build:skip":"del-cli dist && tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","pretypedoc":"del-cli 'docs/*' '!docs/_config.yml'","test:watch":"vitest --watch=true --reporter=verbose","publish:public":"npm publish --access public","prepublish:public":"npm run build && npm run typedoc && git add . && git commit && git push origin && npm version patch"},"_npmUser":{"name":"tenemo","email":"tenemo@gmail.com"},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"10.5.1","description":"Threshold ElGamal in TypeScript","directories":{},"_nodeVersion":"20.11.0","dependencies":{"bigint-mod-arith":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","eslint":"^8.57.0","vitest":"^1.4.0","del-cli":"^5.1.0","globals":"^15.0.0","typedoc":"^0.25.13","prettier":"^3.2.5","ts-patch":"^3.1.2","@eslint/js":"^8.57.0","@types/npm":"^7.19.3","typescript":"^5.4.4","@types/node":"^20.12.5","@types/eslint":"^8.56.7","@types/prettier":"^2.7.3","prettier-eslint":"^16.3.0","@eslint/eslintrc":"^3.0.2","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","typedoc-plugin-markdown":"^3.17.1","eslint-plugin-only-error":"^1.0.2","@typescript-eslint/parser":"^7.5.0","typescript-transformer-esm":"^1.1.0","@types/eslint-plugin-prettier":"^3.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_0.1.34_1712800950632_0.9183234065234789","host":"s3://npm-registry-packages"}},"1.0.0-beta.2":{"name":"threshold-elgamal","version":"1.0.0-beta.2","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MPL-2.0","_id":"threshold-elgamal@1.0.0-beta.2","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"07c3004336d4c662151b933c55d760f2fc47974f","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-1.0.0-beta.2.tgz","fileCount":143,"integrity":"sha512-xLuRME4apQCWj0q+VxrcnWvOgs6b2rX6DP4hmXAZ25hXsoawNyHYi8Vv6TzWomS1aH0Fr/hMKmF0Je67DSvqFQ==","signatures":[{"sig":"MEYCIQD/hhZlgBhiYXQi14GJoj1fuaC+D/PyxHX16Xwgu5R/UwIhAP+IFhpUbv6if4GrALfOhVWhkwJXRu865vKfo0Mltkii","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/threshold-elgamal@1.0.0-beta.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":313486},"main":"dist/index.js","pnpm":{"onlyBuiltDependencies":["esbuild","unrs-resolver"]},"type":"module","types":"dist/index.d.ts","engines":{"node":">=24.14.1"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dkg":{"types":"./dist/dkg/index.d.ts","import":"./dist/dkg/index.js"},"./vss":{"types":"./dist/vss/index.d.ts","import":"./dist/vss/index.js"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./proofs":{"types":"./dist/proofs/index.d.ts","import":"./dist/proofs/index.js"},"./elgamal":{"types":"./dist/elgamal/index.d.ts","import":"./dist/elgamal/index.js"},"./runtime":{"types":"./dist/runtime/index.d.ts","import":"./dist/runtime/index.js"},"./protocol":{"types":"./dist/protocol/index.d.ts","import":"./dist/protocol/index.js"},"./serialize":{"types":"./dist/serialize/index.d.ts","import":"./dist/serialize/index.js"},"./threshold":{"types":"./dist/threshold/index.d.ts","import":"./dist/threshold/index.js"},"./transport":{"types":"./dist/transport/index.d.ts","import":"./dist/transport/index.js"},"./transport/advanced":{"types":"./dist/transport/advanced.d.ts","import":"./dist/transport/advanced.js"}},"gitHead":"a9be417e7b250666253a2d99bdda1751219854ea","imports":{"#dkg":"./src/dkg/index.ts","#vss":"./src/vss/index.ts","#core":"./src/core/index.ts","#root":"./src/index.ts","#proofs":"./src/proofs/index.ts","#elgamal":"./src/elgamal/index.ts","#runtime":"./src/runtime/index.ts","#protocol":"./src/protocol/index.ts","#serialize":"./src/serialize/index.ts","#threshold":"./src/threshold/index.ts","#transport":"./src/transport/index.ts","#transport-advanced":"./src/transport/advanced.ts"},"scripts":{"ci":"pnpm run check && pnpm run build:skip && pnpm run verify:docs && pnpm run docs:build:site","tsc":"pnpm run typecheck","lint":"eslint . -c eslint.config.js","test":"pnpm run test:node && pnpm run test:browser","build":"tsc --project tsconfig.build.json","check":"pnpm run lint && pnpm run typecheck && pnpm run guard:no-math-random && pnpm run verify:h-derivation && pnpm run test","eslint":"pnpm run lint","prepare":"husky","docs:api":"pnpm exec del-cli docs/src/content/docs/api/reference && tsx ./node_modules/typedoc/bin/typedoc --options typedoc.config.mjs && tsx ./typedoc/postprocess-site-docs.ts","docs:dev":"pnpm run docs:api && astro dev --root docs","prebuild":"pnpm run check && pnpm exec del-cli dist","bench:dkg":"tsx ./tools/benchmarks/dkg-benchmark.ts","test:node":"vitest --project node --run","typecheck":"tsc","build:skip":"pnpm exec del-cli dist && tsc --project tsconfig.build.json","docs:build":"pnpm run docs:api && pnpm run docs:build:site","eslint:fix":"eslint . --fix -c eslint.config.js","test:watch":"vitest --project node --watch","bench:micro":"tsx ./tools/benchmarks/microbench.ts","verify:docs":"pnpm run docs:api && pnpm run verify:docs:generated","docs:preview":"astro preview --root docs","test:browser":"vitest --project browser --run","coverage:node":"vitest --project node --run --coverage","coverage:badge":"pnpm run coverage:node && tsx ./tools/generate-coverage-badge.ts","publish:public":"pnpm publish --access public","docs:build:site":"astro build --root docs","vectors:protocol":"tsx ./tools/generate-protocol-vectors.ts","prepublish:public":"pnpm run ci","vectors:threshold":"tsx ./tools/generate-threshold-vectors.ts","verify:h-derivation":"tsx ./tools/verify-h-derivation.ts","guard:no-math-random":"tsx ./tests/guards/check-no-math-random.ts","verify:docs:generated":"tsx ./typedoc/verify-docs.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b499bebc-eef2-47d2-aca4-0a87727578c6"}},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"11.11.0","description":"A browser-native TypeScript ElGamal library for bigint-based research prototypes, shipping additive ElGamal, dealer threshold decryption, VSS, proofs, protocol helpers, transport primitives, and log-driven DKG state machines.","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","readmeFilename":"README.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.8","astro":"^6.1.5","husky":"^9.1.7","eslint":"^10.2.0","vitest":"^4.1.4","del-cli":"^7.0.0","globals":"^17.4.0","typedoc":"^0.28.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","playwright":"^1.59.1","typescript":"^6.0.2","@types/node":"^25.5.2","@astrojs/mdx":"^5.0.3","@eslint/eslintrc":"^3.3.5","@astrojs/starlight":"^0.38.3","@vitest/coverage-v8":"^4.1.4","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","eslint-plugin-prettier":"^5.5.5","typedoc-plugin-markdown":"^4.11.0","eslint-plugin-only-error":"^1.0.2","@fontsource/ibm-plex-sans":"^5.2.8","@fontsource/space-grotesk":"^5.2.10","@typescript-eslint/parser":"^8.58.1","@fontsource/jetbrains-mono":"^5.2.8","@vitest/browser-playwright":"^4.1.4","@typescript-eslint/eslint-plugin":"^8.58.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_1.0.0-beta.2_1775756179227_0.04433913186346672","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.3":{"name":"threshold-elgamal","version":"1.0.0-beta.3","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MPL-2.0","_id":"threshold-elgamal@1.0.0-beta.3","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"1fee0eb7714345b271cfcdc206f643617b1051d6","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-1.0.0-beta.3.tgz","fileCount":145,"integrity":"sha512-cqX9jJ7fIBmm6YuHOi31rtnUcDa4UjOvUBuLmExsCEBtmKi6uOnwUGfarX0SmOakxSNq8dP2/BbFAxjjzSGxZw==","signatures":[{"sig":"MEYCIQDz/xIIXgN4/FWXan/UBM9bGttvEC7IJ+BJ25umGL+aHgIhAOqUhG0WB+yjR8VZgYsbrj8ILgFXDK4fyHYXXv21LuQC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/threshold-elgamal@1.0.0-beta.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":356559},"main":"dist/index.js","pnpm":{"onlyBuiltDependencies":["esbuild","unrs-resolver"]},"type":"module","types":"dist/index.d.ts","engines":{"node":">=24.14.1"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dkg":{"types":"./dist/dkg/index.d.ts","import":"./dist/dkg/index.js"},"./vss":{"types":"./dist/vss/index.d.ts","import":"./dist/vss/index.js"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./proofs":{"types":"./dist/proofs/index.d.ts","import":"./dist/proofs/index.js"},"./elgamal":{"types":"./dist/elgamal/index.d.ts","import":"./dist/elgamal/index.js"},"./runtime":{"types":"./dist/runtime/index.d.ts","import":"./dist/runtime/index.js"},"./protocol":{"types":"./dist/protocol/index.d.ts","import":"./dist/protocol/index.js"},"./serialize":{"types":"./dist/serialize/index.d.ts","import":"./dist/serialize/index.js"},"./threshold":{"types":"./dist/threshold/index.d.ts","import":"./dist/threshold/index.js"},"./transport":{"types":"./dist/transport/index.d.ts","import":"./dist/transport/index.js"},"./transport/advanced":{"types":"./dist/transport/advanced.d.ts","import":"./dist/transport/advanced.js"}},"gitHead":"7c38461e93ebfba716f0675a2cc9f369644857b0","imports":{"#dkg":"./src/dkg/index.ts","#vss":"./src/vss/index.ts","#core":"./src/core/index.ts","#root":"./src/index.ts","#proofs":"./src/proofs/index.ts","#elgamal":"./src/elgamal/index.ts","#runtime":"./src/runtime/index.ts","#protocol":"./src/protocol/index.ts","#serialize":"./src/serialize/index.ts","#threshold":"./src/threshold/index.ts","#transport":"./src/transport/index.ts","#transport-advanced":"./src/transport/advanced.ts"},"scripts":{"ci":"pnpm run check && pnpm run build:skip && pnpm run verify:docs && pnpm run docs:build:site","tsc":"pnpm run typecheck","lint":"eslint . -c eslint.config.js","test":"pnpm run test:node && pnpm run test:browser","build":"tsc --project tsconfig.build.json","check":"pnpm run lint && pnpm run typecheck && pnpm run guard:no-math-random && pnpm run verify:h-derivation && pnpm run test","eslint":"pnpm run lint","prepare":"husky","docs:api":"pnpm exec del-cli docs/src/content/docs/api/reference && tsx ./node_modules/typedoc/bin/typedoc --options typedoc.config.mjs && tsx ./typedoc/postprocess-site-docs.ts","docs:dev":"pnpm run docs:api && astro dev --root docs","prebuild":"pnpm run check && pnpm exec del-cli dist","bench:dkg":"tsx ./tools/benchmarks/dkg-benchmark.ts","test:node":"vitest --project node --run","typecheck":"tsc","build:skip":"pnpm exec del-cli dist && tsc --project tsconfig.build.json","docs:build":"pnpm run docs:api && pnpm run docs:build:site","eslint:fix":"eslint . --fix -c eslint.config.js","test:watch":"vitest --project node --watch","bench:micro":"tsx ./tools/benchmarks/microbench.ts","verify:docs":"pnpm run docs:api && pnpm run verify:docs:generated","docs:preview":"astro preview --root docs","test:browser":"vitest --project browser --run","coverage:node":"vitest --project node --run --coverage","coverage:badge":"pnpm run coverage:node && tsx ./tools/generate-coverage-badge.ts","publish:public":"pnpm publish --access public","docs:build:site":"astro build --root docs","vectors:protocol":"tsx ./tools/generate-protocol-vectors.ts","prepublish:public":"pnpm run ci","vectors:threshold":"tsx ./tools/generate-threshold-vectors.ts","verify:h-derivation":"tsx ./tools/verify-h-derivation.ts","guard:no-math-random":"tsx ./tests/guards/check-no-math-random.ts","verify:docs:generated":"tsx ./typedoc/verify-docs.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b499bebc-eef2-47d2-aca4-0a87727578c6"}},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"11.11.0","description":"A browser-native TypeScript ElGamal library for bigint-based research prototypes, shipping additive ElGamal, dealer threshold decryption, VSS, proofs, protocol helpers, transport primitives, and log-driven DKG state machines.","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","readmeFilename":"README.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.8","astro":"^6.1.5","husky":"^9.1.7","eslint":"^10.2.0","vitest":"^4.1.4","del-cli":"^7.0.0","globals":"^17.4.0","typedoc":"^0.28.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","playwright":"^1.59.1","typescript":"^6.0.2","@types/node":"^25.5.2","@astrojs/mdx":"^5.0.3","@eslint/eslintrc":"^3.3.5","@astrojs/starlight":"^0.38.3","@vitest/coverage-v8":"^4.1.4","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","eslint-plugin-prettier":"^5.5.5","typedoc-plugin-markdown":"^4.11.0","eslint-plugin-only-error":"^1.0.2","@fontsource/ibm-plex-sans":"^5.2.8","@fontsource/space-grotesk":"^5.2.10","@typescript-eslint/parser":"^8.58.1","@fontsource/jetbrains-mono":"^5.2.8","@vitest/browser-playwright":"^4.1.4","@typescript-eslint/eslint-plugin":"^8.58.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_1.0.0-beta.3_1775771464516_0.19138920778725166","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.4":{"name":"threshold-elgamal","version":"1.0.0-beta.4","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MPL-2.0","_id":"threshold-elgamal@1.0.0-beta.4","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"591aca16ca70b55c9b8109e11623c64cfe4d5462","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-1.0.0-beta.4.tgz","fileCount":169,"integrity":"sha512-vhNKDjOpG4PZk49iUI0dp/n8TujiwZf7HYort1hwdiAkEE5Dpb5wqtVDZUsHfNIIhm50AzyWjAOeQl0Rlqo6pQ==","signatures":[{"sig":"MEUCIC/QFwe7YQZtqjcwCv3ekEIzrM3QFiNi4u3yMiY/Zuj8AiEAhHysSVTPx/gBDEprUXdsHtgZu+X8lIrRkQA1F1yEvyY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/threshold-elgamal@1.0.0-beta.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":366782},"main":"dist/index.js","pnpm":{"onlyBuiltDependencies":["esbuild","unrs-resolver"]},"type":"module","types":"dist/index.d.ts","engines":{"node":">=24.14.1"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dkg":{"types":"./dist/dkg/index.d.ts","import":"./dist/dkg/index.js"},"./vss":{"types":"./dist/vss/index.d.ts","import":"./dist/vss/index.js"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./proofs":{"types":"./dist/proofs/index.d.ts","import":"./dist/proofs/index.js"},"./elgamal":{"types":"./dist/elgamal/index.d.ts","import":"./dist/elgamal/index.js"},"./runtime":{"types":"./dist/runtime/index.d.ts","import":"./dist/runtime/index.js"},"./protocol":{"types":"./dist/protocol/index.d.ts","import":"./dist/protocol/index.js"},"./serialize":{"types":"./dist/serialize/index.d.ts","import":"./dist/serialize/index.js"},"./threshold":{"types":"./dist/threshold/index.d.ts","import":"./dist/threshold/index.js"},"./transport":{"types":"./dist/transport/index.d.ts","import":"./dist/transport/index.js"},"./transport/advanced":{"types":"./dist/transport/advanced.d.ts","import":"./dist/transport/advanced.js"}},"gitHead":"35ecac2c06b64a2015471bd0b6a7619d546849b5","imports":{"#dkg":"./src/dkg/index.ts","#vss":"./src/vss/index.ts","#core":"./src/core/index.ts","#root":"./src/index.ts","#proofs":"./src/proofs/index.ts","#elgamal":"./src/elgamal/index.ts","#runtime":"./src/runtime/index.ts","#protocol":"./src/protocol/index.ts","#serialize":"./src/serialize/index.ts","#threshold":"./src/threshold/index.ts","#transport":"./src/transport/index.ts","#transport-advanced":"./src/transport/advanced.ts"},"scripts":{"ci":"pnpm run check && pnpm run build:skip && pnpm run verify:docs && pnpm run docs:build:site","tsc":"pnpm run typecheck","lint":"eslint . -c eslint.config.js","test":"pnpm run test:node && pnpm run test:browser","build":"tsc --project tsconfig.build.json","check":"pnpm run lint && pnpm run typecheck && pnpm run guard:no-math-random && pnpm run verify:h-derivation && pnpm run test","eslint":"pnpm run lint","prepare":"husky","docs:api":"pnpm exec del-cli docs/src/content/docs/api/reference && tsx ./node_modules/typedoc/bin/typedoc --options typedoc.config.mjs && tsx ./typedoc/postprocess-site-docs.ts","docs:dev":"pnpm run docs:api && astro dev --root docs","prebuild":"pnpm run check && pnpm exec del-cli dist","bench:dkg":"tsx ./tools/benchmarks/dkg-benchmark.ts","test:node":"vitest --project node --run","typecheck":"tsc","build:skip":"pnpm exec del-cli dist && tsc --project tsconfig.build.json","docs:build":"pnpm run docs:api && pnpm run docs:build:site","eslint:fix":"eslint . --fix -c eslint.config.js","smoke:pack":"tsx ./tools/ci/verify-packed-package.ts","test:watch":"vitest --project node --watch","bench:micro":"tsx ./tools/benchmarks/microbench.ts","verify:docs":"pnpm run docs:api && pnpm run verify:docs:generated","docs:preview":"astro preview --root docs","test:browser":"vitest --project browser --run","coverage:node":"vitest --project node --run --coverage","coverage:badge":"pnpm run coverage:node && tsx ./tools/generate-coverage-badge.ts","publish:public":"pnpm publish --access public","test:node:fast":"tsx ./tools/ci/run-node-test-slice.ts fast","verify:vectors":"tsx ./tools/ci/verify-vectors.ts","docs:build:site":"astro build --root docs","test:node:heavy":"tsx ./tools/ci/run-node-test-slice.ts heavy","ci:release-smoke":"pnpm run ci && pnpm run verify:vectors && pnpm run verify:release-artifacts","vectors:protocol":"tsx ./tools/generate-protocol-vectors.ts","prepublish:public":"pnpm run ci","vectors:threshold":"tsx ./tools/generate-threshold-vectors.ts","verify:h-derivation":"tsx ./tools/verify-h-derivation.ts","guard:no-math-random":"tsx ./tests/guards/check-no-math-random.ts","verify:docs:generated":"tsx ./typedoc/verify-docs.ts","verify:release-artifacts":"pnpm pack --dry-run && pnpm run smoke:pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b499bebc-eef2-47d2-aca4-0a87727578c6"}},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"11.11.0","description":"A browser-native TypeScript ElGamal library for bigint-based research prototypes, shipping additive ElGamal, dealer threshold decryption, VSS, proofs, protocol helpers, transport primitives, and log-driven DKG state machines.","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","readmeFilename":"README.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.8","astro":"^6.1.5","husky":"^9.1.7","eslint":"^10.2.0","vitest":"^4.1.4","del-cli":"^7.0.0","globals":"^17.4.0","typedoc":"^0.28.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","playwright":"^1.59.1","typescript":"^6.0.2","@types/node":"^25.5.2","@astrojs/mdx":"^5.0.3","@eslint/eslintrc":"^3.3.5","@astrojs/starlight":"^0.38.3","@vitest/coverage-v8":"^4.1.4","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","eslint-plugin-prettier":"^5.5.5","typedoc-plugin-markdown":"^4.11.0","eslint-plugin-only-error":"^1.0.2","@fontsource/ibm-plex-sans":"^5.2.8","@fontsource/space-grotesk":"^5.2.10","@typescript-eslint/parser":"^8.58.1","@fontsource/jetbrains-mono":"^5.2.8","@vitest/browser-playwright":"^4.1.4","@typescript-eslint/eslint-plugin":"^8.58.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_1.0.0-beta.4_1775777497399_0.2752289956064293","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.5":{"name":"threshold-elgamal","version":"1.0.0-beta.5","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MPL-2.0","_id":"threshold-elgamal@1.0.0-beta.5","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"a6f711a1c9f418530e500cf9ecaf8547231424a1","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-1.0.0-beta.5.tgz","fileCount":175,"integrity":"sha512-wqDkRIMMqoKReHCXaXC7t5hhcEpTPWsRpW578wJus05J+btSaeaoxDaBo4uPktZBOKE3ENhhSTDYbZdIl+KNNA==","signatures":[{"sig":"MEUCID6bOdZYyvQ2AfBBjaB35+bflZNeZKsQL3+eRfARPm1QAiEArAqfrhBWXEjPa5K27CcicmqZ/c0imrPI48lnlXW4XhA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/threshold-elgamal@1.0.0-beta.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":369003},"main":"dist/index.js","pnpm":{"onlyBuiltDependencies":["esbuild","unrs-resolver"]},"type":"module","types":"dist/index.d.ts","engines":{"node":">=24.14.1"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dkg":{"types":"./dist/dkg/index.d.ts","import":"./dist/dkg/index.js"},"./vss":{"types":"./dist/vss/index.d.ts","import":"./dist/vss/index.js"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./proofs":{"types":"./dist/proofs/index.d.ts","import":"./dist/proofs/index.js"},"./elgamal":{"types":"./dist/elgamal/index.d.ts","import":"./dist/elgamal/index.js"},"./runtime":{"types":"./dist/runtime/index.d.ts","import":"./dist/runtime/index.js"},"./protocol":{"types":"./dist/protocol/index.d.ts","import":"./dist/protocol/index.js"},"./serialize":{"types":"./dist/serialize/index.d.ts","import":"./dist/serialize/index.js"},"./threshold":{"types":"./dist/threshold/index.d.ts","import":"./dist/threshold/index.js"},"./transport":{"types":"./dist/transport/index.d.ts","import":"./dist/transport/index.js"},"./transport/advanced":{"types":"./dist/transport/advanced.d.ts","import":"./dist/transport/advanced.js"}},"gitHead":"683a491e06e47bf09052637c9e3467e0adc6945b","imports":{"#dkg":"./src/dkg/index.ts","#vss":"./src/vss/index.ts","#core":"./src/core/index.ts","#root":"./src/index.ts","#proofs":"./src/proofs/index.ts","#elgamal":"./src/elgamal/index.ts","#runtime":"./src/runtime/index.ts","#protocol":"./src/protocol/index.ts","#serialize":"./src/serialize/index.ts","#threshold":"./src/threshold/index.ts","#transport":"./src/transport/index.ts","#transport-advanced":"./src/transport/advanced.ts"},"scripts":{"ci":"pnpm run check && pnpm run build:skip && pnpm run verify:docs && pnpm run docs:build:site","tsc":"pnpm run typecheck","lint":"eslint . -c eslint.config.js","test":"pnpm run test:node && pnpm run test:browser","build":"tsc --project tsconfig.build.json","check":"pnpm run lint && pnpm run typecheck && pnpm run guard:no-math-random && pnpm run verify:h-derivation && pnpm run test","eslint":"pnpm run lint","prepare":"husky","docs:api":"pnpm exec del-cli docs/src/content/docs/api/reference && tsx ./node_modules/typedoc/bin/typedoc --options typedoc.config.mjs && tsx ./typedoc/postprocess-site-docs.ts","docs:dev":"pnpm run docs:api && astro dev --root docs","prebuild":"pnpm run check && pnpm exec del-cli dist","bench:dkg":"tsx ./tools/benchmarks/dkg-benchmark.ts","test:node":"vitest --project node --run","typecheck":"tsc","build:skip":"pnpm exec del-cli dist && tsc --project tsconfig.build.json","docs:build":"pnpm run docs:api && pnpm run docs:build:site","eslint:fix":"eslint . --fix -c eslint.config.js","smoke:pack":"tsx ./tools/ci/verify-packed-package.ts","test:watch":"vitest --project node --watch","bench:micro":"tsx ./tools/benchmarks/microbench.ts","verify:docs":"pnpm run docs:api && pnpm run verify:docs:generated","docs:preview":"astro preview --root docs","test:browser":"vitest --project browser --run","coverage:node":"vitest --project node --run --coverage","coverage:badge":"pnpm run coverage:node && tsx ./tools/generate-coverage-badge.ts","publish:public":"pnpm publish --access public","test:node:fast":"tsx ./tools/ci/run-node-test-slice.ts fast","verify:vectors":"tsx ./tools/ci/verify-vectors.ts","docs:build:site":"astro build --root docs","test:node:heavy":"tsx ./tools/ci/run-node-test-slice.ts heavy","ci:release-smoke":"pnpm run ci && pnpm run verify:vectors && pnpm run verify:release-artifacts","vectors:protocol":"tsx ./tools/generate-protocol-vectors.ts","prepublish:public":"pnpm run ci","vectors:threshold":"tsx ./tools/generate-threshold-vectors.ts","verify:h-derivation":"tsx ./tools/verify-h-derivation.ts","guard:no-math-random":"tsx ./tests/guards/check-no-math-random.ts","verify:docs:generated":"tsx ./typedoc/verify-docs.ts","verify:release-artifacts":"pnpm pack --dry-run && pnpm run smoke:pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b499bebc-eef2-47d2-aca4-0a87727578c6"}},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"11.11.0","description":"A browser-native TypeScript ElGamal library for Ristretto255-based research prototypes, shipping additive ElGamal, threshold decryption, VSS, proofs, protocol helpers, board auditing, transport primitives, and log-driven DKG state machines.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@noble/curves":"^2.0.1","@noble/hashes":"^2.0.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","readmeFilename":"README.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.8","astro":"^6.1.5","husky":"^9.1.7","eslint":"^10.2.0","vitest":"^4.1.4","del-cli":"^7.0.0","globals":"^17.4.0","typedoc":"^0.28.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","playwright":"^1.59.1","typescript":"^6.0.2","@types/node":"^25.5.2","@astrojs/mdx":"^5.0.3","@eslint/eslintrc":"^3.3.5","@astrojs/starlight":"^0.38.3","@vitest/coverage-v8":"^4.1.4","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","eslint-plugin-prettier":"^5.5.5","typedoc-plugin-markdown":"^4.11.0","eslint-plugin-only-error":"^1.0.2","@fontsource/ibm-plex-sans":"^5.2.8","@fontsource/space-grotesk":"^5.2.10","@typescript-eslint/parser":"^8.58.1","@fontsource/jetbrains-mono":"^5.2.8","@vitest/browser-playwright":"^4.1.4","@typescript-eslint/eslint-plugin":"^8.58.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_1.0.0-beta.5_1775846244809_0.27938866006450014","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.6":{"name":"threshold-elgamal","version":"1.0.0-beta.6","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MPL-2.0","_id":"threshold-elgamal@1.0.0-beta.6","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"d7003be91ca3299862bf9b85d1ba85e13bc6a3c9","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-1.0.0-beta.6.tgz","fileCount":173,"integrity":"sha512-/kIpGLTsQ+dEyoJ75gjmLVdvGVc9ghbwZJo8FZWf2+cpSN2WhqsOV5PxiOB8agAwUIf8TS2Bnou4Q8Xo9g2Wsw==","signatures":[{"sig":"MEUCIQC5/ioHFiZda0pat22iUQhMWz+c130bPxUInY5GaD+vKwIgXqsYA3VFO+ny4MgxDQ+jhsjNPf6htrORw8mQ8f+hpik=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/threshold-elgamal@1.0.0-beta.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":371041},"main":"dist/index.js","pnpm":{"onlyBuiltDependencies":["esbuild","unrs-resolver"]},"type":"module","types":"dist/index.d.ts","engines":{"node":">=24.14.1"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c04e104f6dd0a83b91374e0d4d2eb45e2c0616c1","imports":{"#dkg":"./src/dkg/index.ts","#vss":"./src/vss/index.ts","#core":"./src/core/index.ts","#root":"./src/index.ts","#src/*":"./src/*.ts","#proofs":"./src/proofs/index.ts","#elgamal":"./src/elgamal/index.ts","#runtime":"./src/runtime/index.ts","#protocol":"./src/protocol/index.ts","#serialize":"./src/serialize/index.ts","#threshold":"./src/threshold/index.ts","#transport":"./src/transport/index.ts"},"scripts":{"ci":"pnpm run check && pnpm run build:skip && pnpm run verify:docs && pnpm run docs:build:site","tsc":"pnpm run typecheck","lint":"eslint . -c eslint.config.js","test":"pnpm run test:node && pnpm run test:browser","build":"tsc --project tsconfig.build.json","check":"pnpm run lint && pnpm run typecheck && pnpm run guard:no-math-random && pnpm run verify:h-derivation && pnpm run test","prepare":"husky","docs:api":"pnpm exec del-cli docs/src/content/docs/api/reference && tsx ./node_modules/typedoc/bin/typedoc --options typedoc.config.mjs && tsx ./typedoc/postprocess-site-docs.ts","docs:dev":"pnpm run docs:api && astro dev --root docs","prebuild":"pnpm run check && pnpm exec del-cli dist","bench:dkg":"tsx ./tools/benchmarks/dkg-benchmark.ts","test:node":"vitest --project node --run","typecheck":"tsc","build:skip":"pnpm exec del-cli dist && tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","smoke:pack":"tsx ./tools/ci/verify-packed-package.ts","test:watch":"vitest --project node --watch","bench:micro":"tsx ./tools/benchmarks/microbench.ts","verify:docs":"pnpm run docs:api && pnpm run verify:docs:generated","docs:preview":"astro preview --root docs","test:browser":"vitest --project browser --run","coverage:node":"vitest --project node --run --coverage","coverage:badge":"pnpm run coverage:node && tsx ./tools/generate-coverage-badge.ts","publish:public":"pnpm publish --access public","test:node:fast":"tsx ./tools/ci/run-node-test-slice.ts fast","verify:vectors":"tsx ./tools/ci/verify-vectors.ts","docs:build:site":"pnpm exec del-cli docs/dist && astro build --root docs","test:node:heavy":"tsx ./tools/ci/run-node-test-slice.ts heavy","ci:release-smoke":"pnpm run ci && pnpm run verify:vectors && pnpm run verify:release-artifacts","vectors:protocol":"tsx ./tools/generate-protocol-vectors.ts","prepublish:public":"pnpm run ci","vectors:threshold":"tsx ./tools/generate-threshold-vectors.ts","verify:h-derivation":"tsx ./tools/verify-h-derivation.ts","guard:no-math-random":"tsx ./tests/guards/check-no-math-random.ts","verify:docs:generated":"tsx ./typedoc/verify-docs.ts","verify:release-artifacts":"pnpm pack --dry-run && pnpm run smoke:pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b499bebc-eef2-47d2-aca4-0a87727578c6"}},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"11.11.0","description":"A browser-native TypeScript ElGamal library for Ristretto255-based research prototypes, shipping additive ElGamal, threshold decryption, protocol helpers, board auditing, transport primitives, and log-driven DKG state machines.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@noble/curves":"^2.0.1","@noble/hashes":"^2.0.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","readmeFilename":"README.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.8","astro":"^6.1.5","husky":"^9.1.7","eslint":"^10.2.0","vitest":"^4.1.4","del-cli":"^7.0.0","globals":"^17.4.0","typedoc":"^0.28.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","playwright":"^1.59.1","typescript":"^6.0.2","@types/node":"^25.5.2","@astrojs/mdx":"^5.0.3","@eslint/eslintrc":"^3.3.5","@astrojs/starlight":"^0.38.3","@vitest/coverage-v8":"^4.1.4","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","eslint-plugin-prettier":"^5.5.5","typedoc-plugin-markdown":"^4.11.0","eslint-plugin-only-error":"^1.0.2","@fontsource/ibm-plex-sans":"^5.2.8","@fontsource/space-grotesk":"^5.2.10","@typescript-eslint/parser":"^8.58.1","@fontsource/jetbrains-mono":"^5.2.8","@vitest/browser-playwright":"^4.1.4","@typescript-eslint/eslint-plugin":"^8.58.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_1.0.0-beta.6_1775915535398_0.17671232039913476","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.7":{"name":"threshold-elgamal","version":"1.0.0-beta.7","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MPL-2.0","_id":"threshold-elgamal@1.0.0-beta.7","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"8a88b8f3094ded11ad469513f4deab5ef9a69eba","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-1.0.0-beta.7.tgz","fileCount":167,"integrity":"sha512-iLM0MlPAqTBmjVqYg3pEz3CncRWT/SkT131d68ImlLCQeIDAM1BVJ8L4uQu/kB/ve4KTm3Lq2YU200OEArCFdQ==","signatures":[{"sig":"MEQCIFh3lyAda7Cy0ZXc0rCKb8KybZ5yAgRBUqkBYQ2JkVTeAiBgOKsk+xtkFoNoc7EErDDx94C28GMDGrcM7MYn4Q+AVQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/threshold-elgamal@1.0.0-beta.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":355122},"main":"dist/index.js","pnpm":{"onlyBuiltDependencies":["esbuild","unrs-resolver"]},"type":"module","types":"dist/index.d.ts","engines":{"node":">=24.14.1"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"cc7725989e244815edc9c5c75bdbd7d3469e76a0","imports":{"#dkg":"./src/dkg/index.ts","#vss":"./src/vss/index.ts","#core":"./src/core/index.ts","#root":"./src/index.ts","#src/*":"./src/*.ts","#proofs":"./src/proofs/index.ts","#elgamal":"./src/elgamal/index.ts","#protocol":"./src/protocol/index.ts","#serialize":"./src/serialize/index.ts","#threshold":"./src/threshold/index.ts","#transport":"./src/transport/index.ts"},"scripts":{"ci":"pnpm run check && pnpm run build:skip && pnpm run verify:docs && pnpm run docs:build:site","tsc":"pnpm run typecheck","lint":"eslint . -c eslint.config.js","test":"pnpm run test:node && pnpm run test:browser","build":"tsc --project tsconfig.build.json","check":"pnpm run lint && pnpm run typecheck && pnpm run guard:no-math-random && pnpm run verify:h-derivation && pnpm run test","prepare":"husky","docs:api":"pnpm exec del-cli docs/src/content/docs/api/reference && tsx ./node_modules/typedoc/bin/typedoc --options typedoc.config.mjs && tsx ./typedoc/postprocess-site-docs.ts","docs:dev":"pnpm run docs:api && astro dev --root docs","prebuild":"pnpm run check && pnpm exec del-cli dist","bench:dkg":"tsx ./tools/benchmarks/dkg-benchmark.ts","test:node":"pnpm run build:skip && vitest --project node --run","typecheck":"tsc","build:skip":"pnpm exec del-cli dist && tsc --project tsconfig.build.json","eslint:fix":"eslint . --fix -c eslint.config.js","smoke:pack":"tsx ./tools/ci/verify-packed-package.ts","test:watch":"vitest --project node --watch","bench:micro":"tsx ./tools/benchmarks/microbench.ts","verify:docs":"pnpm run docs:api && pnpm run verify:docs:generated","docs:preview":"astro preview --root docs","test:browser":"pnpm run build:skip && vitest --project browser --run","coverage:node":"vitest --project node --run --coverage","coverage:badge":"pnpm run coverage:node && tsx ./tools/generate-coverage-badge.ts","publish:public":"pnpm publish --access public","test:node:fast":"tsx ./tools/ci/run-node-test-slice.ts fast","verify:vectors":"tsx ./tools/ci/verify-vectors.ts","docs:build:site":"pnpm exec del-cli docs/dist && astro build --root docs","test:node:heavy":"pnpm run build:skip && tsx ./tools/ci/run-node-test-slice.ts heavy","ci:release-smoke":"pnpm run ci && pnpm run verify:vectors && pnpm run verify:release-artifacts","vectors:protocol":"tsx ./tools/generate-protocol-vectors.ts","prepublish:public":"pnpm run ci","vectors:threshold":"tsx ./tools/generate-threshold-vectors.ts","verify:h-derivation":"tsx ./tools/verify-h-derivation.ts","guard:no-math-random":"tsx ./tests/guards/check-no-math-random.ts","verify:docs:generated":"tsx ./typedoc/verify-docs.ts","verify:release-artifacts":"pnpm pack --dry-run && pnpm run smoke:pack"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b499bebc-eef2-47d2-aca4-0a87727578c6"}},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"11.11.0","description":"A browser-native TypeScript ElGamal library for Ristretto255-based research prototypes, shipping additive ElGamal, threshold decryption, protocol helpers, board auditing, transport primitives, and log-driven DKG state machines.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@noble/curves":"^2.0.1","@noble/hashes":"^2.0.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","readmeFilename":"README.md","devDependencies":{"tsx":"^4.21.0","vite":"^8.0.8","astro":"^6.1.5","husky":"^9.1.7","eslint":"^10.2.0","vitest":"^4.1.4","del-cli":"^7.0.0","globals":"^17.4.0","typedoc":"^0.28.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","playwright":"^1.59.1","typescript":"^6.0.2","@types/node":"^25.5.2","@astrojs/mdx":"^5.0.3","@eslint/eslintrc":"^3.3.5","@astrojs/starlight":"^0.38.3","@vitest/coverage-v8":"^4.1.4","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","eslint-plugin-prettier":"^5.5.5","typedoc-plugin-markdown":"^4.11.0","eslint-plugin-only-error":"^1.0.2","@fontsource/ibm-plex-sans":"^5.2.8","@fontsource/space-grotesk":"^5.2.10","@typescript-eslint/parser":"^8.58.1","@fontsource/jetbrains-mono":"^5.2.8","@vitest/browser-playwright":"^4.1.4","@typescript-eslint/eslint-plugin":"^8.58.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_1.0.0-beta.7_1775933455611_0.18358787713266667","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.8":{"name":"threshold-elgamal","version":"1.0.0-beta.8","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MPL-2.0","_id":"threshold-elgamal@1.0.0-beta.8","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"8a3ddbfa7d8357f521219e49cc998562ffa3f83c","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-1.0.0-beta.8.tgz","fileCount":119,"integrity":"sha512-d3hWZKHpOuSSMp12MTJxlqc02Ze1Eb7mW+AYQNndWQ7lOQIrJI2Gh0agLyfw+uANCKpwJhKp7KHXN63bKrVNcg==","signatures":[{"sig":"MEQCIG2bNMVcLlzolnCqNzzvmm9t/jl/c5HzQjzHmy9t6B/gAiBbezJpnhVESGbmRbLMjOTiUs+Sq4/lhUFNd7ZxZqWUew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/threshold-elgamal@1.0.0-beta.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":298167},"main":"dist/index.js","pnpm":{"onlyBuiltDependencies":["esbuild","unrs-resolver"]},"type":"module","types":"dist/index.d.ts","engines":{"node":">=24.14.1"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"33855139077c306d663b49ee3fc81690f1e260c9","imports":{"#vss":"./src/vss/index.ts","#core":"./src/core/index.ts","#root":"./src/index.ts","#src/*":"./src/*.ts","#proofs":"./src/proofs/index.ts","#elgamal":"./src/elgamal/index.ts","#protocol":"./src/protocol/index.ts","#serialize":"./src/serialize/index.ts","#threshold":"./src/threshold/index.ts","#transport":"./src/transport/index.ts"},"scripts":{"tsc":"tsc","lint":"eslint . -c eslint.config.js","test":"vitest --project node --run && vitest --project browser --run","build":"pnpm exec del-cli dist && tsc --project tsconfig.build.json","prepare":"husky","docs:api":"pnpm exec del-cli docs/src/content/docs/api/reference && tsx ./node_modules/typedoc/bin/typedoc --options typedoc.config.mjs && tsx ./typedoc/postprocess-site-docs.ts","docs:dev":"pnpm run docs:api && astro dev --root docs","prebuild":"pnpm run lint && tsc && knip && tsx ./tools/ci/verify-vectors.ts && pnpm run test","bench:dkg":"tsx ./tools/benchmarks/dkg-benchmark.ts","eslint:fix":"eslint . --fix -c eslint.config.js","smoke:pack":"tsx ./tools/ci/verify-packed-package.ts","test:watch":"vitest --project node --watch","bench:micro":"tsx ./tools/benchmarks/microbench.ts","verify:docs":"pnpm run docs:api && tsx ./typedoc/verify-docs.ts","docs:preview":"astro preview --root docs","coverage:node":"vitest --project node --run --coverage","coverage:badge":"pnpm run coverage:node && tsx ./tools/generate-coverage-badge.ts","docs:build:site":"pnpm exec del-cli docs/dist && astro build --root docs --silent","vectors:protocol":"tsx ./tools/generate-protocol-vectors.ts","vectors:threshold":"tsx ./tools/generate-threshold-vectors.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b499bebc-eef2-47d2-aca4-0a87727578c6"}},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"11.11.0","description":"A browser-native TypeScript ElGamal library for Ristretto255-based research prototypes, shipping additive ElGamal, threshold decryption, protocol helpers, board auditing, transport primitives, and log-driven DKG state machines.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@noble/curves":"^2.0.1","@noble/hashes":"^2.0.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","readmeFilename":"README.md","devDependencies":{"tsx":"^4.21.0","knip":"^5.67.0","vite":"^8.0.8","astro":"^6.1.5","husky":"^9.1.7","eslint":"^10.2.0","vitest":"^4.1.4","del-cli":"^7.0.0","globals":"^17.4.0","typedoc":"^0.28.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","playwright":"^1.59.1","typescript":"^6.0.2","@types/node":"^25.5.2","@astrojs/mdx":"^5.0.3","@eslint/eslintrc":"^3.3.5","@astrojs/starlight":"^0.38.3","@vitest/coverage-v8":"^4.1.4","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","eslint-plugin-prettier":"^5.5.5","typedoc-plugin-markdown":"^4.11.0","eslint-plugin-only-error":"^1.0.2","@fontsource/ibm-plex-sans":"^5.2.8","@typescript-eslint/parser":"^8.58.1","@fontsource/jetbrains-mono":"^5.2.8","@vitest/browser-playwright":"^4.1.4","@typescript-eslint/eslint-plugin":"^8.58.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_1.0.0-beta.8_1775957655902_0.8176446496761256","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"threshold-elgamal","version":"1.0.0","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MPL-2.0","_id":"threshold-elgamal@1.0.0","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"520b20b51758fc49eab3bc0df5e81ceb08b7cd72","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-1.0.0.tgz","fileCount":119,"integrity":"sha512-aVvWHuvnTQiMfuA/uwBylV4I/cVAGxZJfrzv/+XcVg0mXrLJR6rIsfRg3jmwSYMbicDfQMXfUYdBxFCGlLDVvg==","signatures":[{"sig":"MEQCICd9ebZRNCUW4DtyGiSSmnoIq68aKx1NLY3Q0hSgZnfBAiBhYNHxBBUgWB9s4F8tcibxIUx1oVIjlaMEOhvotWLg+g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/threshold-elgamal@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":300805},"main":"dist/index.js","pnpm":{"onlyBuiltDependencies":["esbuild","unrs-resolver"]},"type":"module","types":"dist/index.d.ts","engines":{"node":">=24.14.1"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f5595c886e0dcacc35c5184bbfb53a2fc3f03aef","imports":{"#vss":"./src/vss/index.ts","#core":"./src/core/index.ts","#root":"./src/index.ts","#src/*":"./src/*.ts","#proofs":"./src/proofs/index.ts","#elgamal":"./src/elgamal/index.ts","#protocol":"./src/protocol/index.ts","#serialize":"./src/serialize/index.ts","#threshold":"./src/threshold/index.ts","#transport":"./src/transport/index.ts"},"scripts":{"tsc":"tsc","lint":"eslint . -c eslint.config.js","test":"vitest --project node --run && vitest --project browser --run","build":"pnpm exec del-cli dist && tsc --project tsconfig.build.json && tsx ./tools/build/rewrite-dist-relative-imports.ts","prepare":"husky","docs:api":"pnpm exec del-cli docs/src/content/docs/api/reference && tsx ./node_modules/typedoc/bin/typedoc --options typedoc.config.mjs && tsx ./typedoc/postprocess-site-docs.ts","docs:dev":"pnpm run docs:api && astro dev --root docs","prebuild":"pnpm run lint && tsc && knip && tsx ./tools/ci/verify-vectors.ts && pnpm run test","bench:dkg":"tsx ./tools/benchmarks/dkg-benchmark.ts","eslint:fix":"eslint . --fix -c eslint.config.js","smoke:pack":"tsx ./tools/ci/verify-packed-package.ts","test:watch":"vitest --project node --watch","bench:micro":"tsx ./tools/benchmarks/microbench.ts","verify:docs":"pnpm run docs:api && tsx ./typedoc/verify-docs.ts","docs:preview":"astro preview --root docs","coverage:node":"vitest --project node --run --coverage","coverage:badge":"pnpm run coverage:node && tsx ./tools/generate-coverage-badge.ts","docs:build:site":"pnpm exec del-cli docs/dist && astro build --root docs --silent","vectors:protocol":"tsx ./tools/generate-protocol-vectors.ts","vectors:threshold":"tsx ./tools/generate-threshold-vectors.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b499bebc-eef2-47d2-aca4-0a87727578c6"}},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"11.11.0","description":"A browser-native TypeScript ElGamal library for Ristretto255-based research prototypes, shipping additive ElGamal, threshold decryption, protocol helpers, board auditing, transport primitives, and log-driven DKG state machines.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@noble/curves":"^2.0.1","@noble/hashes":"^2.0.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"tsx":"^4.21.0","knip":"^5.67.0","vite":"^8.0.8","astro":"^6.1.5","husky":"^9.1.7","eslint":"^10.2.0","vitest":"^4.1.4","del-cli":"^7.0.0","globals":"^17.4.0","typedoc":"^0.28.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","playwright":"^1.59.1","typescript":"^6.0.2","@types/node":"^25.5.2","@astrojs/mdx":"^5.0.3","@eslint/eslintrc":"^3.3.5","@astrojs/starlight":"^0.38.3","@vitest/coverage-v8":"^4.1.4","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","eslint-plugin-prettier":"^5.5.5","typedoc-plugin-markdown":"^4.11.0","eslint-plugin-only-error":"^1.0.2","@fontsource/ibm-plex-sans":"^5.2.8","@typescript-eslint/parser":"^8.58.1","@fontsource/jetbrains-mono":"^5.2.8","@vitest/browser-playwright":"^4.1.4","@typescript-eslint/eslint-plugin":"^8.58.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_1.0.0_1775960816332_0.5331497584772729","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"threshold-elgamal","version":"1.0.1","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MPL-2.0","_id":"threshold-elgamal@1.0.1","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"326396ebe20edf5e0708387438203c69c8d7a5ee","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-1.0.1.tgz","fileCount":119,"integrity":"sha512-3B1OaupF33ANMfaVGS9TznqnIE+yU+s+QMNf6RInCQ9S8QAD0HRH3rGbI8N+DOZJDlUJh+31sMF2OdLPKOrTCw==","signatures":[{"sig":"MEUCIQDVm9N41O16bsZiBfg+Ax/REJYGNdhNUg3EGKlFkAfrygIgDwpb6KYtaxqHTfp5Pu8kC8ZthklBX7P/IpbU8PWXw3M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/threshold-elgamal@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":302333},"main":"dist/index.js","pnpm":{"onlyBuiltDependencies":["esbuild","unrs-resolver"]},"type":"module","types":"dist/index.d.ts","engines":{"node":">=24.14.1"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"63f848b86eedf1d73067c657115586f676d8a235","imports":{"#vss":"./src/vss/index.ts","#core":"./src/core/index.ts","#root":"./src/index.ts","#src/*":"./src/*.ts","#proofs":"./src/proofs/index.ts","#elgamal":"./src/elgamal/index.ts","#protocol":"./src/protocol/index.ts","#serialize":"./src/serialize/index.ts","#threshold":"./src/threshold/index.ts","#transport":"./src/transport/index.ts"},"scripts":{"tsc":"tsc","lint":"eslint . -c eslint.config.js","test":"vitest --project node --run && vitest --project browser --run","build":"pnpm exec del-cli dist && tsc --project tsconfig.build.json && tsx ./tools/build/rewrite-dist-relative-imports.ts","prepare":"husky","docs:api":"pnpm exec del-cli docs/src/content/docs/api/reference && tsx ./node_modules/typedoc/bin/typedoc --options typedoc.config.mjs && tsx ./typedoc/postprocess-site-docs.ts","docs:dev":"pnpm run docs:api && astro dev --root docs","prebuild":"pnpm run lint && tsc && knip && tsx ./tools/ci/verify-vectors.ts && pnpm run test","bench:dkg":"tsx ./tools/benchmarks/dkg-benchmark.ts","eslint:fix":"eslint . --fix -c eslint.config.js","smoke:pack":"tsx ./tools/ci/verify-packed-package.ts","test:watch":"vitest --project node --watch","bench:micro":"tsx ./tools/benchmarks/microbench.ts","verify:docs":"pnpm run docs:api && tsx ./typedoc/verify-docs.ts","docs:preview":"astro preview --root docs","coverage:node":"vitest --project node --run --coverage","coverage:badge":"pnpm run coverage:node && tsx ./tools/generate-coverage-badge.ts","docs:build:site":"pnpm exec del-cli docs/dist && astro build --root docs --silent","vectors:protocol":"tsx ./tools/generate-protocol-vectors.ts","vectors:threshold":"tsx ./tools/generate-threshold-vectors.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b499bebc-eef2-47d2-aca4-0a87727578c6"}},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"11.11.0","description":"A browser-native TypeScript ElGamal library for Ristretto255-based research prototypes, shipping additive ElGamal, threshold decryption, protocol helpers, board auditing, transport primitives, and log-driven DKG state machines.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@noble/curves":"^2.0.1","@noble/hashes":"^2.0.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"tsx":"^4.21.0","knip":"^5.67.0","vite":"^8.0.8","astro":"^6.1.5","husky":"^9.1.7","eslint":"^10.2.0","vitest":"^4.1.4","del-cli":"^7.0.0","globals":"^17.4.0","typedoc":"^0.28.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","playwright":"^1.59.1","typescript":"^6.0.2","@types/node":"^25.5.2","@astrojs/mdx":"^5.0.3","@eslint/eslintrc":"^3.3.5","@astrojs/starlight":"^0.38.3","@vitest/coverage-v8":"^4.1.4","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","eslint-plugin-prettier":"^5.5.5","typedoc-plugin-markdown":"^4.11.0","eslint-plugin-only-error":"^1.0.2","@fontsource/ibm-plex-sans":"^5.2.8","@typescript-eslint/parser":"^8.58.1","@fontsource/jetbrains-mono":"^5.2.8","@vitest/browser-playwright":"^4.1.4","@typescript-eslint/eslint-plugin":"^8.58.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_1.0.1_1775964519503_0.8625331095848214","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"threshold-elgamal","version":"1.0.2","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MPL-2.0","_id":"threshold-elgamal@1.0.2","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"6445bd3a1a08ecefcb9d2c903cda9175ffeb16b6","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-1.0.2.tgz","fileCount":119,"integrity":"sha512-MxvxNRrENU9N5LoihJpjsfeZZJ2EyTflC45GTTvsCsq2EW2O5MvQOXwTBELEC0nvjA0FtA72S4s2Wz7/ImGXYA==","signatures":[{"sig":"MEYCIQCadIvrKXdOxrYoC5LXtvCoC85MA2syaf6DJOZnHx7eFwIhAMtZnatpZqVjBJ9Xhq3qZtIUxcWpu8pFtfjMDW0Uk0k5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/threshold-elgamal@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":302615},"main":"dist/index.js","pnpm":{"onlyBuiltDependencies":["esbuild","unrs-resolver"]},"type":"module","types":"dist/index.d.ts","engines":{"node":">=24.14.1"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"1acb31f31ba0d57bc6f03d770ba2f06a37478852","imports":{"#vss":"./src/vss/index.ts","#core":"./src/core/index.ts","#root":"./src/index.ts","#src/*":"./src/*.ts","#proofs":"./src/proofs/index.ts","#elgamal":"./src/elgamal/index.ts","#protocol":"./src/protocol/index.ts","#serialize":"./src/serialize/index.ts","#threshold":"./src/threshold/index.ts","#transport":"./src/transport/index.ts"},"scripts":{"tsc":"tsc","lint":"eslint . -c eslint.config.js","test":"pnpm run test:node && pnpm run test:browser","build":"pnpm exec del-cli dist && tsc --project tsconfig.build.json && tsx ./tools/build/rewrite-dist-relative-imports.ts","check":"pnpm run lint && pnpm run tsc && knip && tsx ./tools/ci/verify-vectors.ts","prepare":"husky","docs:api":"pnpm exec del-cli docs/src/content/docs/api/reference && tsx ./node_modules/typedoc/bin/typedoc --options typedoc.config.mjs && tsx ./typedoc/postprocess-site-docs.ts","docs:dev":"pnpm run docs:api && astro dev --root docs","prebuild":"pnpm run check && pnpm run test","bench:dkg":"tsx ./tools/benchmarks/dkg-benchmark.ts","test:node":"vitest --project node --run","eslint:fix":"eslint . --fix -c eslint.config.js","smoke:pack":"tsx ./tools/ci/verify-packed-package.ts","test:watch":"vitest --project node --watch","bench:micro":"tsx ./tools/benchmarks/microbench.ts","verify:docs":"pnpm run docs:api && tsx ./typedoc/verify-docs.ts","docs:preview":"astro preview --root docs","test:browser":"vitest --project browser --run","coverage:node":"vitest --project node --run --coverage","coverage:badge":"pnpm run coverage:node && tsx ./tools/generate-coverage-badge.ts","docs:build:site":"pnpm exec del-cli docs/dist && astro build --root docs --silent","vectors:protocol":"tsx ./tools/generate-protocol-vectors.ts","vectors:threshold":"tsx ./tools/generate-threshold-vectors.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b499bebc-eef2-47d2-aca4-0a87727578c6"}},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"11.11.0","description":"A browser-native TypeScript ElGamal library for Ristretto255-based research prototypes, shipping additive ElGamal, threshold decryption, protocol helpers, board auditing, transport primitives, and log-driven DKG state machines.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@noble/curves":"^2.0.1","@noble/hashes":"^2.0.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"tsx":"^4.21.0","knip":"^5.67.0","vite":"^8.0.8","astro":"^6.1.5","husky":"^9.1.7","eslint":"^10.2.0","vitest":"^4.1.4","del-cli":"^7.0.0","globals":"^17.4.0","typedoc":"^0.28.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","playwright":"^1.59.1","typescript":"^6.0.2","@types/node":"^25.5.2","@astrojs/mdx":"^5.0.3","@eslint/eslintrc":"^3.3.5","@astrojs/starlight":"^0.38.3","@vitest/coverage-v8":"^4.1.4","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","eslint-plugin-prettier":"^5.5.5","typedoc-plugin-markdown":"^4.11.0","eslint-plugin-only-error":"^1.0.2","@fontsource/ibm-plex-sans":"^5.2.8","@typescript-eslint/parser":"^8.58.1","@fontsource/jetbrains-mono":"^5.2.8","@vitest/browser-playwright":"^4.1.4","@typescript-eslint/eslint-plugin":"^8.58.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_1.0.2_1776007275812_0.2688432179970621","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"threshold-elgamal","version":"1.0.5","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MPL-2.0","_id":"threshold-elgamal@1.0.5","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"57021616e0f95e848e2c0480f0d65a0baaa5802b","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-1.0.5.tgz","fileCount":119,"integrity":"sha512-Y72cd3O2E2MaPeLJM8E192k7e+JzWqOdfb6K5y9hOfoHIoOQsmskHyAoQj7qRElPjg0KHhoyAhosw5SJJEADtg==","signatures":[{"sig":"MEQCIFYTl4uwbmsFhp2LJ2fbul/5Xtk3+gYXst/nijP7rL31AiAGUsx1ej1/0OimGhok7EYZi1zacmun/b4vMgi0DrG2xg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/threshold-elgamal@1.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":302615},"main":"dist/index.js","pnpm":{"onlyBuiltDependencies":["esbuild","unrs-resolver"]},"type":"module","_from":"file:.release-artifacts/threshold-elgamal-1.0.5.tgz","types":"dist/index.d.ts","engines":{"node":">=24.14.1"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"imports":{"#vss":"./src/vss/index.ts","#core":"./src/core/index.ts","#root":"./src/index.ts","#src/*":"./src/*.ts","#proofs":"./src/proofs/index.ts","#elgamal":"./src/elgamal/index.ts","#protocol":"./src/protocol/index.ts","#serialize":"./src/serialize/index.ts","#threshold":"./src/threshold/index.ts","#transport":"./src/transport/index.ts"},"scripts":{"tsc":"tsc","lint":"eslint . -c eslint.config.js","test":"pnpm run test:node && pnpm run test:browser","build":"pnpm exec del-cli dist && tsc --project tsconfig.build.json && tsx ./tools/build/rewrite-dist-relative-imports.ts","check":"pnpm run lint && pnpm run tsc && knip && tsx ./tools/ci/verify-vectors.ts","prepare":"husky","docs:api":"pnpm exec del-cli docs/src/content/docs/api/reference && tsx ./node_modules/typedoc/bin/typedoc --options typedoc.config.mjs && tsx ./typedoc/postprocess-site-docs.ts","docs:dev":"pnpm run docs:api && astro dev --root docs","prebuild":"pnpm run check && pnpm run test","bench:dkg":"tsx ./tools/benchmarks/dkg-benchmark.ts","test:node":"vitest --project node --run","eslint:fix":"eslint . --fix -c eslint.config.js","smoke:pack":"tsx ./tools/ci/verify-packed-package.ts","test:watch":"vitest --project node --watch","bench:micro":"tsx ./tools/benchmarks/microbench.ts","verify:docs":"pnpm run docs:api && tsx ./typedoc/verify-docs.ts","docs:preview":"astro preview --root docs","test:browser":"vitest --project browser --run","coverage:node":"vitest --project node --run --coverage","coverage:badge":"pnpm run coverage:node && tsx ./tools/generate-coverage-badge.ts","docs:build:site":"pnpm exec del-cli docs/dist && astro build --root docs --silent","vectors:protocol":"tsx ./tools/generate-protocol-vectors.ts","vectors:threshold":"tsx ./tools/generate-threshold-vectors.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b499bebc-eef2-47d2-aca4-0a87727578c6"}},"_resolved":"/home/runner/work/threshold-elgamal/threshold-elgamal/.release-artifacts/threshold-elgamal-1.0.5.tgz","_integrity":"sha512-Y72cd3O2E2MaPeLJM8E192k7e+JzWqOdfb6K5y9hOfoHIoOQsmskHyAoQj7qRElPjg0KHhoyAhosw5SJJEADtg==","repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"11.11.0","description":"A browser-native TypeScript ElGamal library for Ristretto255-based research prototypes, shipping additive ElGamal, threshold decryption, protocol helpers, board auditing, transport primitives, and log-driven DKG state machines.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@noble/curves":"^2.0.1","@noble/hashes":"^2.0.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"tsx":"^4.21.0","knip":"^5.67.0","vite":"^8.0.8","astro":"^6.1.5","husky":"^9.1.7","eslint":"^10.2.0","vitest":"^4.1.4","del-cli":"^7.0.0","globals":"^17.4.0","typedoc":"^0.28.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","playwright":"^1.59.1","typescript":"^6.0.2","@types/node":"^25.5.2","@astrojs/mdx":"^5.0.3","@eslint/eslintrc":"^3.3.5","@astrojs/starlight":"^0.38.3","@vitest/coverage-v8":"^4.1.4","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","eslint-plugin-prettier":"^5.5.5","typedoc-plugin-markdown":"^4.11.0","eslint-plugin-only-error":"^1.0.2","@fontsource/ibm-plex-sans":"^5.2.8","@typescript-eslint/parser":"^8.58.1","@fontsource/jetbrains-mono":"^5.2.8","@vitest/browser-playwright":"^4.1.4","@typescript-eslint/eslint-plugin":"^8.58.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_1.0.5_1776033331360_0.2733249579054431","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"threshold-elgamal","version":"1.0.7","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MPL-2.0","_id":"threshold-elgamal@1.0.7","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"c92342c8110be01af0f99c1ffc01ba221480a8ed","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-1.0.7.tgz","fileCount":119,"integrity":"sha512-3zTjJVuCq6xBjValmmSz7ddwZwU47PVHq59lhkPh7pXcs+vOFSCkQKZt4IhL91KMb/oywhwbqMo5JU7K0O6CGA==","signatures":[{"sig":"MEUCIGjNV0lCgrvVXRa5ge3gKY4B5Z/wpbGfUeh81PS7CppZAiEAjbhJeFpCId4WgZ77d7czWXdEgZpfrYVKJPxdHQmTSPE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/threshold-elgamal@1.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":302615},"main":"dist/index.js","pnpm":{"onlyBuiltDependencies":["esbuild","unrs-resolver"]},"type":"module","types":"dist/index.d.ts","engines":{"node":">=24.14.1"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"5816acc96b0fbc278b84daba7d7cc6e9a93942ff","imports":{"#vss":"./src/vss/index.ts","#core":"./src/core/index.ts","#root":"./src/index.ts","#src/*":"./src/*.ts","#proofs":"./src/proofs/index.ts","#elgamal":"./src/elgamal/index.ts","#protocol":"./src/protocol/index.ts","#serialize":"./src/serialize/index.ts","#threshold":"./src/threshold/index.ts","#transport":"./src/transport/index.ts"},"scripts":{"tsc":"tsc","lint":"eslint . -c eslint.config.js","test":"pnpm run test:node && pnpm run test:browser","build":"pnpm exec del-cli dist && tsc --project tsconfig.build.json && tsx ./tools/build/rewrite-dist-relative-imports.ts","check":"pnpm run lint && pnpm run tsc && knip && tsx ./tools/ci/verify-vectors.ts","prepare":"husky","docs:api":"pnpm exec del-cli docs/src/content/docs/api/reference && tsx ./node_modules/typedoc/bin/typedoc --options typedoc.config.mjs && tsx ./typedoc/postprocess-site-docs.ts","docs:dev":"pnpm run docs:api && astro dev --root docs","prebuild":"pnpm run check && pnpm run test","bench:dkg":"tsx ./tools/benchmarks/dkg-benchmark.ts","test:node":"vitest --project node --run","eslint:fix":"eslint . --fix -c eslint.config.js","smoke:pack":"tsx ./tools/ci/verify-packed-package.ts","test:watch":"vitest --project node --watch","bench:micro":"tsx ./tools/benchmarks/microbench.ts","verify:docs":"pnpm run docs:api && tsx ./typedoc/verify-docs.ts","docs:preview":"astro preview --root docs","test:browser":"vitest --project browser --run","coverage:node":"vitest --project node --run --coverage","coverage:badge":"pnpm run coverage:node && tsx ./tools/generate-coverage-badge.ts","docs:build:site":"pnpm exec del-cli docs/dist && astro build --root docs --silent","vectors:protocol":"tsx ./tools/generate-protocol-vectors.ts","vectors:threshold":"tsx ./tools/generate-threshold-vectors.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b499bebc-eef2-47d2-aca4-0a87727578c6"}},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"11.11.0","description":"A browser-native TypeScript ElGamal library for Ristretto255-based research prototypes, shipping additive ElGamal, threshold decryption, protocol helpers, board auditing, transport primitives, and log-driven DKG state machines.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@noble/curves":"^2.0.1","@noble/hashes":"^2.0.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"tsx":"^4.21.0","knip":"^5.67.0","vite":"^8.0.8","astro":"^6.1.5","husky":"^9.1.7","eslint":"^10.2.0","vitest":"^4.1.4","del-cli":"^7.0.0","globals":"^17.4.0","typedoc":"^0.28.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","playwright":"^1.59.1","typescript":"^6.0.2","@types/node":"^25.5.2","@astrojs/mdx":"^5.0.3","@eslint/eslintrc":"^3.3.5","@astrojs/starlight":"^0.38.3","@vitest/coverage-v8":"^4.1.4","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","eslint-plugin-prettier":"^5.5.5","typedoc-plugin-markdown":"^4.11.0","eslint-plugin-only-error":"^1.0.2","@fontsource/ibm-plex-sans":"^5.2.8","@typescript-eslint/parser":"^8.58.1","@fontsource/jetbrains-mono":"^5.2.8","@vitest/browser-playwright":"^4.1.4","@typescript-eslint/eslint-plugin":"^8.58.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_1.0.7_1776065352060_0.5371112287795892","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"threshold-elgamal","version":"1.0.8","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MPL-2.0","_id":"threshold-elgamal@1.0.8","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"28e59f4222c92237ad78c3893ee4dea716f06d4c","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-1.0.8.tgz","fileCount":99,"integrity":"sha512-4zWEITASiWe+4BH8sIhy3yA7LJUoCOrAsk42otuHDRnvqhW2oDM8mseL9Rc7g3RTYidXEzqftovCnzlhwK7w7A==","signatures":[{"sig":"MEQCIB0uooKKurlRCcDqscZxauwSF1s1VrC5+t0Y05Lp5IfeAiAvS+WSm86F+MLQ0RPRUAAnD78gJNfudKDwsZD37V6aMA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/threshold-elgamal@1.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":302654},"main":"dist/index.js","pnpm":{"onlyBuiltDependencies":["esbuild","unrs-resolver"]},"type":"module","types":"dist/index.d.ts","engines":{"node":">=24.14.1"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"7c16685e7290acdc598798434bdda164e4d2a549","imports":{"#core":"./src/core/index.ts","#root":"./src/index.ts","#src/*":"./src/*.ts","#serialize":"./src/serialize/encoding.ts"},"scripts":{"tsc":"tsc","lint":"eslint . -c eslint.config.js","test":"pnpm run test:node && pnpm run test:browser","build":"pnpm exec del-cli dist && tsc --project tsconfig.build.json && tsx ./tools/build/rewrite-dist-relative-imports.ts","check":"pnpm run lint && pnpm run tsc && knip && tsx ./tools/ci/verify-vectors.ts","prepare":"husky","docs:api":"pnpm exec del-cli docs/src/content/docs/api/reference && tsx ./node_modules/typedoc/bin/typedoc --options typedoc.config.mjs && tsx ./typedoc/postprocess-site-docs.ts","docs:dev":"pnpm run docs:api && astro dev --root docs","prebuild":"pnpm run check && pnpm run test","bench:dkg":"tsx ./tools/benchmarks/dkg-benchmark.ts","test:node":"vitest --project node --run","eslint:fix":"eslint . --fix -c eslint.config.js","smoke:pack":"tsx ./tools/ci/verify-packed-package.ts","test:watch":"vitest --project node --watch","bench:micro":"tsx ./tools/benchmarks/microbench.ts","verify:docs":"pnpm run docs:api && tsx ./typedoc/verify-docs.ts","docs:preview":"astro preview --root docs","test:browser":"vitest --project browser --run","coverage:node":"vitest --project node --run --coverage","coverage:badge":"pnpm run coverage:node && tsx ./tools/generate-coverage-badge.ts","docs:build:site":"pnpm exec del-cli docs/dist && astro build --root docs --silent","vectors:protocol":"tsx ./tools/generate-protocol-vectors.ts","vectors:threshold":"tsx ./tools/generate-threshold-vectors.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b499bebc-eef2-47d2-aca4-0a87727578c6"}},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"11.11.0","description":"A browser-native TypeScript ElGamal library for Ristretto255-based research prototypes, shipping additive ElGamal, threshold decryption, protocol helpers, board auditing, transport primitives, and log-driven DKG state machines.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@noble/curves":"^2.0.1","@noble/hashes":"^2.0.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"tsx":"^4.21.0","knip":"^5.67.0","vite":"^8.0.8","astro":"^6.1.5","husky":"^9.1.7","eslint":"^10.2.0","vitest":"^4.1.4","del-cli":"^7.0.0","globals":"^17.4.0","typedoc":"^0.28.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","playwright":"^1.59.1","typescript":"^6.0.2","@types/node":"^25.5.2","@astrojs/mdx":"^5.0.3","@eslint/eslintrc":"^3.3.5","@astrojs/starlight":"^0.38.3","@vitest/coverage-v8":"^4.1.4","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","eslint-plugin-prettier":"^5.5.5","typedoc-plugin-markdown":"^4.11.0","eslint-plugin-only-error":"^1.0.2","@fontsource/ibm-plex-sans":"^5.2.8","@typescript-eslint/parser":"^8.58.1","@fontsource/jetbrains-mono":"^5.2.8","@vitest/browser-playwright":"^4.1.4","@typescript-eslint/eslint-plugin":"^8.58.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_1.0.8_1776218444727_0.19442711368159338","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"threshold-elgamal","version":"1.0.9","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MPL-2.0","_id":"threshold-elgamal@1.0.9","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"8c895f1c893a7f68caa7ac177aa8c9bbeaf1cc7c","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-1.0.9.tgz","fileCount":99,"integrity":"sha512-5NRFo5gOOdTWXrvWCunqZhv+9ZNA2UxowL3yOmsFjyJYp+3+KzZqVlVzJ5cgA/eNnYjPOjqM2nphfIOft+a1WA==","signatures":[{"sig":"MEUCIGkibGvEA3W0b/TcVS+2rlP8zzBsWkY+lwphL51za4Q3AiEA21Xa1too89Lg35SEi/ziSZl/l8/BClMujjTqmAnmc7k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/threshold-elgamal@1.0.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":302706},"main":"dist/index.js","pnpm":{"onlyBuiltDependencies":["esbuild","unrs-resolver"]},"type":"module","types":"dist/index.d.ts","engines":{"node":">=24.14.1"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e6eba5c1e20e13280c316536a74e9b1c78bfcbca","imports":{"#core":"./src/core/index.ts","#root":"./src/index.ts","#src/*":"./src/*.ts","#serialize":"./src/serialize/encoding.ts"},"scripts":{"tsc":"tsc","lint":"eslint . -c eslint.config.js","test":"pnpm run test:node && pnpm run test:browser","build":"pnpm exec del-cli dist && tsc --project tsconfig.build.json && tsx ./tools/build/rewrite-dist-relative-imports.ts","check":"pnpm run lint && pnpm run tsc && knip && tsx ./tools/ci/verify-vectors.ts","prepare":"husky","docs:api":"pnpm exec del-cli docs/src/content/docs/api/reference && tsx ./node_modules/typedoc/bin/typedoc --options typedoc.config.mjs && tsx ./typedoc/postprocess-site-docs.ts","docs:dev":"pnpm run docs:api && astro dev --root docs","prebuild":"pnpm run check && pnpm run test","bench:dkg":"tsx ./tools/benchmarks/dkg-benchmark.ts","test:node":"vitest --project node --run","eslint:fix":"eslint . --fix -c eslint.config.js","smoke:pack":"tsx ./tools/ci/verify-packed-package.ts","test:watch":"vitest --project node --watch","bench:micro":"tsx ./tools/benchmarks/microbench.ts","verify:docs":"pnpm run docs:api && tsx ./typedoc/verify-docs.ts","docs:preview":"astro preview --root docs","test:browser":"vitest --project browser --run","coverage:node":"vitest --project node --run --coverage","coverage:badge":"pnpm run coverage:node && tsx ./tools/generate-coverage-badge.ts","docs:build:site":"pnpm exec del-cli docs/dist && astro build --root docs --silent","vectors:protocol":"tsx ./tools/generate-protocol-vectors.ts","vectors:threshold":"tsx ./tools/generate-threshold-vectors.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b499bebc-eef2-47d2-aca4-0a87727578c6"}},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"11.11.0","description":"A browser-native TypeScript ElGamal library for Ristretto255-based research prototypes, shipping additive ElGamal, threshold decryption, protocol helpers, board auditing, transport primitives, and log-driven DKG state machines.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@noble/curves":"^2.0.1","@noble/hashes":"^2.0.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"tsx":"^4.21.0","knip":"^5.67.0","vite":"^8.0.8","astro":"^6.1.5","husky":"^9.1.7","eslint":"^10.2.0","vitest":"^4.1.4","del-cli":"^7.0.0","globals":"^17.4.0","typedoc":"^0.28.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","playwright":"^1.59.1","typescript":"^6.0.2","@types/node":"^25.5.2","@astrojs/mdx":"^5.0.3","@eslint/eslintrc":"^3.3.5","@astrojs/starlight":"^0.38.3","@vitest/coverage-v8":"^4.1.4","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","eslint-plugin-prettier":"^5.5.5","typedoc-plugin-markdown":"^4.11.0","eslint-plugin-only-error":"^1.0.2","@fontsource/ibm-plex-sans":"^5.2.8","@typescript-eslint/parser":"^8.58.1","@fontsource/jetbrains-mono":"^5.2.8","@vitest/browser-playwright":"^4.1.4","@typescript-eslint/eslint-plugin":"^8.58.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_1.0.9_1776221306651_0.7571015555660814","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"threshold-elgamal","version":"1.1.0","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MPL-2.0","_id":"threshold-elgamal@1.1.0","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"500a4acb5cb27e34b623783fdf6200fd22f2c56e","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-1.1.0.tgz","fileCount":113,"integrity":"sha512-gM03bAWfHqRdSuUSLvX3Nw++6rwAIoGT/ZLe+lGZdboRm76TcEcvrbHTthsnPwgvzuDG3Qwochoq2VFfzZfq+A==","signatures":[{"sig":"MEQCIB8f273Ylz1jZqL2YH9vi0ImeH2gAESxviiH8gfQ8whyAiAU1flYx9jMoaxpmyNbr5OFV0AWtQTeQ49qnCPqbnSDfA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/threshold-elgamal@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":325977},"main":"dist/index.js","pnpm":{"onlyBuiltDependencies":["esbuild","unrs-resolver"]},"type":"module","types":"dist/index.d.ts","engines":{"node":">=24.14.1"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dkg":{"types":"./dist/dkg/public.d.ts","import":"./dist/dkg/public.js"},"./vss":{"types":"./dist/vss/public.d.ts","import":"./dist/vss/public.js"},"./core":{"types":"./dist/core/public.d.ts","import":"./dist/core/public.js"},"./proofs":{"types":"./dist/proofs/public.d.ts","import":"./dist/proofs/public.js"},"./elgamal":{"types":"./dist/elgamal/public.d.ts","import":"./dist/elgamal/public.js"},"./protocol":{"types":"./dist/protocol/public.d.ts","import":"./dist/protocol/public.js"},"./threshold":{"types":"./dist/threshold/public.d.ts","import":"./dist/threshold/public.js"}},"gitHead":"6583cee7243dc9f5e73b522c6d55cb6124ac3ac6","imports":{"#core":"./src/core/index.ts","#root":"./src/index.ts","#src/*":"./src/*.ts","#serialize":"./src/serialize/encoding.ts"},"scripts":{"tsc":"tsc","lint":"eslint . -c eslint.config.js","test":"pnpm run test:node && pnpm run test:browser","build":"pnpm exec del-cli dist && tsc --project tsconfig.build.json && tsx ./tools/build/rewrite-dist-relative-imports.ts","check":"pnpm run lint && pnpm run tsc && knip && tsx ./tools/ci/verify-vectors.ts","prepare":"husky","docs:api":"pnpm exec del-cli docs/src/content/docs/api/reference && tsx ./node_modules/typedoc/bin/typedoc --options typedoc.config.mjs && tsx ./typedoc/postprocess-site-docs.ts","docs:dev":"pnpm run docs:api && astro dev --root docs","prebuild":"pnpm run check && pnpm run test","bench:dkg":"tsx ./tools/benchmarks/dkg-benchmark.ts","test:node":"vitest --project node --run","eslint:fix":"eslint . --fix -c eslint.config.js","smoke:pack":"tsx ./tools/ci/verify-packed-package.ts","test:watch":"vitest --project node --watch","bench:micro":"tsx ./tools/benchmarks/microbench.ts","verify:docs":"pnpm run docs:api && tsx ./typedoc/verify-docs.ts","docs:preview":"pnpm run docs:build:site && astro preview --root docs","test:browser":"vitest --project browser --run","coverage:node":"vitest --project node --run --coverage","coverage:badge":"pnpm run coverage:node && tsx ./tools/generate-coverage-badge.ts","docs:build:site":"pnpm run docs:api && pnpm exec del-cli docs/dist && astro build --root docs --silent","vectors:protocol":"tsx ./tools/generate-protocol-vectors.ts","vectors:threshold":"tsx ./tools/generate-threshold-vectors.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b499bebc-eef2-47d2-aca4-0a87727578c6"}},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"11.11.0","description":"A browser-native TypeScript ElGamal library for Ristretto255-based research prototypes, shipping additive ElGamal, threshold decryption, protocol helpers, board auditing, transport primitives, and log-driven DKG state machines.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@noble/curves":"^2.0.1","@noble/hashes":"^2.0.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"tsx":"^4.21.0","knip":"^5.67.0","vite":"^8.0.8","astro":"^6.1.5","husky":"^9.1.7","eslint":"^10.2.0","vitest":"^4.1.4","del-cli":"^7.0.0","globals":"^17.4.0","typedoc":"^0.28.18","prettier":"^3.8.1","@eslint/js":"^10.0.1","playwright":"^1.59.1","typescript":"^6.0.2","@types/node":"^25.5.2","@astrojs/mdx":"^5.0.3","@eslint/eslintrc":"^3.3.5","@astrojs/starlight":"^0.38.3","@vitest/coverage-v8":"^4.1.4","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","eslint-plugin-prettier":"^5.5.5","typedoc-plugin-markdown":"^4.11.0","eslint-plugin-only-error":"^1.0.2","@fontsource/ibm-plex-sans":"^5.2.8","@typescript-eslint/parser":"^8.58.1","@fontsource/jetbrains-mono":"^5.2.8","@vitest/browser-playwright":"^4.1.4","@typescript-eslint/eslint-plugin":"^8.58.1"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_1.1.0_1776283390212_0.8659222208212205","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"threshold-elgamal","version":"2.0.0","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MPL-2.0","_id":"threshold-elgamal@2.0.0","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"db829f3dee43cc5b4491101785a8d8dc97809711","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-2.0.0.tgz","fileCount":115,"integrity":"sha512-BZ8Dt3EDNndVr7I/AmN10rxc1H8JcNoYNJjnMIS4YWAouLE97PClKqScp0Y1bojDq1Bl6seyKZbM2m66Izgykw==","signatures":[{"sig":"MEQCIBclxbk6ZT9zLocTlRmRIrBwroVROOiV5WhNDO558R+yAiBBfgoBsUXbMkFsatYE7FCfP5YtTd3YrBCcup0p78iNIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/threshold-elgamal@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":332488},"main":"dist/index.js","pnpm":{"onlyBuiltDependencies":["esbuild","unrs-resolver"]},"type":"module","types":"dist/index.d.ts","engines":{"node":">=24.14.1"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dkg":{"types":"./dist/dkg/public.d.ts","import":"./dist/dkg/public.js"},"./vss":{"types":"./dist/vss/public.d.ts","import":"./dist/vss/public.js"},"./core":{"types":"./dist/core/public.d.ts","import":"./dist/core/public.js"},"./proofs":{"types":"./dist/proofs/public.d.ts","import":"./dist/proofs/public.js"},"./elgamal":{"types":"./dist/elgamal/public.d.ts","import":"./dist/elgamal/public.js"},"./protocol":{"types":"./dist/protocol/public.d.ts","import":"./dist/protocol/public.js"},"./threshold":{"types":"./dist/threshold/public.d.ts","import":"./dist/threshold/public.js"}},"gitHead":"676b340c624097901a1d6b817d7b9d92db3cf4d4","imports":{"#core":"./src/core/index.ts","#root":"./src/index.ts","#src/*":"./src/*.ts","#serialize":"./src/serialize/encoding.ts"},"scripts":{"tsc":"tsc","lint":"eslint . -c eslint.config.js","test":"pnpm run test:node && pnpm run test:browser","build":"pnpm run build:dist","check":"pnpm run lint && pnpm run tsc && knip && tsx ./tools/ci/verify-vectors.ts","prepare":"husky","docs:api":"pnpm exec del-cli docs/src/content/docs/api/reference && tsx ./node_modules/typedoc/bin/typedoc --options typedoc.config.mjs && tsx ./typedoc/postprocess-site-docs.ts","docs:dev":"pnpm run docs:api && astro dev --root docs","prebuild":"pnpm run check && pnpm run test","bench:dkg":"tsx ./tools/benchmarks/dkg-benchmark.ts","test:node":"vitest --project node --run","build:dist":"pnpm exec del-cli dist && tsc --project tsconfig.build.json && tsx ./tools/build/rewrite-dist-relative-imports.ts","eslint:fix":"eslint . --fix -c eslint.config.js","smoke:pack":"tsx ./tools/ci/verify-packed-package.ts","test:watch":"vitest --project node --watch","bench:micro":"tsx ./tools/benchmarks/microbench.ts","verify:docs":"pnpm run docs:api && tsx ./typedoc/verify-docs.ts","docs:preview":"pnpm run docs:build:site && astro preview --root docs","test:browser":"vitest --project browser --run","coverage:node":"vitest --project node --run --coverage","coverage:badge":"pnpm run coverage:node && tsx ./tools/generate-coverage-badge.ts","docs:build:site":"pnpm run docs:api && pnpm exec del-cli docs/dist && astro build --root docs --silent","vectors:protocol":"tsx ./tools/generate-protocol-vectors.ts","vectors:threshold":"tsx ./tools/generate-threshold-vectors.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b499bebc-eef2-47d2-aca4-0a87727578c6"}},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"11.11.0","description":"A browser-native TypeScript ElGamal library for Ristretto255-based research prototypes, shipping additive ElGamal, threshold decryption, protocol helpers, board auditing, transport primitives, and log-driven DKG state machines.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@noble/curves":"^2.2.0","@noble/hashes":"^2.2.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"tsx":"^4.21.0","knip":"^6.4.1","vite":"^8.0.8","astro":"^6.1.7","husky":"^9.1.7","eslint":"^10.2.0","vitest":"^4.1.4","del-cli":"^7.0.0","globals":"^17.5.0","typedoc":"^0.28.19","prettier":"^3.8.3","@eslint/js":"^10.0.1","playwright":"^1.59.1","typescript":"^6.0.2","@types/node":"^25.6.0","@astrojs/mdx":"^5.0.3","@eslint/eslintrc":"^3.3.5","@astrojs/starlight":"^0.38.3","@vitest/coverage-v8":"^4.1.4","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","eslint-plugin-prettier":"^5.5.5","typedoc-plugin-markdown":"^4.11.0","eslint-plugin-only-error":"^1.0.2","@fontsource/ibm-plex-sans":"^5.2.8","@typescript-eslint/parser":"^8.58.2","@fontsource/jetbrains-mono":"^5.2.8","@vitest/browser-playwright":"^4.1.4","@typescript-eslint/eslint-plugin":"^8.58.2"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_2.0.0_1776304836814_0.7980911866543545","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"threshold-elgamal","version":"2.1.0","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MPL-2.0","_id":"threshold-elgamal@2.1.0","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"66590ab7f357d15464c558f0c4361ae92c3c2337","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-2.1.0.tgz","fileCount":115,"integrity":"sha512-avrxf7WK9loy4f2hELFqM4LFxR5TXq8rx2ujW/nRaQqV5FT+TJtaGKlTau/BQQAMYWyvFDR0+TkMIeu3uLUTmQ==","signatures":[{"sig":"MEUCIQDPwlyfO/NWIxKRrERd0vcLgM6dfopu5CwS4KnncQG+dAIgWVEgFhCTuDhNKxkU5KoTQNv9JONdCnBHgpZjm/IVVt8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/threshold-elgamal@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":334819},"main":"dist/index.js","pnpm":{"onlyBuiltDependencies":["esbuild","unrs-resolver"]},"type":"module","types":"dist/index.d.ts","engines":{"node":">=24.14.1"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dkg":{"types":"./dist/dkg/public.d.ts","import":"./dist/dkg/public.js"},"./vss":{"types":"./dist/vss/public.d.ts","import":"./dist/vss/public.js"},"./core":{"types":"./dist/core/public.d.ts","import":"./dist/core/public.js"},"./proofs":{"types":"./dist/proofs/public.d.ts","import":"./dist/proofs/public.js"},"./elgamal":{"types":"./dist/elgamal/public.d.ts","import":"./dist/elgamal/public.js"},"./protocol":{"types":"./dist/protocol/public.d.ts","import":"./dist/protocol/public.js"},"./threshold":{"types":"./dist/threshold/public.d.ts","import":"./dist/threshold/public.js"}},"gitHead":"a2eceb5482c8c86cb5f0e65ecf96fec6301d872e","imports":{"#core":"./src/core/index.ts","#root":"./src/index.ts","#src/*":"./src/*.ts","#serialize":"./src/serialize/encoding.ts"},"scripts":{"tsc":"tsc","lint":"eslint . -c eslint.config.js","test":"pnpm run test:node && pnpm run test:browser","build":"pnpm run build:dist","check":"pnpm run lint && pnpm run tsc && knip && tsx ./tools/ci/verify-vectors.ts","prepare":"husky","docs:api":"pnpm exec del-cli docs/src/content/docs/api/reference && tsx ./node_modules/typedoc/bin/typedoc --options typedoc.config.mjs && tsx ./typedoc/postprocess-site-docs.ts","docs:dev":"pnpm run docs:api && astro dev --root docs","prebuild":"pnpm run check && pnpm run test","bench:dkg":"tsx ./tools/benchmarks/dkg-benchmark.ts","test:node":"vitest --project node --run","build:dist":"pnpm exec del-cli dist && tsc --project tsconfig.build.json && tsx ./tools/build/rewrite-dist-relative-imports.ts","eslint:fix":"eslint . --fix -c eslint.config.js","smoke:pack":"tsx ./tools/ci/verify-packed-package.ts","test:watch":"vitest --project node --watch","bench:micro":"tsx ./tools/benchmarks/microbench.ts","verify:docs":"pnpm run docs:api && tsx ./typedoc/verify-docs.ts","docs:preview":"pnpm run docs:build:site && astro preview --root docs","test:browser":"vitest --project browser --run","coverage:node":"vitest --project node --run --coverage","coverage:badge":"pnpm run coverage:node && tsx ./tools/generate-coverage-badge.ts","docs:build:site":"pnpm run docs:api && pnpm exec del-cli docs/dist && astro build --root docs --silent","vectors:protocol":"tsx ./tools/generate-protocol-vectors.ts","vectors:threshold":"tsx ./tools/generate-threshold-vectors.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b499bebc-eef2-47d2-aca4-0a87727578c6"}},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"11.11.0","description":"A browser-native TypeScript ElGamal library for Ristretto255-based research prototypes, shipping additive ElGamal, threshold decryption, protocol helpers, board auditing, transport primitives, and log-driven DKG state machines.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@noble/curves":"^2.2.0","@noble/hashes":"^2.2.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"tsx":"^4.21.0","knip":"^6.4.1","vite":"^8.0.8","astro":"^6.1.7","husky":"^9.1.7","eslint":"^10.2.0","vitest":"^4.1.4","del-cli":"^7.0.0","globals":"^17.5.0","typedoc":"^0.28.19","prettier":"^3.8.3","@eslint/js":"^10.0.1","playwright":"^1.59.1","typescript":"^6.0.2","@types/node":"^25.6.0","@astrojs/mdx":"^5.0.3","@eslint/eslintrc":"^3.3.5","@astrojs/starlight":"^0.38.3","@vitest/coverage-v8":"^4.1.4","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","eslint-plugin-prettier":"^5.5.5","typedoc-plugin-markdown":"^4.11.0","eslint-plugin-only-error":"^1.0.2","@fontsource/ibm-plex-sans":"^5.2.8","@typescript-eslint/parser":"^8.58.2","@fontsource/jetbrains-mono":"^5.2.8","@vitest/browser-playwright":"^4.1.4","@typescript-eslint/eslint-plugin":"^8.58.2"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_2.1.0_1776307573436_0.010980386540304643","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"threshold-elgamal","version":"2.2.0","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MPL-2.0","_id":"threshold-elgamal@2.2.0","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"homepage":"https://tenemo.github.io/threshold-elgamal/","bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"dist":{"shasum":"359623d5b1cc3461dbf245af6ce1cdb90e966377","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-2.2.0.tgz","fileCount":115,"integrity":"sha512-fNDixuYfX8TIptKXFGfHtUin1RZrnM/gTjbFHkDhXJxqRepPKYj0xWhkz55IG6OP4hfIQ6Rt5U5qOcMW95iijw==","signatures":[{"sig":"MEYCIQCytr+cBn9GH5tSHc7oxkLnRCSlpGasiiO7OP157dbuRwIhAMm1BRwn4u9qILgNe7UhUKJIz54mmVUxA+ZzaDuPCATD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/threshold-elgamal@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":334819},"main":"dist/index.js","pnpm":{"onlyBuiltDependencies":["esbuild","unrs-resolver"]},"type":"module","types":"dist/index.d.ts","engines":{"node":">=24.14.1"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dkg":{"types":"./dist/dkg/public.d.ts","import":"./dist/dkg/public.js"},"./vss":{"types":"./dist/vss/public.d.ts","import":"./dist/vss/public.js"},"./core":{"types":"./dist/core/public.d.ts","import":"./dist/core/public.js"},"./proofs":{"types":"./dist/proofs/public.d.ts","import":"./dist/proofs/public.js"},"./elgamal":{"types":"./dist/elgamal/public.d.ts","import":"./dist/elgamal/public.js"},"./protocol":{"types":"./dist/protocol/public.d.ts","import":"./dist/protocol/public.js"},"./threshold":{"types":"./dist/threshold/public.d.ts","import":"./dist/threshold/public.js"}},"gitHead":"f898be31ddcef6220f0da2fce7555871688ff1b2","imports":{"#core":"./src/core/index.ts","#root":"./src/index.ts","#src/*":"./src/*.ts","#serialize":"./src/serialize/encoding.ts"},"scripts":{"tsc":"tsc","lint":"eslint . -c eslint.config.js","test":"pnpm run test:node && pnpm run test:browser","build":"pnpm run build:dist","check":"pnpm run lint && pnpm run tsc && knip && tsx ./tools/ci/verify-vectors.ts","prepare":"husky","docs:api":"pnpm exec del-cli docs/src/content/docs/api/reference && tsx ./node_modules/typedoc/bin/typedoc --options typedoc.config.mjs && tsx ./typedoc/postprocess-site-docs.ts","docs:dev":"pnpm run docs:api && astro dev --root docs","prebuild":"pnpm run check && pnpm run test","bench:dkg":"tsx ./tools/benchmarks/dkg-benchmark.ts","test:node":"vitest --project node --run","build:dist":"pnpm exec del-cli dist && tsc --project tsconfig.build.json && tsx ./tools/build/rewrite-dist-relative-imports.ts","eslint:fix":"eslint . --fix -c eslint.config.js","smoke:pack":"tsx ./tools/ci/verify-packed-package.ts","test:watch":"vitest --project node --watch","bench:micro":"tsx ./tools/benchmarks/microbench.ts","verify:docs":"pnpm run docs:api && tsx ./typedoc/verify-docs.ts","docs:preview":"pnpm run docs:build:site && astro preview --root docs","test:browser":"vitest --project browser --run","coverage:node":"vitest --project node --run --coverage","coverage:badge":"pnpm run coverage:node && tsx ./tools/generate-coverage-badge.ts","docs:build:site":"pnpm run docs:api && pnpm exec del-cli docs/dist && astro build --root docs --silent","vectors:protocol":"tsx ./tools/generate-protocol-vectors.ts","vectors:threshold":"tsx ./tools/generate-threshold-vectors.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b499bebc-eef2-47d2-aca4-0a87727578c6"}},"repository":{"url":"git+https://github.com/Tenemo/threshold-elgamal.git","type":"git"},"_npmVersion":"11.11.0","description":"A browser-native TypeScript ElGamal library for Ristretto255-based research prototypes, shipping additive ElGamal, threshold decryption, protocol helpers, board auditing, transport primitives, and log-driven DKG state machines.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@noble/curves":"^2.2.0","@noble/hashes":"^2.2.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"tsx":"^4.21.0","knip":"^6.4.1","vite":"^8.0.8","astro":"^6.1.7","husky":"^9.1.7","eslint":"^10.2.0","vitest":"^4.1.4","del-cli":"^7.0.0","globals":"^17.5.0","typedoc":"^0.28.19","prettier":"^3.8.3","@eslint/js":"^10.0.1","playwright":"^1.59.1","typescript":"^6.0.2","@types/node":"^25.6.0","@astrojs/mdx":"^5.0.3","@eslint/eslintrc":"^3.3.5","@astrojs/starlight":"^0.38.3","@vitest/coverage-v8":"^4.1.4","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","eslint-plugin-prettier":"^5.5.5","typedoc-plugin-markdown":"^4.11.0","eslint-plugin-only-error":"^1.0.2","@fontsource/ibm-plex-sans":"^5.2.8","@typescript-eslint/parser":"^8.58.2","@fontsource/jetbrains-mono":"^5.2.8","@vitest/browser-playwright":"^4.1.4","@typescript-eslint/eslint-plugin":"^8.58.2"},"_npmOperationalInternal":{"tmp":"tmp/threshold-elgamal_2.2.0_1776320224592_0.7844794262990624","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"threshold-elgamal","version":"2.2.1","description":"A browser-native TypeScript ElGamal library for Ristretto255-based research prototypes, shipping additive ElGamal, threshold decryption, protocol helpers, board auditing, transport primitives, and log-driven DKG state machines.","author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MPL-2.0","repository":{"type":"git","url":"git+https://github.com/Tenemo/threshold-elgamal.git"},"bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"homepage":"https://tenemo.github.io/threshold-elgamal/","packageManager":"pnpm@10.33.0","scripts":{"lint":"eslint . -c eslint.config.js","eslint:fix":"eslint . --fix -c eslint.config.js","check":"pnpm run lint && pnpm run tsc && knip && tsx ./tools/ci/verify-vectors.ts","tsc":"tsc","test:node":"vitest --project node --run","test:browser":"vitest --project browser --run","test":"pnpm run test:node && pnpm run test:browser","test:watch":"vitest --project node --watch","coverage:node":"vitest --project node --run --coverage","coverage:badge":"pnpm run coverage:node && tsx ./tools/generate-coverage-badge.ts","smoke:pack":"tsx ./tools/ci/verify-packed-package.ts","prebuild":"pnpm run check && pnpm run test","build:dist":"pnpm exec del-cli dist && tsc --project tsconfig.build.json && tsx ./tools/build/rewrite-dist-relative-imports.ts","build":"pnpm run build:dist","vectors:threshold":"tsx ./tools/generate-threshold-vectors.ts","vectors:protocol":"tsx ./tools/generate-protocol-vectors.ts","bench:micro":"tsx ./tools/benchmarks/microbench.ts","bench:dkg":"tsx ./tools/benchmarks/dkg-benchmark.ts","docs:api":"pnpm exec del-cli docs/src/content/docs/api/reference && tsx ./node_modules/typedoc/bin/typedoc --options typedoc.config.mjs && tsx ./typedoc/postprocess-site-docs.ts","docs:dev":"pnpm run docs:api && astro dev --root docs","docs:build:site":"pnpm run docs:api && pnpm exec del-cli docs/dist && astro build --root docs --silent","docs:preview":"pnpm run docs:build:site && astro preview --root docs","verify:docs":"pnpm run docs:api && tsx ./typedoc/verify-docs.ts","prepare":"husky"},"dependencies":{"@noble/curves":"^2.2.0","@noble/hashes":"^2.2.0"},"devDependencies":{"@astrojs/mdx":"^5.0.3","@astrojs/starlight":"^0.38.3","@eslint/eslintrc":"^3.3.5","@eslint/js":"^10.0.1","@fontsource/ibm-plex-sans":"^5.2.8","@fontsource/jetbrains-mono":"^5.2.8","@types/node":"^25.6.0","@typescript-eslint/eslint-plugin":"^8.58.2","@typescript-eslint/parser":"^8.58.2","@vitest/browser-playwright":"^4.1.4","@vitest/coverage-v8":"^4.1.4","astro":"^6.1.7","del-cli":"^7.0.0","eslint":"^10.2.0","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","eslint-plugin-only-error":"^1.0.2","eslint-plugin-prettier":"^5.5.5","globals":"^17.5.0","husky":"^9.1.7","knip":"^6.4.1","playwright":"^1.59.1","prettier":"^3.8.3","tsx":"^4.21.0","typedoc":"^0.28.19","typedoc-plugin-markdown":"^4.11.0","typescript":"^6.0.2","vite":"^8.0.8","vitest":"^4.1.4"},"main":"dist/index.js","types":"dist/index.d.ts","imports":{"#root":"./src/index.ts","#core":"./src/core/index.ts","#src/*":"./src/*.ts","#serialize":"./src/serialize/encoding.ts"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core/public.d.ts","import":"./dist/core/public.js"},"./elgamal":{"types":"./dist/elgamal/public.d.ts","import":"./dist/elgamal/public.js"},"./proofs":{"types":"./dist/proofs/public.d.ts","import":"./dist/proofs/public.js"},"./threshold":{"types":"./dist/threshold/public.d.ts","import":"./dist/threshold/public.js"},"./dkg":{"types":"./dist/dkg/public.d.ts","import":"./dist/dkg/public.js"},"./vss":{"types":"./dist/vss/public.d.ts","import":"./dist/vss/public.js"},"./protocol":{"types":"./dist/protocol/public.d.ts","import":"./dist/protocol/public.js"}},"engines":{"node":">=24.14.1"},"pnpm":{"onlyBuiltDependencies":["esbuild","unrs-resolver"]},"type":"module","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"gitHead":"75a851e43c52480808a94fbd380869ee885eec67","_id":"threshold-elgamal@2.2.1","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-+pIqig9tgg076zCAWOqTwrfPnWbTC1tdWZs1Ipd4cjqXNT0T92H9hwhbWTMnDk5023Rut41C9uk2TWfaln0HAw==","shasum":"add78e1c1cede6aa8db324a392dcb9647ff4cb39","tarball":"https://registry.npmjs.org/threshold-elgamal/-/threshold-elgamal-2.2.1.tgz","fileCount":115,"unpackedSize":334819,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/threshold-elgamal@2.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGrXKyf5YoSwnkYiqni3/QUTIV239Xmpb3iTDKiXFQl+AiB5bw4saUwLX3kMTlpElpELeLEj/KtMokMOAOvBuLabBQ=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b499bebc-eef2-47d2-aca4-0a87727578c6"}},"directories":{},"maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/threshold-elgamal_2.2.1_1776706938897_0.9357408169135271"},"_hasShrinkwrap":false}},"time":{"created":"2024-04-07T23:51:47.886Z","modified":"2026-04-20T17:42:19.316Z","0.1.0":"2024-04-07T23:51:48.110Z","0.1.1":"2024-04-07T23:52:18.728Z","0.1.2":"2024-04-07T23:52:39.751Z","0.1.3":"2024-04-07T23:54:30.556Z","0.1.4":"2024-04-07T23:56:29.961Z","0.1.5":"2024-04-07T23:59:45.961Z","0.1.6":"2024-04-08T00:03:41.920Z","0.1.7":"2024-04-08T00:09:29.362Z","0.1.8":"2024-04-08T00:12:34.811Z","0.1.9":"2024-04-08T00:26:00.060Z","0.1.10":"2024-04-08T00:27:13.744Z","0.1.11":"2024-04-08T00:37:59.518Z","0.1.12":"2024-04-08T00:38:35.610Z","0.1.13":"2024-04-08T00:40:21.117Z","0.1.14":"2024-04-08T01:14:16.480Z","0.1.15":"2024-04-08T01:20:49.340Z","0.1.16":"2024-04-09T02:30:41.575Z","0.1.17":"2024-04-09T09:33:35.905Z","0.1.18":"2024-04-09T09:43:33.593Z","0.1.19":"2024-04-09T10:16:24.844Z","0.1.20":"2024-04-09T10:30:49.275Z","0.1.21":"2024-04-09T10:40:34.362Z","0.1.22":"2024-04-09T11:18:04.795Z","0.1.23":"2024-04-09T11:35:06.845Z","0.1.24":"2024-04-09T11:39:51.804Z","0.1.25":"2024-04-09T11:44:14.613Z","0.1.26":"2024-04-09T12:41:46.246Z","0.1.27":"2024-04-09T12:53:14.913Z","0.1.28":"2024-04-09T14:27:14.318Z","0.1.29":"2024-04-09T14:41:57.080Z","0.1.30":"2024-04-09T14:50:04.544Z","0.1.31":"2024-04-09T21:02:50.824Z","0.1.32":"2024-04-09T21:04:50.433Z","0.1.33":"2024-04-10T03:12:24.898Z","0.1.34":"2024-04-11T02:02:30.801Z","1.0.0-beta.2":"2026-04-09T17:36:19.401Z","1.0.0-beta.3":"2026-04-09T21:51:04.668Z","1.0.0-beta.4":"2026-04-09T23:31:37.608Z","1.0.0-beta.5":"2026-04-10T18:37:24.939Z","1.0.0-beta.6":"2026-04-11T13:52:15.580Z","1.0.0-beta.7":"2026-04-11T18:50:55.767Z","1.0.0-beta.8":"2026-04-12T01:34:16.030Z","1.0.0":"2026-04-12T02:26:56.449Z","1.0.1":"2026-04-12T03:28:39.663Z","1.0.2":"2026-04-12T15:21:15.986Z","1.0.5":"2026-04-12T22:35:31.508Z","1.0.7":"2026-04-13T07:29:12.248Z","1.0.8":"2026-04-15T02:00:44.937Z","1.0.9":"2026-04-15T02:48:26.836Z","1.1.0":"2026-04-15T20:03:10.361Z","2.0.0":"2026-04-16T02:00:37.298Z","2.1.0":"2026-04-16T02:46:13.648Z","2.2.0":"2026-04-16T06:17:04.774Z","2.2.1":"2026-04-20T17:42:19.064Z"},"bugs":{"url":"https://github.com/Tenemo/threshold-elgamal/issues"},"author":{"name":"Piotr Piech","email":"piotr@piech.dev"},"license":"MPL-2.0","homepage":"https://tenemo.github.io/threshold-elgamal/","keywords":["cryptography","security","encryption","elgamal","threshold-encryption","public-key-encryption","cryptographic-algorithm","distributed-cryptography","secure-communication","typescript-cryptography","data-protection","privacy","key-management","secret-sharing"],"repository":{"type":"git","url":"git+https://github.com/Tenemo/threshold-elgamal.git"},"description":"A browser-native TypeScript ElGamal library for Ristretto255-based research prototypes, shipping additive ElGamal, threshold decryption, protocol helpers, board auditing, transport primitives, and log-driven DKG state machines.","maintainers":[{"name":"tenemo","email":"tenemo@gmail.com"}],"readme":"# threshold-elgamal\n\n[![npm version](https://img.shields.io/npm/v/threshold-elgamal?color=5FA04E)](https://www.npmjs.com/package/threshold-elgamal) [![npm downloads](https://img.shields.io/npm/dm/threshold-elgamal?color=5FA04E)](https://www.npmjs.com/package/threshold-elgamal)\n\n---\n\n[![CI](https://img.shields.io/github/actions/workflow/status/Tenemo/threshold-elgamal/ci.yml?branch=master&label=passing%20tests&color=5FA04E)](https://github.com/Tenemo/threshold-elgamal/actions/workflows/ci.yml)\n[![Tests coverage](https://img.shields.io/endpoint?url=https://tenemo.github.io/threshold-elgamal/coverage-badge.json)](https://tenemo.github.io/threshold-elgamal/coverage-summary.json)\n[![Documentation build](https://img.shields.io/github/actions/workflow/status/Tenemo/threshold-elgamal/pages.yml?branch=master&label=docs&color=5FA04E)](https://github.com/Tenemo/threshold-elgamal/actions/workflows/pages.yml)\n\n---\n\n[![License](https://img.shields.io/github/license/Tenemo/threshold-elgamal)](LICENSE)\n\n`threshold-elgamal` is a browser-native TypeScript library for verifiable score-voting research prototypes. It focuses on one workflow:\n\n- additive ElGamal on `ristretto255`\n- honest-majority GJKR DKG\n- one explicit global contiguous score range per ceremony\n- manifest `scoreRange.max` capped at `100` to keep proofs and tally recovery tractable\n- one public manifest shape: `rosterHash`, `optionList`, and `scoreRange`\n- organizer-signed `ballot-close` before decryption\n- full local recomputation and full ceremony verification from the public board\n\nThis package is library-only. WebSockets, retries, persistence, bulletin-board storage, mobile lifecycle handling, reminders, and organizer UX live in the application.\n\nThis is a hardened research prototype. It has not been audited.\n\n## Installation\n\n```bash\nnpm install threshold-elgamal\n```\n\n## Runtime requirements\n\n- Use ESM imports such as `import { createElectionManifest } from 'threshold-elgamal'`.\n- Browsers need native `bigint` together with Web Crypto.\n- Node must satisfy the package `engines.node` requirement and expose `globalThis.crypto`.\n- Authentication signatures require Web Crypto `Ed25519`.\n- Transport share exchange requires Web Crypto `X25519`.\n\nSee [Runtime and compatibility](https://tenemo.github.io/threshold-elgamal/guides/runtime-and-compatibility/) for environment requirements.\n\n## Documentation\n\n- Homepage: [tenemo.github.io/threshold-elgamal](https://tenemo.github.io/threshold-elgamal/)\n- Getting started: [tenemo.github.io/threshold-elgamal/guides/getting-started](https://tenemo.github.io/threshold-elgamal/guides/getting-started/)\n- Runtime and compatibility: [tenemo.github.io/threshold-elgamal/guides/runtime-and-compatibility](https://tenemo.github.io/threshold-elgamal/guides/runtime-and-compatibility/)\n- Browser and worker usage: [tenemo.github.io/threshold-elgamal/guides/browser-and-worker-usage](https://tenemo.github.io/threshold-elgamal/guides/browser-and-worker-usage/)\n- Honest-majority voting flow: [tenemo.github.io/threshold-elgamal/guides/three-participant-voting-flow](https://tenemo.github.io/threshold-elgamal/guides/three-participant-voting-flow/)\n- Published payload examples: [tenemo.github.io/threshold-elgamal/guides/published-payload-examples](https://tenemo.github.io/threshold-elgamal/guides/published-payload-examples/)\n\n---\n\n- Verifying a public board: [tenemo.github.io/threshold-elgamal/guides/verifying-a-public-board](https://tenemo.github.io/threshold-elgamal/guides/verifying-a-public-board/)\n- Security boundary: [tenemo.github.io/threshold-elgamal/guides/security-and-non-goals](https://tenemo.github.io/threshold-elgamal/guides/security-and-non-goals/)\n- Production voting safety review: [tenemo.github.io/threshold-elgamal/guides/production-voting-safety-review](https://tenemo.github.io/threshold-elgamal/guides/production-voting-safety-review/)\n\n---\n\n- API docs: [tenemo.github.io/threshold-elgamal/api](https://tenemo.github.io/threshold-elgamal/api/)\n\n## Browser support\n\nThe cryptographic browser path is fixed:\n\n- `Ed25519` for protocol payload signatures\n- `X25519` for encrypted share transport\n\n- Use modern browsers that expose Web Crypto `Ed25519`, Web Crypto `X25519`, and native `bigint`\n- Validate your target environments with `pnpm exec tsx ./tools/ci/verify-browser-compat.ts` before deployment\n\nOlder browsers, stale embedded webviews, and runtimes without Web Crypto `X25519` support are not supported.\n\n## Supported workflow\n\nThe supported boardroom flow is:\n\n1. Freeze the roster in the application and hash it with `hashRosterEntries(...)`.\n2. Build the manifest with `createElectionManifest({ rosterHash, optionList, scoreRange })`.\n3. Publish the manifest, registrations, and manifest acceptances.\n4. Run the honest-majority GJKR transcript.\n5. Post ballot payloads for complete scores inside the manifest-declared range.\n6. Post one organizer-signed `ballot-close` payload that freezes which complete ballots are counted.\n7. Post threshold decryption shares and tally publications for the close-selected ballot set.\n8. Verify the whole ceremony with `verifyElectionCeremony(...)`.\n\nThe cryptographic threshold is derived internally from the accepted registration roster:\n\n- `k = ceil(n / 2)`\n- odd participant counts are recommended\n- even participant counts are supported and use `k = n / 2`\n\nThere is no supported `n-of-n` mode and no supported public `k-of-n` configuration.\n\nTranscript verification requires `key-derivation-confirmation` payloads from every qualified participant. In the current design those unanimous confirmations are part of verifier soundness: the library does not implement a public post-Feldman complaint/reconstruction phase, so the DKG verifier is participant-confirmed rather than fully public-data-only. Lowering confirmation acceptance to threshold-many is out of scope unless that missing public consistency machinery is added.\n\nSee [Honest-majority voting flow](https://tenemo.github.io/threshold-elgamal/guides/three-participant-voting-flow/) for the full phase-by-phase transcript.\n\n## Getting started\n\n```typescript\nimport {\n    createElectionManifest,\n    deriveSessionId,\n    hashElectionManifest,\n    hashRosterEntries,\n    majorityThreshold,\n} from \"threshold-elgamal\";\n\nconst rosterHash = await hashRosterEntries([\n    {\n        participantIndex: 1,\n        authPublicKey: \"auth-key-1\",\n        transportPublicKey: \"transport-key-1\",\n    },\n    {\n        participantIndex: 2,\n        authPublicKey: \"auth-key-2\",\n        transportPublicKey: \"transport-key-2\",\n    },\n    {\n        participantIndex: 3,\n        authPublicKey: \"auth-key-3\",\n        transportPublicKey: \"transport-key-3\",\n    },\n]);\n\nconst manifest = createElectionManifest({\n    rosterHash,\n    optionList: [\"Option A\", \"Option B\"],\n    scoreRange: { min: 0, max: 5 },\n});\n\nconst manifestHash = await hashElectionManifest(manifest);\nconst sessionId = await deriveSessionId(\n    manifestHash,\n    rosterHash,\n    \"public-nonce\",\n    \"2026-04-11T12:00:00Z\",\n);\n\nconsole.log(majorityThreshold(3)); // 2\nconsole.log(sessionId.length); // 64\n```\n\nThe example uses `0..5` only as one concrete score range. The supported rule is\none manifest-declared contiguous range with non-negative bounds and\n`scoreRange.max <= 100`.\n\nIf your application consumes a complete public board, start with [Verifying a public board](https://tenemo.github.io/threshold-elgamal/guides/verifying-a-public-board/) and then move directly to the verifier entry point:\n\n```typescript\nimport {\n    tryVerifyElectionCeremony,\n    type VerifyElectionCeremonyInput,\n} from \"threshold-elgamal\";\n\nconst bundle: VerifyElectionCeremonyInput = {\n    manifest,\n    sessionId,\n    dkgTranscript,\n    ballotPayloads,\n    ballotClosePayloads: [ballotClosePayload],\n    decryptionSharePayloads,\n    tallyPublications,\n};\n\nconst result = await tryVerifyElectionCeremony(bundle);\n\nif (!result.ok) {\n    console.error(result.error.stage, result.error.code, result.error.reason);\n} else {\n    console.log(result.verified.perOptionTallies);\n    console.log(result.verified.boardAudit.overall.fingerprint);\n}\n```\n\nPass the full published `ballot-close` slot in `ballotClosePayloads`, even when the normal case is one organizer payload. The verifier audits that slot, collapses only exact retransmissions, and requires exactly one accepted close record.\n\nThe root package exposes the builders and lower-level helpers required for the documented ceremony, including:\n\n- manifest publication\n- registration\n- manifest acceptance\n- phase checkpoints\n- Pedersen commitments\n- encrypted dual-share envelopes\n- Feldman commitments\n- key-derivation confirmations\n- ballot submission\n- ballot close\n- decryption shares\n- tally publication\n\nThe reveal path also works from the root package:\n\n- prepare the accepted aggregate with `prepareAggregateForDecryption(...)`\n- compute each partial share with `createDecryptionShare(...)`\n- prove it with `createDLEQProof(...)`\n- publish it with `createDecryptionSharePayload(...)`\n\nAfter collecting a threshold subset, recover the tally with `combineDecryptionShares(...)` against the prepared aggregate ciphertext.\n\nThe grouped public submodules remain available when you prefer narrower imports by subsystem, but the supported full ceremony does not require them.\n\nFor concrete posted JSON shapes, use [Published payload examples](https://tenemo.github.io/threshold-elgamal/guides/published-payload-examples/).\n\n## Security boundary\n\nThe library is designed for an honest-origin, honest-client, static-adversary setting.\n\nWhat it tries to enforce:\n\n- additive-only tallying on `ristretto255`\n- one explicit global contiguous manifest score range\n- grouped per-option ballot verification\n- mandatory local aggregate recomputation before decryption\n- organizer-visible and auditable ballot cutoff through `ballot-close`\n- end-to-end ceremony verification from signed public payloads\n\nWhat it does not claim:\n\n- coercion resistance\n- receipt-freeness\n- cast-as-intended against a compromised client\n- constant-time JavaScript `bigint` execution\n- production readiness\n\n`ballot-close` is an auditable administrative cutoff, not a fairness proof about board arrival order. The library proves which ballots count, not whether the organizer waited long enough before closing.\n\nFor a production-threat-model verdict that maps these boundaries to the verifier and tests, read the [production voting safety review](https://tenemo.github.io/threshold-elgamal/guides/production-voting-safety-review/).\n\n## Development\n\n```bash\npnpm install\npnpm run lint\npnpm run tsc\npnpm run test\npnpm run coverage:node\npnpm run build\npnpm exec playwright install chromium firefox webkit\npnpm exec tsx ./tools/ci/verify-browser-compat.ts\npnpm run verify:docs\npnpm run docs:build:site\npnpm run smoke:pack\n```\n\n## License\n\nThis project is licensed under MPL-2.0. See [LICENSE](LICENSE).\n","readmeFilename":"README.md"}