{"_id":"amcl-js","_rev":"3-ba5844583e844c6ae481a6d3392e4261","name":"amcl-js","dist-tags":{"latest":"3.1.0"},"versions":{"3.0.0":{"name":"amcl-js","version":"3.0.0","description":"AMCL Library","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"Michael Scott, Alessandro Budroni, Kealan McCusker, Samuele Andreoli"},"license":"Apache License 2.0","dependencies":{"prompt":"^1.0.0"},"gitHead":"5b107f8f5b53ee39abf2fc2e03eecd87dd092fe1","_id":"amcl-js@3.0.0","_nodeVersion":"16.17.0","_npmVersion":"9.3.0","dist":{"integrity":"sha512-zYJNKQeUKGkaitty+LOt1xXudipwnOPsSTgYPbVp3EJx/fSQPyhxYkjJcsdyWeEK1WPE51c7e+U4G0CBX7TcUA==","shasum":"2490944f51d632091d8200a169b271ceb3c59e76","tarball":"https://registry.npmjs.org/amcl-js/-/amcl-js-3.0.0.tgz","fileCount":65,"unpackedSize":1048324,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHjIR6n18zalO2mCmPgMh3emnGUudUXsmhaGkm9P7cLSAiB+LNqQiPZGVQgxPa3T3nTG+xPNaZQBtjrudf8fgX0yLg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2i92ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoaZRAAhiZPiMx0zHMnwYZxjTs5AF5nIVnZ5MyX8M/BP0SylCnM/bNs\r\nMdcqLODDKC1xnfU9QDbX1wyBgWBG7dHPdP25zJqxrHSy0WwZCDemGWAuQu3K\r\nQdbu7wMAYOXl3hebMeYQBi7mWmGk7XIuw6eqIX32veqFOAK9PRa/+f8n3guk\r\nk1uv6MmrKQiTozmQ72fLwjPpHdrkZgWA0sXiF1CFGFHa48a0R7tN3BAoARNO\r\nFTLHyH2A/Gta/IarQ9TA00qYXuiGf4Xi6eYnAacYS9WSAXpmxhKv4XaO+n9A\r\nD2dSRfZ2/gjXxR0F4kVUpSCcSRm3xX6Qq18Z0/abFCjiiJWfbuCJYitttVEr\r\nCXUTNtYfbuJTu+MHr1HpvAl1SRt6NE2f6EJc1Y06oF989YL0bf/0vyegx82J\r\nz7nWCX7q0EA1pQuoayN2UwnokFvaQIoFfZuEz8OzKFtQL6MXhQl6iNYcojLp\r\nus6hmj75b4tnOD8PuVcLnjL2IVBAeVWbg7yMyFOjsLN61OeoZmcmbK21YIk/\r\n6ZQQ+Gj6SYluRl6nblJnONbN9ihdSMuk6PolLZIsuCIwX9VCZYWOHRqYPDUP\r\nxtm9v+/jkbJt5xFTnvcDaEpweibKPnLyht0kcQzF71EMm9MMbVpWA3RL2FLJ\r\ngrpUieC8LTAoTnDx2u/QXFt73NmMB8czO1o=\r\n=d5Ru\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"richardliu","email":"richard.y.liu@berkeley.edu"},"directories":{},"maintainers":[{"name":"richardliu","email":"richard.y.liu@berkeley.edu"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amcl-js_3.0.0_1675243381942_0.9734244439038879"},"_hasShrinkwrap":false},"3.0.1":{"name":"amcl-js","version":"3.0.1","description":"AMCL Library","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"Michael Scott, Alessandro Budroni, Kealan McCusker, Samuele Andreoli"},"license":"Apache License 2.0","dependencies":{"prompt":"^1.0.0"},"gitHead":"7bbc1ca4da6b79c2951bd3f6193f8b6fca03c216","_id":"amcl-js@3.0.1","_nodeVersion":"16.17.0","_npmVersion":"9.3.0","dist":{"integrity":"sha512-M4DZdgkki4Sjql79PpjAE+RE/RqxtaPPxtH9Oq47tyYwoD+j5nUWJf7Zq65Lw2NTUdI9YvBBkH9csjMgCB1BtA==","shasum":"adab638298453e00b7dac269302f3af16938602a","tarball":"https://registry.npmjs.org/amcl-js/-/amcl-js-3.0.1.tgz","fileCount":66,"unpackedSize":1077316,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHY7Ywnfc+gtAH7sl3U/mFcwC2SUIzpz3VGf4GOHa0QLAiEAzD5SJ7GGtcS4qN8pV85NtZHiCCpgavquvl9QGKCe6wc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj6h+tACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpvbw/+P6aN8b+S7xEY3aiAIf9iN/omngrsDHUkdgHRNFZQTcB5UWpa\r\n8ORdXHQlgxui3gBB4ws8nntd+euF1HM71Eyf1fO60+uU8W64X0cAjXi2ZtEe\r\nmJkqouklTVQRwJeWnmw/PLqpBhmERe8GjNP0/Va962e7kH6OCer4rAttcqyh\r\nmzx8+RuwHSc7ksOhiqEGhOLiEVyY/CcWYvnTcRmXLyukjPq4K9lYKJtoVjsw\r\nUD3e6WzXTom4DYEyPjWXczkBCy/0lY50L598W0/NH8J2BGKWorvFZm0fo2vp\r\n0nAQPZFsfyZrpHE2UpAUZ/7v0DQfQMUlxco3H/ajB9C4JrWgw4G/8viPxRAC\r\nI1O8kcXxrHgApRyzJBZNV6Q3szvSJ3hVPFBk9CsoQl76wtFxuvX0PE0pdXQ5\r\nppBv++b8twXRFw4LvpHnt2SPhotsIhCAiXTqwkYwFLCw+TnvI4MIag2n3XRc\r\n29cshRpC6sGZrjCtZ3Vfm8g/28BMX84GWrsuLiwfmMe8tuq+pHIpUQH44xVS\r\nzm6jHdt5fjlxARZqBJY3Ai2BA50c6RKms4jJrnsuwnSRlJtqu1f+hh4Jq55E\r\nwhhkFbjbCYRZB2DrOZliNN+xtTfOzOGogVn/8kj6AP7VjN3OPqr0gRBAkROo\r\ndjxvU44QBLNAdcKku1nBpz8WBCNTwtkmi3E=\r\n=1vtW\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"richardliu","email":"richard.y.liu@berkeley.edu"},"directories":{},"maintainers":[{"name":"richardliu","email":"richard.y.liu@berkeley.edu"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amcl-js_3.0.1_1676287917099_0.1577473947350696"},"_hasShrinkwrap":false},"3.0.2":{"name":"amcl-js","version":"3.0.2","description":"AMCL Library","main":"bundle.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"Michael Scott, Alessandro Budroni, Kealan McCusker, Samuele Andreoli"},"license":"Apache License 2.0","dependencies":{"prompt":"^1.0.0"},"gitHead":"7bbc1ca4da6b79c2951bd3f6193f8b6fca03c216","_id":"amcl-js@3.0.2","_nodeVersion":"16.17.0","_npmVersion":"9.3.0","dist":{"integrity":"sha512-jnFonIds51MwmslwgILQg6UaIktQD8ikQE6X833GGmN8pBEczhRH/4lTM/OU6jmDlYs50F/sdoeMp4zg7AGAvA==","shasum":"7bd766f3424f137a8fd537c6b8925700a262a1a8","tarball":"https://registry.npmjs.org/amcl-js/-/amcl-js-3.0.2.tgz","fileCount":66,"unpackedSize":1077317,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHT2sSNSbvQDt5HaW5KM+9+eGngcBqfjTHVHUQLLbH0wAiABjS6BKtdxKk7cfpGcrVGD81S8xJxvuXcl+E29RRuT2w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj6h/EACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmppIxAAl+4tIjHPlPcpvmUt+tRONZH1KO9AvK6T9a66HfWIfVij1xXW\r\nGcZgONVLCIqqv2DDI1/ZdstvS2FYizTupQOnkl5TqZOsxEomwpfetEP5SldC\r\nr0Fzlwx5ODiCHStFLcQAhWpqnnG1jbR3KqKj1Hq9uT0Oy8Mu17Y3Cz7r9KY0\r\nFPvcmL/XbpuKYtvIZDpwUru+KqEbTSHqL+wuOipu8nSHHmHWUwSciStUvFf8\r\nggDp6hLn+nW/u3emSea6ZhPzT1pJ2cAfCk9UI2k9ayLpJhOniqTw4TcDjWpj\r\nhUsgyZo4VOGjpgPetjf/zSeENlbdRO5SYXhGgMkDfUIGpTG2+q8pxLdYU3aZ\r\nHnf0/8W2sYn8QMVQoKmuGY5I2WkFnsril/VyF/LztDx5gSTNVQK880UgaJY6\r\nFZgbn1lwGWVRONORQ10YLDOW9FF9sPhCdRLBskeDkOy0eL5w0BSQcvLAlwYZ\r\nNEDWVHYFjdrRXwhpCh2OC/maq+vBGqagjlLAUC7GePs924fG9QcwVWNf5AyC\r\nszPEvyFVWvqLF47AvFM3cwYZ+3oIcuq3Y9gBHv64+0duqv+2UqEsIsnU8liR\r\nUKRsX4qbJJK+tlrI4w/Ki7iV6YRgkvglEr0BYu+h7Q6Z3JSdhWkNKD4MwTem\r\nwMWD/QWr5FaJ6Jhwu+zl3YYEvI4RDnMP9pY=\r\n=Qjo+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"richardliu","email":"richard.y.liu@berkeley.edu"},"directories":{},"maintainers":[{"name":"richardliu","email":"richard.y.liu@berkeley.edu"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amcl-js_3.0.2_1676287940496_0.39357319694485815"},"_hasShrinkwrap":false},"3.1.0":{"name":"amcl-js","version":"3.1.0","description":"AMCL Library","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"Michael Scott, Alessandro Budroni, Kealan McCusker, Samuele Andreoli"},"license":"Apache License 2.0","dependencies":{"prompt":"^1.0.0"},"gitHead":"6493d7e5a76017dfe0d6b7cdcfe2553884ade8e3","_id":"amcl-js@3.1.0","_nodeVersion":"16.17.0","_npmVersion":"9.3.0","dist":{"integrity":"sha512-36dd2w+cqK2NPww9w3ATPqbUeFgDHyTgeyXAk9jd7PXQh3uqSIdjiVCiqijIyAMDCzlkXdotkr8Sv0nmd1/UMQ==","shasum":"96ed3c7b18f91bf9ac991843ec9dff45a1ced744","tarball":"https://registry.npmjs.org/amcl-js/-/amcl-js-3.1.0.tgz","fileCount":65,"unpackedSize":1042548,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBT2S4YAw/pWPFBBYN6IYsPAQiR1wFHo+1MhlUkUjqnFAiEAkpxyBGeAMyBhA4A7QAk2EuYslqMEri7abezbbZagfZo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj6/PGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmox/Q/+MXZm+5ThkNzo0oUYDK8zxJRpIi1Xgw01hrnaqJay/W6nNv4F\r\nYI0NY0dCUvWNyng37Zejh1Iq5wI8ctj2AKLX1lSf1MiigKQ0y4bYlvulnrW1\r\nXbDHiQ6BHjqanUBn63HUb4jvKc4e0mRiEw5rmP6q+uXZVGzGJp6V8LyZkWt7\r\nKVCsNjgeFSchX6hIz7+IuELXy+6GQ4XCE/2KkSW4o8dJTnFMIIq4wDceDz5j\r\nhr9KL183A9Yn4Y+6che6ysY/mH7PtgB/JJ64uc1Sp0vHszyYA9hAy8fkmEjk\r\n2hL2PCsXDJ+jL53Ok0EUGsBOd/J0VlDFxAL3VyLaIHNXxlczjxK4FR52HHCW\r\ntFTxRCPvU+sYuO65/fHIuzcRolBaVMVOWSt3pkC9hcq8dKgulng3w0esrWEg\r\n8nWx1sSwIoNtuQ3zl0MdXoYCUyubf94LbZPkz6WRG1JFlK1nmGT5LkCbPb95\r\nvx9pgU5g6tGK+gg4IAR2C632zt4AqbtSJXX6/Egfa0tHgbPJ1Q0dAMNDBCmW\r\nCuUo2qv+f7UHHq5BWQwkES0vsuK3lED9qzDezog28l+11GeMtYjEkk9C1EkI\r\nfuO2B5Hjhj1vcI7FBJp5PHDM2zz/3G2C9ensIgimIkIuvhvvEDsEJmO/9oyo\r\na+trutYqmzlY5bMt6YvJ9k3Qrg//6tGwhrk=\r\n=nid7\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"richardliu","email":"richard.y.liu@berkeley.edu"},"directories":{},"maintainers":[{"name":"richardliu","email":"richard.y.liu@berkeley.edu"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/amcl-js_3.1.0_1676407750276_0.5536325401839248"},"_hasShrinkwrap":false}},"time":{"created":"2023-02-01T09:23:01.942Z","3.0.0":"2023-02-01T09:23:02.169Z","modified":"2023-02-14T20:49:10.622Z","3.0.1":"2023-02-13T11:31:57.331Z","3.0.2":"2023-02-13T11:32:20.768Z","3.1.0":"2023-02-14T20:49:10.517Z"},"maintainers":[{"name":"richardliu","email":"richard.y.liu@berkeley.edu"}],"description":"AMCL Library","keywords":[],"author":{"name":"Michael Scott, Alessandro Budroni, Kealan McCusker, Samuele Andreoli"},"license":"Apache License 2.0","readme":"\nNote that this code does NOT use the Javascript BigInt type, which is not constant time, and hence deprecated for use in cryptography. \n\n-------------------------------------------\n\n# Installation and Testing\n\nSuppose you want to implement ECDH with NIST256 elliptic curve. First you need to initialize the context:\n\n    var ctx = new CTX(\"NIST256\");\n\nthen you can call the functions as follows:\n\n    ctx.ECDH.KEY_PAIR_GENERATE(...);\n    ctx.ECDH.ECPSVDP_DH(...);\n\nIf you need to use more than one elliptic curve in the same program you only need to initialize two different contexts, for example\n\n    var ctx1 = new CTX(\"NIST256\");\n    var ctx2 = new CTX(\"C25519\");\n\nThe following is the list of all elliptic curves supported by MIRACL Core JS\n\n    ['ED25519', 'C25519', 'C41417', 'GOLDILOCKS', 'X448', 'NIST256', 'SECP160R1', 'C1174', 'C1665', 'MDC', 'NIST384','NIST521', 'BRAINPOOL', 'ANSSI', 'HIFIVE', 'JUBJUB', 'NUMS256W', 'SECP256K1','NUMS256E', 'NUMS384W', 'NUMS384E', 'NUMS512W', 'NUMS512E', 'TWEEDLEDUM', 'TWEEDLEDEE', 'BN254', 'BN254CX', 'BLS12383', 'BLS12381', 'FP256BN', 'FP512BN', 'BLS12461', 'BN462', 'BLS24479', 'BLS48556', 'BLS48581', 'BLS48286'];\n\n\nThis library supports also RSA encryption/decryption and RSA signature. The following is a quick example on how to use RSA. First initialize the context\n\n    var ctx = new CTX(\"RSA2048\");\n\nthen you can call the RSA functions as follows:\n\n    ctx.RSA.ENCRYPT(...);\n    ctx.RSA.DECRYPT(...);\n\nThe following is the list of all the RSA security level supported by *MIRACL Core JS*\n\n    ['RSA2048','RSA3072','RSA4096'];\n\n\nMIRACL Core JS supports also SHA256, SHA384, SHA512, SHA3, AES-GCM encryption and a secure random number generator. Those functions are contained in every context initialized with RSA \nor with an elliptic curve. If you want to create a context supporting only those general functions then initialize it with no parameter as follows:\n\n\n    var ctx = new CTX();\n\n-------------------------------------------\n\nTo use this library in Node.js import it as follows:\n\n```javascript\nvar CTX = require('./index.js');\n```\n\nIt is also possible to use it as a npm package. Install it locally into your project with:\n\n    npm install --save <path-to-this-library>\n\nAs an example in React it is possible to install the library with npm and import it with\n\n```javascript\nconst ctx = require('miracl-core-js').CTX;\n```\nAfter the import the library is used as described above.\n\n--------------------------------------\n\n\nTo see some running examples using your favourite browser, navigate to the examples/browser folder, and load for example TestECC.html\n\nAlternatively if using node.js navigate to the examples/node folder, and execute for example\n\n\tnode BenchBN254.js\n\nNote that the optimizer does not like context changes, so the individual benchmarks run faster.\n\nYou might have to wait a few seconds for the benchmarking scripts to complete.\n\nFor TestMPIN the correct PIN number is 1234.\n\n","readmeFilename":"readme.md"}