{"version":3,"sources":["webpack:///./node_modules/browserify-aes/browser.js","webpack:///./node_modules/browserify-aes/modes/ecb.js","webpack:///./node_modules/browserify-aes/streamCipher.js","webpack:///./node_modules/browserify-aes/modes/cfb.js","webpack:///./node_modules/browserify-aes/aes.js","webpack:///./node_modules/browserify-aes/ghash.js","webpack:///./node_modules/browserify-aes/decrypter.js","webpack:///./node_modules/browserify-aes/modes/ofb.js","webpack:///./node_modules/browserify-aes/modes/cfb1.js","webpack:///./node_modules/browserify-aes/modes/cfb8.js","webpack:///./node_modules/browserify-aes/modes/ctr.js","webpack:///./node_modules/browserify-aes/authCipher.js","webpack:///./node_modules/browserify-aes/encrypter.js","webpack:///./node_modules/browserify-aes/modes/index.js","webpack:///./node_modules/browserify-aes/incr32.js","webpack:///./node_modules/browserify-aes/modes/cbc.js"],"names":["ciphers","deciphers","modes","exports","createCipher","Cipher","createCipheriv","Cipheriv","createDecipher","Decipher","createDecipheriv","Decipheriv","listCiphers","getCiphers","Object","keys","encrypt","self","block","_cipher","encryptBlock","decrypt","decryptBlock","aes","Buffer","Transform","StreamCipher","mode","key","iv","call","this","AES","_prev","from","_cache","allocUnsafe","_secCache","_decrypt","_mode","inherits","prototype","_update","chunk","_final","scrub","module","xor","encryptStart","data","len","length","out","slice","concat","asUInt32Array","buf","isBuffer","Array","i","readUInt32BE","scrubVec","v","cryptBlock","M","keySchedule","SUB_MIX","SBOX","nRounds","t0","t1","t2","t3","SUB_MIX0","SUB_MIX1","SUB_MIX2","SUB_MIX3","s0","s1","s2","s3","ksRow","round","RCON","G","d","j","INV_SBOX","INV_SUB_MIX","x","xi","sx","x2","x4","x8","t","_key","_reset","blockSize","keySize","keyWords","ksRows","k","invKeySchedule","ik","ksR","tt","_nRounds","_keySchedule","_invKeySchedule","encryptBlockRaw","writeUInt32BE","m1","ZEROES","alloc","fromArray","GHASH","h","state","cache","ghash","_multiply","lsbVi","Vi","Zi","update","final","abl","bl","AuthCipher","MODES","ebtk","Splitter","_last","_autopadding","suite","password","config","toLowerCase","TypeError","type","thing","add","get","push","flush","last","padded","Error","unpad","setAutoPadding","setTo","autoPadding","getBlock","pad","encryptByte","byteParam","bit","value","shiftIn","buffer","incr32","chunkNum","Math","ceil","start","offset","ck","_ghash","_finID","toPad","ivBits","tail","writeUIntBE","calcIv","_alen","_len","_authTag","_called","rump","tag","a","b","min","xorTest","getAuthTag","setAuthTag","setAAD","PADDING","equals","padBuff","writeUInt8","modeModules","ECB","CBC","CFB","CFB8","CFB1","OFB","CTR","GCM","item","readUInt8"],"mappings":"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","file":"vendor.browserify-aes~048adfc0.9a8b8e56d4332f9fe9c5.chunk.js","sourcesContent":["var ciphers = require('./encrypter')\nvar deciphers = require('./decrypter')\nvar modes = require('./modes/list.json')\n\nfunction getCiphers () {\n return Object.keys(modes)\n}\n\nexports.createCipher = exports.Cipher = ciphers.createCipher\nexports.createCipheriv = exports.Cipheriv = ciphers.createCipheriv\nexports.createDecipher = exports.Decipher = deciphers.createDecipher\nexports.createDecipheriv = exports.Decipheriv = deciphers.createDecipheriv\nexports.listCiphers = exports.getCiphers = getCiphers\n","exports.encrypt = function (self, block) {\n return self._cipher.encryptBlock(block)\n}\n\nexports.decrypt = function (self, block) {\n return self._cipher.decryptBlock(block)\n}\n","var aes = require('./aes')\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('cipher-base')\nvar inherits = require('inherits')\n\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._mode = mode\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n return this._mode.encrypt(this, chunk, this._decrypt)\n}\n\nStreamCipher.prototype._final = function () {\n this._cipher.scrub()\n}\n\nmodule.exports = StreamCipher\n","var Buffer = require('safe-buffer').Buffer\nvar xor = require('buffer-xor')\n\nfunction encryptStart (self, data, decrypt) {\n var len = data.length\n var out = xor(data, self._cache)\n self._cache = self._cache.slice(len)\n self._prev = Buffer.concat([self._prev, decrypt ? data : out])\n return out\n}\n\nexports.encrypt = function (self, data, decrypt) {\n var out = Buffer.allocUnsafe(0)\n var len\n\n while (data.length) {\n if (self._cache.length === 0) {\n self._cache = self._cipher.encryptBlock(self._prev)\n self._prev = Buffer.allocUnsafe(0)\n }\n\n if (self._cache.length <= data.length) {\n len = self._cache.length\n out = Buffer.concat([out, encryptStart(self, data.slice(0, len), decrypt)])\n data = data.slice(len)\n } else {\n out = Buffer.concat([out, encryptStart(self, data, decrypt)])\n break\n }\n }\n\n return out\n}\n","// based on the aes implimentation in triple sec\n// https://github.com/keybase/triplesec\n// which is in turn based on the one from crypto-js\n// https://code.google.com/p/crypto-js/\n\nvar Buffer = require('safe-buffer').Buffer\n\nfunction asUInt32Array (buf) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n\n var len = (buf.length / 4) | 0\n var out = new Array(len)\n\n for (var i = 0; i < len; i++) {\n out[i] = buf.readUInt32BE(i * 4)\n }\n\n return out\n}\n\nfunction scrubVec (v) {\n for (var i = 0; i < v.length; v++) {\n v[i] = 0\n }\n}\n\nfunction cryptBlock (M, keySchedule, SUB_MIX, SBOX, nRounds) {\n var SUB_MIX0 = SUB_MIX[0]\n var SUB_MIX1 = SUB_MIX[1]\n var SUB_MIX2 = SUB_MIX[2]\n var SUB_MIX3 = SUB_MIX[3]\n\n var s0 = M[0] ^ keySchedule[0]\n var s1 = M[1] ^ keySchedule[1]\n var s2 = M[2] ^ keySchedule[2]\n var s3 = M[3] ^ keySchedule[3]\n var t0, t1, t2, t3\n var ksRow = 4\n\n for (var round = 1; round < nRounds; round++) {\n t0 = SUB_MIX0[s0 >>> 24] ^ SUB_MIX1[(s1 >>> 16) & 0xff] ^ SUB_MIX2[(s2 >>> 8) & 0xff] ^ SUB_MIX3[s3 & 0xff] ^ keySchedule[ksRow++]\n t1 = SUB_MIX0[s1 >>> 24] ^ SUB_MIX1[(s2 >>> 16) & 0xff] ^ SUB_MIX2[(s3 >>> 8) & 0xff] ^ SUB_MIX3[s0 & 0xff] ^ keySchedule[ksRow++]\n t2 = SUB_MIX0[s2 >>> 24] ^ SUB_MIX1[(s3 >>> 16) & 0xff] ^ SUB_MIX2[(s0 >>> 8) & 0xff] ^ SUB_MIX3[s1 & 0xff] ^ keySchedule[ksRow++]\n t3 = SUB_MIX0[s3 >>> 24] ^ SUB_MIX1[(s0 >>> 16) & 0xff] ^ SUB_MIX2[(s1 >>> 8) & 0xff] ^ SUB_MIX3[s2 & 0xff] ^ keySchedule[ksRow++]\n s0 = t0\n s1 = t1\n s2 = t2\n s3 = t3\n }\n\n t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++]\n t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++]\n t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++]\n t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++]\n t0 = t0 >>> 0\n t1 = t1 >>> 0\n t2 = t2 >>> 0\n t3 = t3 >>> 0\n\n return [t0, t1, t2, t3]\n}\n\n// AES constants\nvar RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36]\nvar G = (function () {\n // Compute double table\n var d = new Array(256)\n for (var j = 0; j < 256; j++) {\n if (j < 128) {\n d[j] = j << 1\n } else {\n d[j] = (j << 1) ^ 0x11b\n }\n }\n\n var SBOX = []\n var INV_SBOX = []\n var SUB_MIX = [[], [], [], []]\n var INV_SUB_MIX = [[], [], [], []]\n\n // Walk GF(2^8)\n var x = 0\n var xi = 0\n for (var i = 0; i < 256; ++i) {\n // Compute sbox\n var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4)\n sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63\n SBOX[x] = sx\n INV_SBOX[sx] = x\n\n // Compute multiplication\n var x2 = d[x]\n var x4 = d[x2]\n var x8 = d[x4]\n\n // Compute sub bytes, mix columns tables\n var t = (d[sx] * 0x101) ^ (sx * 0x1010100)\n SUB_MIX[0][x] = (t << 24) | (t >>> 8)\n SUB_MIX[1][x] = (t << 16) | (t >>> 16)\n SUB_MIX[2][x] = (t << 8) | (t >>> 24)\n SUB_MIX[3][x] = t\n\n // Compute inv sub bytes, inv mix columns tables\n t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100)\n INV_SUB_MIX[0][sx] = (t << 24) | (t >>> 8)\n INV_SUB_MIX[1][sx] = (t << 16) | (t >>> 16)\n INV_SUB_MIX[2][sx] = (t << 8) | (t >>> 24)\n INV_SUB_MIX[3][sx] = t\n\n if (x === 0) {\n x = xi = 1\n } else {\n x = x2 ^ d[d[d[x8 ^ x2]]]\n xi ^= d[d[xi]]\n }\n }\n\n return {\n SBOX: SBOX,\n INV_SBOX: INV_SBOX,\n SUB_MIX: SUB_MIX,\n INV_SUB_MIX: INV_SUB_MIX\n }\n})()\n\nfunction AES (key) {\n this._key = asUInt32Array(key)\n this._reset()\n}\n\nAES.blockSize = 4 * 4\nAES.keySize = 256 / 8\nAES.prototype.blockSize = AES.blockSize\nAES.prototype.keySize = AES.keySize\nAES.prototype._reset = function () {\n var keyWords = this._key\n var keySize = keyWords.length\n var nRounds = keySize + 6\n var ksRows = (nRounds + 1) * 4\n\n var keySchedule = []\n for (var k = 0; k < keySize; k++) {\n keySchedule[k] = keyWords[k]\n }\n\n for (k = keySize; k < ksRows; k++) {\n var t = keySchedule[k - 1]\n\n if (k % keySize === 0) {\n t = (t << 8) | (t >>> 24)\n t =\n (G.SBOX[t >>> 24] << 24) |\n (G.SBOX[(t >>> 16) & 0xff] << 16) |\n (G.SBOX[(t >>> 8) & 0xff] << 8) |\n (G.SBOX[t & 0xff])\n\n t ^= RCON[(k / keySize) | 0] << 24\n } else if (keySize > 6 && k % keySize === 4) {\n t =\n (G.SBOX[t >>> 24] << 24) |\n (G.SBOX[(t >>> 16) & 0xff] << 16) |\n (G.SBOX[(t >>> 8) & 0xff] << 8) |\n (G.SBOX[t & 0xff])\n }\n\n keySchedule[k] = keySchedule[k - keySize] ^ t\n }\n\n var invKeySchedule = []\n for (var ik = 0; ik < ksRows; ik++) {\n var ksR = ksRows - ik\n var tt = keySchedule[ksR - (ik % 4 ? 0 : 4)]\n\n if (ik < 4 || ksR <= 4) {\n invKeySchedule[ik] = tt\n } else {\n invKeySchedule[ik] =\n G.INV_SUB_MIX[0][G.SBOX[tt >>> 24]] ^\n G.INV_SUB_MIX[1][G.SBOX[(tt >>> 16) & 0xff]] ^\n G.INV_SUB_MIX[2][G.SBOX[(tt >>> 8) & 0xff]] ^\n G.INV_SUB_MIX[3][G.SBOX[tt & 0xff]]\n }\n }\n\n this._nRounds = nRounds\n this._keySchedule = keySchedule\n this._invKeySchedule = invKeySchedule\n}\n\nAES.prototype.encryptBlockRaw = function (M) {\n M = asUInt32Array(M)\n return cryptBlock(M, this._keySchedule, G.SUB_MIX, G.SBOX, this._nRounds)\n}\n\nAES.prototype.encryptBlock = function (M) {\n var out = this.encryptBlockRaw(M)\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0], 0)\n buf.writeUInt32BE(out[1], 4)\n buf.writeUInt32BE(out[2], 8)\n buf.writeUInt32BE(out[3], 12)\n return buf\n}\n\nAES.prototype.decryptBlock = function (M) {\n M = asUInt32Array(M)\n\n // swap\n var m1 = M[1]\n M[1] = M[3]\n M[3] = m1\n\n var out = cryptBlock(M, this._invKeySchedule, G.INV_SUB_MIX, G.INV_SBOX, this._nRounds)\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0], 0)\n buf.writeUInt32BE(out[3], 4)\n buf.writeUInt32BE(out[2], 8)\n buf.writeUInt32BE(out[1], 12)\n return buf\n}\n\nAES.prototype.scrub = function () {\n scrubVec(this._keySchedule)\n scrubVec(this._invKeySchedule)\n scrubVec(this._key)\n}\n\nmodule.exports.AES = AES\n","var Buffer = require('safe-buffer').Buffer\nvar ZEROES = Buffer.alloc(16, 0)\n\nfunction toArray (buf) {\n return [\n buf.readUInt32BE(0),\n buf.readUInt32BE(4),\n buf.readUInt32BE(8),\n buf.readUInt32BE(12)\n ]\n}\n\nfunction fromArray (out) {\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0] >>> 0, 0)\n buf.writeUInt32BE(out[1] >>> 0, 4)\n buf.writeUInt32BE(out[2] >>> 0, 8)\n buf.writeUInt32BE(out[3] >>> 0, 12)\n return buf\n}\n\nfunction GHASH (key) {\n this.h = key\n this.state = Buffer.alloc(16, 0)\n this.cache = Buffer.allocUnsafe(0)\n}\n\n// from http://bitwiseshiftleft.github.io/sjcl/doc/symbols/src/core_gcm.js.html\n// by Juho Vähä-Herttua\nGHASH.prototype.ghash = function (block) {\n var i = -1\n while (++i < block.length) {\n this.state[i] ^= block[i]\n }\n this._multiply()\n}\n\nGHASH.prototype._multiply = function () {\n var Vi = toArray(this.h)\n var Zi = [0, 0, 0, 0]\n var j, xi, lsbVi\n var i = -1\n while (++i < 128) {\n xi = (this.state[~~(i / 8)] & (1 << (7 - (i % 8)))) !== 0\n if (xi) {\n // Z_i+1 = Z_i ^ V_i\n Zi[0] ^= Vi[0]\n Zi[1] ^= Vi[1]\n Zi[2] ^= Vi[2]\n Zi[3] ^= Vi[3]\n }\n\n // Store the value of LSB(V_i)\n lsbVi = (Vi[3] & 1) !== 0\n\n // V_i+1 = V_i >> 1\n for (j = 3; j > 0; j--) {\n Vi[j] = (Vi[j] >>> 1) | ((Vi[j - 1] & 1) << 31)\n }\n Vi[0] = Vi[0] >>> 1\n\n // If LSB(V_i) is 1, V_i+1 = (V_i >> 1) ^ R\n if (lsbVi) {\n Vi[0] = Vi[0] ^ (0xe1 << 24)\n }\n }\n this.state = fromArray(Zi)\n}\n\nGHASH.prototype.update = function (buf) {\n this.cache = Buffer.concat([this.cache, buf])\n var chunk\n while (this.cache.length >= 16) {\n chunk = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n this.ghash(chunk)\n }\n}\n\nGHASH.prototype.final = function (abl, bl) {\n if (this.cache.length) {\n this.ghash(Buffer.concat([this.cache, ZEROES], 16))\n }\n\n this.ghash(fromArray([0, abl, 0, bl]))\n return this.state\n}\n\nmodule.exports = GHASH\n","var AuthCipher = require('./authCipher')\nvar Buffer = require('safe-buffer').Buffer\nvar MODES = require('./modes')\nvar StreamCipher = require('./streamCipher')\nvar Transform = require('cipher-base')\nvar aes = require('./aes')\nvar ebtk = require('evp_bytestokey')\nvar inherits = require('inherits')\n\nfunction Decipher (mode, key, iv) {\n Transform.call(this)\n\n this._cache = new Splitter()\n this._last = void 0\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._mode = mode\n this._autopadding = true\n}\n\ninherits(Decipher, Transform)\n\nDecipher.prototype._update = function (data) {\n this._cache.add(data)\n var chunk\n var thing\n var out = []\n while ((chunk = this._cache.get(this._autopadding))) {\n thing = this._mode.decrypt(this, chunk)\n out.push(thing)\n }\n return Buffer.concat(out)\n}\n\nDecipher.prototype._final = function () {\n var chunk = this._cache.flush()\n if (this._autopadding) {\n return unpad(this._mode.decrypt(this, chunk))\n } else if (chunk) {\n throw new Error('data not multiple of block length')\n }\n}\n\nDecipher.prototype.setAutoPadding = function (setTo) {\n this._autopadding = !!setTo\n return this\n}\n\nfunction Splitter () {\n this.cache = Buffer.allocUnsafe(0)\n}\n\nSplitter.prototype.add = function (data) {\n this.cache = Buffer.concat([this.cache, data])\n}\n\nSplitter.prototype.get = function (autoPadding) {\n var out\n if (autoPadding) {\n if (this.cache.length > 16) {\n out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n } else {\n if (this.cache.length >= 16) {\n out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n }\n\n return null\n}\n\nSplitter.prototype.flush = function () {\n if (this.cache.length) return this.cache\n}\n\nfunction unpad (last) {\n var padded = last[15]\n if (padded < 1 || padded > 16) {\n throw new Error('unable to decrypt data')\n }\n var i = -1\n while (++i < padded) {\n if (last[(i + (16 - padded))] !== padded) {\n throw new Error('unable to decrypt data')\n }\n }\n if (padded === 16) return\n\n return last.slice(0, 16 - padded)\n}\n\nfunction createDecipheriv (suite, password, iv) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n if (typeof iv === 'string') iv = Buffer.from(iv)\n if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length)\n\n if (typeof password === 'string') password = Buffer.from(password)\n if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length)\n\n if (config.type === 'stream') {\n return new StreamCipher(config.module, password, iv, true)\n } else if (config.type === 'auth') {\n return new AuthCipher(config.module, password, iv, true)\n }\n\n return new Decipher(config.module, password, iv)\n}\n\nfunction createDecipher (suite, password) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n var keys = ebtk(password, false, config.key, config.iv)\n return createDecipheriv(suite, keys.key, keys.iv)\n}\n\nexports.createDecipher = createDecipher\nexports.createDecipheriv = createDecipheriv\n","var xor = require('buffer-xor')\n\nfunction getBlock (self) {\n self._prev = self._cipher.encryptBlock(self._prev)\n return self._prev\n}\n\nexports.encrypt = function (self, chunk) {\n while (self._cache.length < chunk.length) {\n self._cache = Buffer.concat([self._cache, getBlock(self)])\n }\n\n var pad = self._cache.slice(0, chunk.length)\n self._cache = self._cache.slice(chunk.length)\n return xor(chunk, pad)\n}\n","var Buffer = require('safe-buffer').Buffer\n\nfunction encryptByte (self, byteParam, decrypt) {\n var pad\n var i = -1\n var len = 8\n var out = 0\n var bit, value\n while (++i < len) {\n pad = self._cipher.encryptBlock(self._prev)\n bit = (byteParam & (1 << (7 - i))) ? 0x80 : 0\n value = pad[0] ^ bit\n out += ((value & 0x80) >> (i % 8))\n self._prev = shiftIn(self._prev, decrypt ? bit : value)\n }\n return out\n}\n\nfunction shiftIn (buffer, value) {\n var len = buffer.length\n var i = -1\n var out = Buffer.allocUnsafe(buffer.length)\n buffer = Buffer.concat([buffer, Buffer.from([value])])\n\n while (++i < len) {\n out[i] = buffer[i] << 1 | buffer[i + 1] >> (7)\n }\n\n return out\n}\n\nexports.encrypt = function (self, chunk, decrypt) {\n var len = chunk.length\n var out = Buffer.allocUnsafe(len)\n var i = -1\n\n while (++i < len) {\n out[i] = encryptByte(self, chunk[i], decrypt)\n }\n\n return out\n}\n","var Buffer = require('safe-buffer').Buffer\n\nfunction encryptByte (self, byteParam, decrypt) {\n var pad = self._cipher.encryptBlock(self._prev)\n var out = pad[0] ^ byteParam\n\n self._prev = Buffer.concat([\n self._prev.slice(1),\n Buffer.from([decrypt ? byteParam : out])\n ])\n\n return out\n}\n\nexports.encrypt = function (self, chunk, decrypt) {\n var len = chunk.length\n var out = Buffer.allocUnsafe(len)\n var i = -1\n\n while (++i < len) {\n out[i] = encryptByte(self, chunk[i], decrypt)\n }\n\n return out\n}\n","var xor = require('buffer-xor')\nvar Buffer = require('safe-buffer').Buffer\nvar incr32 = require('../incr32')\n\nfunction getBlock (self) {\n var out = self._cipher.encryptBlockRaw(self._prev)\n incr32(self._prev)\n return out\n}\n\nvar blockSize = 16\nexports.encrypt = function (self, chunk) {\n var chunkNum = Math.ceil(chunk.length / blockSize)\n var start = self._cache.length\n self._cache = Buffer.concat([\n self._cache,\n Buffer.allocUnsafe(chunkNum * blockSize)\n ])\n for (var i = 0; i < chunkNum; i++) {\n var out = getBlock(self)\n var offset = start + i * blockSize\n self._cache.writeUInt32BE(out[0], offset + 0)\n self._cache.writeUInt32BE(out[1], offset + 4)\n self._cache.writeUInt32BE(out[2], offset + 8)\n self._cache.writeUInt32BE(out[3], offset + 12)\n }\n var pad = self._cache.slice(0, chunk.length)\n self._cache = self._cache.slice(chunk.length)\n return xor(chunk, pad)\n}\n","var aes = require('./aes')\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('cipher-base')\nvar inherits = require('inherits')\nvar GHASH = require('./ghash')\nvar xor = require('buffer-xor')\nvar incr32 = require('./incr32')\n\nfunction xorTest (a, b) {\n var out = 0\n if (a.length !== b.length) out++\n\n var len = Math.min(a.length, b.length)\n for (var i = 0; i < len; ++i) {\n out += (a[i] ^ b[i])\n }\n\n return out\n}\n\nfunction calcIv (self, iv, ck) {\n if (iv.length === 12) {\n self._finID = Buffer.concat([iv, Buffer.from([0, 0, 0, 1])])\n return Buffer.concat([iv, Buffer.from([0, 0, 0, 2])])\n }\n var ghash = new GHASH(ck)\n var len = iv.length\n var toPad = len % 16\n ghash.update(iv)\n if (toPad) {\n toPad = 16 - toPad\n ghash.update(Buffer.alloc(toPad, 0))\n }\n ghash.update(Buffer.alloc(8, 0))\n var ivBits = len * 8\n var tail = Buffer.alloc(8)\n tail.writeUIntBE(ivBits, 0, 8)\n ghash.update(tail)\n self._finID = ghash.state\n var out = Buffer.from(self._finID)\n incr32(out)\n return out\n}\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n var h = Buffer.alloc(4, 0)\n\n this._cipher = new aes.AES(key)\n var ck = this._cipher.encryptBlock(h)\n this._ghash = new GHASH(ck)\n iv = calcIv(this, iv, ck)\n\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._alen = 0\n this._len = 0\n this._mode = mode\n\n this._authTag = null\n this._called = false\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n if (!this._called && this._alen) {\n var rump = 16 - (this._alen % 16)\n if (rump < 16) {\n rump = Buffer.alloc(rump, 0)\n this._ghash.update(rump)\n }\n }\n\n this._called = true\n var out = this._mode.encrypt(this, chunk)\n if (this._decrypt) {\n this._ghash.update(chunk)\n } else {\n this._ghash.update(out)\n }\n this._len += chunk.length\n return out\n}\n\nStreamCipher.prototype._final = function () {\n if (this._decrypt && !this._authTag) throw new Error('Unsupported state or unable to authenticate data')\n\n var tag = xor(this._ghash.final(this._alen * 8, this._len * 8), this._cipher.encryptBlock(this._finID))\n if (this._decrypt && xorTest(tag, this._authTag)) throw new Error('Unsupported state or unable to authenticate data')\n\n this._authTag = tag\n this._cipher.scrub()\n}\n\nStreamCipher.prototype.getAuthTag = function getAuthTag () {\n if (this._decrypt || !Buffer.isBuffer(this._authTag)) throw new Error('Attempting to get auth tag in unsupported state')\n\n return this._authTag\n}\n\nStreamCipher.prototype.setAuthTag = function setAuthTag (tag) {\n if (!this._decrypt) throw new Error('Attempting to set auth tag in unsupported state')\n\n this._authTag = tag\n}\n\nStreamCipher.prototype.setAAD = function setAAD (buf) {\n if (this._called) throw new Error('Attempting to set AAD in unsupported state')\n\n this._ghash.update(buf)\n this._alen += buf.length\n}\n\nmodule.exports = StreamCipher\n","var MODES = require('./modes')\nvar AuthCipher = require('./authCipher')\nvar Buffer = require('safe-buffer').Buffer\nvar StreamCipher = require('./streamCipher')\nvar Transform = require('cipher-base')\nvar aes = require('./aes')\nvar ebtk = require('evp_bytestokey')\nvar inherits = require('inherits')\n\nfunction Cipher (mode, key, iv) {\n Transform.call(this)\n\n this._cache = new Splitter()\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._mode = mode\n this._autopadding = true\n}\n\ninherits(Cipher, Transform)\n\nCipher.prototype._update = function (data) {\n this._cache.add(data)\n var chunk\n var thing\n var out = []\n\n while ((chunk = this._cache.get())) {\n thing = this._mode.encrypt(this, chunk)\n out.push(thing)\n }\n\n return Buffer.concat(out)\n}\n\nvar PADDING = Buffer.alloc(16, 0x10)\n\nCipher.prototype._final = function () {\n var chunk = this._cache.flush()\n if (this._autopadding) {\n chunk = this._mode.encrypt(this, chunk)\n this._cipher.scrub()\n return chunk\n }\n\n if (!chunk.equals(PADDING)) {\n this._cipher.scrub()\n throw new Error('data not multiple of block length')\n }\n}\n\nCipher.prototype.setAutoPadding = function (setTo) {\n this._autopadding = !!setTo\n return this\n}\n\nfunction Splitter () {\n this.cache = Buffer.allocUnsafe(0)\n}\n\nSplitter.prototype.add = function (data) {\n this.cache = Buffer.concat([this.cache, data])\n}\n\nSplitter.prototype.get = function () {\n if (this.cache.length > 15) {\n var out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n return null\n}\n\nSplitter.prototype.flush = function () {\n var len = 16 - this.cache.length\n var padBuff = Buffer.allocUnsafe(len)\n\n var i = -1\n while (++i < len) {\n padBuff.writeUInt8(len, i)\n }\n\n return Buffer.concat([this.cache, padBuff])\n}\n\nfunction createCipheriv (suite, password, iv) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n if (typeof password === 'string') password = Buffer.from(password)\n if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length)\n\n if (typeof iv === 'string') iv = Buffer.from(iv)\n if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length)\n\n if (config.type === 'stream') {\n return new StreamCipher(config.module, password, iv)\n } else if (config.type === 'auth') {\n return new AuthCipher(config.module, password, iv)\n }\n\n return new Cipher(config.module, password, iv)\n}\n\nfunction createCipher (suite, password) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n var keys = ebtk(password, false, config.key, config.iv)\n return createCipheriv(suite, keys.key, keys.iv)\n}\n\nexports.createCipheriv = createCipheriv\nexports.createCipher = createCipher\n","var modeModules = {\n ECB: require('./ecb'),\n CBC: require('./cbc'),\n CFB: require('./cfb'),\n CFB8: require('./cfb8'),\n CFB1: require('./cfb1'),\n OFB: require('./ofb'),\n CTR: require('./ctr'),\n GCM: require('./ctr')\n}\n\nvar modes = require('./list.json')\n\nfor (var key in modes) {\n modes[key].module = modeModules[modes[key].mode]\n}\n\nmodule.exports = modes\n","function incr32 (iv) {\n var len = iv.length\n var item\n while (len--) {\n item = iv.readUInt8(len)\n if (item === 255) {\n iv.writeUInt8(0, len)\n } else {\n item++\n iv.writeUInt8(item, len)\n break\n }\n }\n}\nmodule.exports = incr32\n","var xor = require('buffer-xor')\n\nexports.encrypt = function (self, block) {\n var data = xor(block, self._prev)\n\n self._prev = self._cipher.encryptBlock(data)\n return self._prev\n}\n\nexports.decrypt = function (self, block) {\n var pad = self._prev\n\n self._prev = block\n var out = self._cipher.decryptBlock(block)\n\n return xor(out, pad)\n}\n"],"sourceRoot":""}