{"version":3,"sources":["webpack:///./node_modules/diffie-hellman/browser.js","webpack:///./node_modules/diffie-hellman/lib/dh.js","webpack:///./node_modules/diffie-hellman/lib/generatePrime.js"],"names":["primes","DH","ENCODINGS","exports","DiffieHellmanGroup","createDiffieHellmanGroup","getDiffieHellman","mod","prime","Buffer","gen","createDiffieHellman","DiffieHellman","enc","generator","genc","isBuffer","undefined","generatePrime","millerRabin","TWENTYFOUR","BN","ELEVEN","TEN","THREE","SEVEN","randomBytes","setPublicKey","pub","this","_pub","setPrivateKey","priv","_priv","module","primeCache","malleable","setGenerator","__prime","_prime","mont","_primeLen","length","_primeCode","formatReturnValue","bn","buf","toArray","toString","Object","defineProperty","prototype","enumerable","get","hex","join","rem","error","isEven","simpleSieve","fermatTest","test","shrn","cmp","checkPrime","__gen","generateKeys","_gen","toRed","redPow","fromRed","getPublicKey","computeSecret","other","secret","out","getPrime","front","fill","concat","getPrivateKey","getGenerator","findPrime","ONE","TWO","FIVE","FOUR","_getPrimes","res","i","k","sqrt","Math","ceil","j","p","modn","cmpn","red","subn","bits","num","n2","bitLength","ishrn","iadd","testn"],"mappings":"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","file":"vendor.diffie-hellman~008b4089.4eb247bacac0b1484ebb.chunk.js","sourcesContent":["var generatePrime = require('./lib/generatePrime')\nvar primes = require('./lib/primes.json')\n\nvar DH = require('./lib/dh')\n\nfunction getDiffieHellman (mod) {\n var prime = new Buffer(primes[mod].prime, 'hex')\n var gen = new Buffer(primes[mod].gen, 'hex')\n\n return new DH(prime, gen)\n}\n\nvar ENCODINGS = {\n 'binary': true, 'hex': true, 'base64': true\n}\n\nfunction createDiffieHellman (prime, enc, generator, genc) {\n if (Buffer.isBuffer(enc) || ENCODINGS[enc] === undefined) {\n return createDiffieHellman(prime, 'binary', enc, generator)\n }\n\n enc = enc || 'binary'\n genc = genc || 'binary'\n generator = generator || new Buffer([2])\n\n if (!Buffer.isBuffer(generator)) {\n generator = new Buffer(generator, genc)\n }\n\n if (typeof prime === 'number') {\n return new DH(generatePrime(prime, generator), generator, true)\n }\n\n if (!Buffer.isBuffer(prime)) {\n prime = new Buffer(prime, enc)\n }\n\n return new DH(prime, generator, true)\n}\n\nexports.DiffieHellmanGroup = exports.createDiffieHellmanGroup = exports.getDiffieHellman = getDiffieHellman\nexports.createDiffieHellman = exports.DiffieHellman = createDiffieHellman\n","var BN = require('bn.js');\nvar MillerRabin = require('miller-rabin');\nvar millerRabin = new MillerRabin();\nvar TWENTYFOUR = new BN(24);\nvar ELEVEN = new BN(11);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar primes = require('./generatePrime');\nvar randomBytes = require('randombytes');\nmodule.exports = DH;\n\nfunction setPublicKey(pub, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(pub)) {\n pub = new Buffer(pub, enc);\n }\n this._pub = new BN(pub);\n return this;\n}\n\nfunction setPrivateKey(priv, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(priv)) {\n priv = new Buffer(priv, enc);\n }\n this._priv = new BN(priv);\n return this;\n}\n\nvar primeCache = {};\nfunction checkPrime(prime, generator) {\n var gen = generator.toString('hex');\n var hex = [gen, prime.toString(16)].join('_');\n if (hex in primeCache) {\n return primeCache[hex];\n }\n var error = 0;\n\n if (prime.isEven() ||\n !primes.simpleSieve ||\n !primes.fermatTest(prime) ||\n !millerRabin.test(prime)) {\n //not a prime so +1\n error += 1;\n\n if (gen === '02' || gen === '05') {\n // we'd be able to check the generator\n // it would fail so +8\n error += 8;\n } else {\n //we wouldn't be able to test the generator\n // so +4\n error += 4;\n }\n primeCache[hex] = error;\n return error;\n }\n if (!millerRabin.test(prime.shrn(1))) {\n //not a safe prime\n error += 2;\n }\n var rem;\n switch (gen) {\n case '02':\n if (prime.mod(TWENTYFOUR).cmp(ELEVEN)) {\n // unsuidable generator\n error += 8;\n }\n break;\n case '05':\n rem = prime.mod(TEN);\n if (rem.cmp(THREE) && rem.cmp(SEVEN)) {\n // prime mod 10 needs to equal 3 or 7\n error += 8;\n }\n break;\n default:\n error += 4;\n }\n primeCache[hex] = error;\n return error;\n}\n\nfunction DH(prime, generator, malleable) {\n this.setGenerator(generator);\n this.__prime = new BN(prime);\n this._prime = BN.mont(this.__prime);\n this._primeLen = prime.length;\n this._pub = undefined;\n this._priv = undefined;\n this._primeCode = undefined;\n if (malleable) {\n this.setPublicKey = setPublicKey;\n this.setPrivateKey = setPrivateKey;\n } else {\n this._primeCode = 8;\n }\n}\nObject.defineProperty(DH.prototype, 'verifyError', {\n enumerable: true,\n get: function () {\n if (typeof this._primeCode !== 'number') {\n this._primeCode = checkPrime(this.__prime, this.__gen);\n }\n return this._primeCode;\n }\n});\nDH.prototype.generateKeys = function () {\n if (!this._priv) {\n this._priv = new BN(randomBytes(this._primeLen));\n }\n this._pub = this._gen.toRed(this._prime).redPow(this._priv).fromRed();\n return this.getPublicKey();\n};\n\nDH.prototype.computeSecret = function (other) {\n other = new BN(other);\n other = other.toRed(this._prime);\n var secret = other.redPow(this._priv).fromRed();\n var out = new Buffer(secret.toArray());\n var prime = this.getPrime();\n if (out.length < prime.length) {\n var front = new Buffer(prime.length - out.length);\n front.fill(0);\n out = Buffer.concat([front, out]);\n }\n return out;\n};\n\nDH.prototype.getPublicKey = function getPublicKey(enc) {\n return formatReturnValue(this._pub, enc);\n};\n\nDH.prototype.getPrivateKey = function getPrivateKey(enc) {\n return formatReturnValue(this._priv, enc);\n};\n\nDH.prototype.getPrime = function (enc) {\n return formatReturnValue(this.__prime, enc);\n};\n\nDH.prototype.getGenerator = function (enc) {\n return formatReturnValue(this._gen, enc);\n};\n\nDH.prototype.setGenerator = function (gen, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(gen)) {\n gen = new Buffer(gen, enc);\n }\n this.__gen = gen;\n this._gen = new BN(gen);\n return this;\n};\n\nfunction formatReturnValue(bn, enc) {\n var buf = new Buffer(bn.toArray());\n if (!enc) {\n return buf;\n } else {\n return buf.toString(enc);\n }\n}\n","var randomBytes = require('randombytes');\nmodule.exports = findPrime;\nfindPrime.simpleSieve = simpleSieve;\nfindPrime.fermatTest = fermatTest;\nvar BN = require('bn.js');\nvar TWENTYFOUR = new BN(24);\nvar MillerRabin = require('miller-rabin');\nvar millerRabin = new MillerRabin();\nvar ONE = new BN(1);\nvar TWO = new BN(2);\nvar FIVE = new BN(5);\nvar SIXTEEN = new BN(16);\nvar EIGHT = new BN(8);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar ELEVEN = new BN(11);\nvar FOUR = new BN(4);\nvar TWELVE = new BN(12);\nvar primes = null;\n\nfunction _getPrimes() {\n if (primes !== null)\n return primes;\n\n var limit = 0x100000;\n var res = [];\n res[0] = 2;\n for (var i = 1, k = 3; k < limit; k += 2) {\n var sqrt = Math.ceil(Math.sqrt(k));\n for (var j = 0; j < i && res[j] <= sqrt; j++)\n if (k % res[j] === 0)\n break;\n\n if (i !== j && res[j] <= sqrt)\n continue;\n\n res[i++] = k;\n }\n primes = res;\n return res;\n}\n\nfunction simpleSieve(p) {\n var primes = _getPrimes();\n\n for (var i = 0; i < primes.length; i++)\n if (p.modn(primes[i]) === 0) {\n if (p.cmpn(primes[i]) === 0) {\n return true;\n } else {\n return false;\n }\n }\n\n return true;\n}\n\nfunction fermatTest(p) {\n var red = BN.mont(p);\n return TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1) === 0;\n}\n\nfunction findPrime(bits, gen) {\n if (bits < 16) {\n // this is what openssl does\n if (gen === 2 || gen === 5) {\n return new BN([0x8c, 0x7b]);\n } else {\n return new BN([0x8c, 0x27]);\n }\n }\n gen = new BN(gen);\n\n var num, n2;\n\n while (true) {\n num = new BN(randomBytes(Math.ceil(bits / 8)));\n while (num.bitLength() > bits) {\n num.ishrn(1);\n }\n if (num.isEven()) {\n num.iadd(ONE);\n }\n if (!num.testn(1)) {\n num.iadd(TWO);\n }\n if (!gen.cmp(TWO)) {\n while (num.mod(TWENTYFOUR).cmp(ELEVEN)) {\n num.iadd(FOUR);\n }\n } else if (!gen.cmp(FIVE)) {\n while (num.mod(TEN).cmp(THREE)) {\n num.iadd(FOUR);\n }\n }\n n2 = num.shrn(1);\n if (simpleSieve(n2) && simpleSieve(num) &&\n fermatTest(n2) && fermatTest(num) &&\n millerRabin.test(n2) && millerRabin.test(num)) {\n return num;\n }\n }\n\n}\n"],"sourceRoot":""}