1 line
18 KiB
JSON
1 line
18 KiB
JSON
{"ast":null,"code":"'use strict';\n\nvar curves = exports;\n\nvar hash = require('hash.js');\n\nvar curve = require('./curve');\n\nvar utils = require('./utils');\n\nvar assert = utils.assert;\n\nfunction PresetCurve(options) {\n if (options.type === 'short') this.curve = new curve.short(options);else if (options.type === 'edwards') this.curve = new curve.edwards(options);else this.curve = new curve.mont(options);\n this.g = this.curve.g;\n this.n = this.curve.n;\n this.hash = options.hash;\n assert(this.g.validate(), 'Invalid curve');\n assert(this.g.mul(this.n).isInfinity(), 'Invalid curve, G*N != O');\n}\n\ncurves.PresetCurve = PresetCurve;\n\nfunction defineCurve(name, options) {\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n get: function () {\n var curve = new PresetCurve(options);\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n value: curve\n });\n return curve;\n }\n });\n}\n\ndefineCurve('p192', {\n type: 'short',\n prime: 'p192',\n p: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc',\n b: '64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1',\n n: 'ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831',\n hash: hash.sha256,\n gRed: false,\n g: ['188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012', '07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811']\n});\ndefineCurve('p224', {\n type: 'short',\n prime: 'p224',\n p: 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe',\n b: 'b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4',\n n: 'ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d',\n hash: hash.sha256,\n gRed: false,\n g: ['b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21', 'bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34']\n});\ndefineCurve('p256', {\n type: 'short',\n prime: null,\n p: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff',\n a: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc',\n b: '5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b',\n n: 'ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551',\n hash: hash.sha256,\n gRed: false,\n g: ['6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296', '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5']\n});\ndefineCurve('p384', {\n type: 'short',\n prime: null,\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' + 'fffffffe ffffffff 00000000 00000000 ffffffff',\n a: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' + 'fffffffe ffffffff 00000000 00000000 fffffffc',\n b: 'b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f ' + '5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef',\n n: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 ' + 'f4372ddf 581a0db2 48b0a77a ecec196a ccc52973',\n hash: hash.sha384,\n gRed: false,\n g: ['aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 ' + '5502f25d bf55296c 3a545e38 72760ab7', '3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 ' + '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f']\n});\ndefineCurve('p521', {\n type: 'short',\n prime: null,\n p: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' + 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' + 'ffffffff ffffffff ffffffff ffffffff ffffffff',\n a: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' + 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' + 'ffffffff ffffffff ffffffff ffffffff fffffffc',\n b: '00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b ' + '99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd ' + '3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00',\n n: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' + 'ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 ' + 'f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409',\n hash: hash.sha512,\n gRed: false,\n g: ['000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 ' + '053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 ' + 'a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66', '00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 ' + '579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 ' + '3fad0761 353c7086 a272c240 88be9476 9fd16650']\n});\ndefineCurve('curve25519', {\n type: 'mont',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '76d06',\n b: '1',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: ['9']\n});\ndefineCurve('ed25519', {\n type: 'edwards',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '-1',\n c: '1',\n // -121665 * (121666^(-1)) (mod P)\n d: '52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: ['216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a', // 4/5\n '6666666666666666666666666666666666666666666666666666666666666658']\n});\nvar pre;\n\ntry {\n pre = require('./precomputed/secp256k1');\n} catch (e) {\n pre = undefined;\n}\n\ndefineCurve('secp256k1', {\n type: 'short',\n prime: 'k256',\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f',\n a: '0',\n b: '7',\n n: 'ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141',\n h: '1',\n hash: hash.sha256,\n // Precomputed endomorphism\n beta: '7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee',\n lambda: '5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72',\n basis: [{\n a: '3086d221a7d46bcde86c90e49284eb15',\n b: '-e4437ed6010e88286f547fa90abfe4c3'\n }, {\n a: '114ca50f7a8e2f3f657c1108d9d44cfd8',\n b: '3086d221a7d46bcde86c90e49284eb15'\n }],\n gRed: false,\n g: ['79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798', '483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8', pre]\n});","map":{"version":3,"sources":["/Users/tylerkoenig/Code/personal/react-scss2/node_modules/elliptic/lib/elliptic/curves.js"],"names":["curves","exports","hash","require","curve","utils","assert","PresetCurve","options","type","short","edwards","mont","g","n","validate","mul","isInfinity","defineCurve","name","Object","defineProperty","configurable","enumerable","get","value","prime","p","a","b","sha256","gRed","sha384","sha512","c","d","pre","e","undefined","h","beta","lambda","basis"],"mappings":"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","sourcesContent":["'use strict';\n\nvar curves = exports;\n\nvar hash = require('hash.js');\nvar curve = require('./curve');\nvar utils = require('./utils');\n\nvar assert = utils.assert;\n\nfunction PresetCurve(options) {\n if (options.type === 'short')\n this.curve = new curve.short(options);\n else if (options.type === 'edwards')\n this.curve = new curve.edwards(options);\n else\n this.curve = new curve.mont(options);\n this.g = this.curve.g;\n this.n = this.curve.n;\n this.hash = options.hash;\n\n assert(this.g.validate(), 'Invalid curve');\n assert(this.g.mul(this.n).isInfinity(), 'Invalid curve, G*N != O');\n}\ncurves.PresetCurve = PresetCurve;\n\nfunction defineCurve(name, options) {\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n get: function() {\n var curve = new PresetCurve(options);\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n value: curve,\n });\n return curve;\n },\n });\n}\n\ndefineCurve('p192', {\n type: 'short',\n prime: 'p192',\n p: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc',\n b: '64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1',\n n: 'ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831',\n hash: hash.sha256,\n gRed: false,\n g: [\n '188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012',\n '07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811',\n ],\n});\n\ndefineCurve('p224', {\n type: 'short',\n prime: 'p224',\n p: 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe',\n b: 'b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4',\n n: 'ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d',\n hash: hash.sha256,\n gRed: false,\n g: [\n 'b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21',\n 'bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34',\n ],\n});\n\ndefineCurve('p256', {\n type: 'short',\n prime: null,\n p: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff',\n a: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc',\n b: '5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b',\n n: 'ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551',\n hash: hash.sha256,\n gRed: false,\n g: [\n '6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296',\n '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5',\n ],\n});\n\ndefineCurve('p384', {\n type: 'short',\n prime: null,\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 ffffffff',\n a: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 fffffffc',\n b: 'b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f ' +\n '5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef',\n n: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 ' +\n 'f4372ddf 581a0db2 48b0a77a ecec196a ccc52973',\n hash: hash.sha384,\n gRed: false,\n g: [\n 'aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 ' +\n '5502f25d bf55296c 3a545e38 72760ab7',\n '3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 ' +\n '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f',\n ],\n});\n\ndefineCurve('p521', {\n type: 'short',\n prime: null,\n p: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff',\n a: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff fffffffc',\n b: '00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b ' +\n '99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd ' +\n '3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00',\n n: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 ' +\n 'f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409',\n hash: hash.sha512,\n gRed: false,\n g: [\n '000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 ' +\n '053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 ' +\n 'a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66',\n '00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 ' +\n '579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 ' +\n '3fad0761 353c7086 a272c240 88be9476 9fd16650',\n ],\n});\n\ndefineCurve('curve25519', {\n type: 'mont',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '76d06',\n b: '1',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '9',\n ],\n});\n\ndefineCurve('ed25519', {\n type: 'edwards',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '-1',\n c: '1',\n // -121665 * (121666^(-1)) (mod P)\n d: '52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a',\n\n // 4/5\n '6666666666666666666666666666666666666666666666666666666666666658',\n ],\n});\n\nvar pre;\ntry {\n pre = require('./precomputed/secp256k1');\n} catch (e) {\n pre = undefined;\n}\n\ndefineCurve('secp256k1', {\n type: 'short',\n prime: 'k256',\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f',\n a: '0',\n b: '7',\n n: 'ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141',\n h: '1',\n hash: hash.sha256,\n\n // Precomputed endomorphism\n beta: '7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee',\n lambda: '5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72',\n basis: [\n {\n a: '3086d221a7d46bcde86c90e49284eb15',\n b: '-e4437ed6010e88286f547fa90abfe4c3',\n },\n {\n a: '114ca50f7a8e2f3f657c1108d9d44cfd8',\n b: '3086d221a7d46bcde86c90e49284eb15',\n },\n ],\n\n gRed: false,\n g: [\n '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798',\n '483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8',\n pre,\n ],\n});\n"]},"metadata":{},"sourceType":"script"} |