1 line
7.6 KiB
JSON
1 line
7.6 KiB
JSON
{"ast":null,"code":"var Buffer = require('safe-buffer').Buffer;\n\nvar ZEROES = Buffer.alloc(16, 0);\n\nfunction toArray(buf) {\n return [buf.readUInt32BE(0), buf.readUInt32BE(4), buf.readUInt32BE(8), buf.readUInt32BE(12)];\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} // from http://bitwiseshiftleft.github.io/sjcl/doc/symbols/src/core_gcm.js.html\n// by Juho Vähä-Herttua\n\n\nGHASH.prototype.ghash = function (block) {\n var i = -1;\n\n while (++i < block.length) {\n this.state[i] ^= block[i];\n }\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\n while (++i < 128) {\n xi = (this.state[~~(i / 8)] & 1 << 7 - i % 8) !== 0;\n\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 } // Store the value of LSB(V_i)\n\n\n lsbVi = (Vi[3] & 1) !== 0; // V_i+1 = V_i >> 1\n\n for (j = 3; j > 0; j--) {\n Vi[j] = Vi[j] >>> 1 | (Vi[j - 1] & 1) << 31;\n }\n\n Vi[0] = Vi[0] >>> 1; // If LSB(V_i) is 1, V_i+1 = (V_i >> 1) ^ R\n\n if (lsbVi) {\n Vi[0] = Vi[0] ^ 0xe1 << 24;\n }\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\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;","map":{"version":3,"sources":["/Users/tylerkoenig/Code/personal/react-scss2/node_modules/browserify-aes/ghash.js"],"names":["Buffer","require","ZEROES","alloc","toArray","buf","readUInt32BE","fromArray","out","allocUnsafe","writeUInt32BE","GHASH","key","h","state","cache","prototype","ghash","block","i","length","_multiply","Vi","Zi","j","xi","lsbVi","update","concat","chunk","slice","final","abl","bl","module","exports"],"mappings":"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","sourcesContent":["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"]},"metadata":{},"sourceType":"script"} |