diff options
author | Florian Dold <florian.dold@gmail.com> | 2017-12-10 21:51:33 +0100 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2017-12-10 21:51:33 +0100 |
commit | 0469abd4a9c9270a1fdc962969e36e63699af8b4 (patch) | |
tree | f9864d4a4148621378958794cbbfdc2393733283 /node_modules/browserify-aes/modes | |
parent | 6947e79bbc258f7bc96af424ddb71a511f0c15a3 (diff) |
upgrade dependencies
Diffstat (limited to 'node_modules/browserify-aes/modes')
-rw-r--r-- | node_modules/browserify-aes/modes/cfb.js | 20 | ||||
-rw-r--r-- | node_modules/browserify-aes/modes/cfb1.js | 26 | ||||
-rw-r--r-- | node_modules/browserify-aes/modes/cfb8.js | 14 | ||||
-rw-r--r-- | node_modules/browserify-aes/modes/ctr.js | 35 | ||||
-rw-r--r-- | node_modules/browserify-aes/modes/ecb.js | 1 | ||||
-rw-r--r-- | node_modules/browserify-aes/modes/index.js | 18 | ||||
-rw-r--r-- | node_modules/browserify-aes/modes/list.json | 191 |
7 files changed, 267 insertions, 38 deletions
diff --git a/node_modules/browserify-aes/modes/cfb.js b/node_modules/browserify-aes/modes/cfb.js index 0bfe4fab8..03b2ee9c5 100644 --- a/node_modules/browserify-aes/modes/cfb.js +++ b/node_modules/browserify-aes/modes/cfb.js @@ -1,13 +1,22 @@ +var Buffer = require('safe-buffer').Buffer var xor = require('buffer-xor') +function encryptStart (self, data, decrypt) { + var len = data.length + var out = xor(data, self._cache) + self._cache = self._cache.slice(len) + self._prev = Buffer.concat([self._prev, decrypt ? data : out]) + return out +} + exports.encrypt = function (self, data, decrypt) { - var out = new Buffer('') + var out = Buffer.allocUnsafe(0) var len while (data.length) { if (self._cache.length === 0) { self._cache = self._cipher.encryptBlock(self._prev) - self._prev = new Buffer('') + self._prev = Buffer.allocUnsafe(0) } if (self._cache.length <= data.length) { @@ -22,10 +31,3 @@ exports.encrypt = function (self, data, decrypt) { return out } -function encryptStart (self, data, decrypt) { - var len = data.length - var out = xor(data, self._cache) - self._cache = self._cache.slice(len) - self._prev = Buffer.concat([self._prev, decrypt ? data : out]) - return out -} diff --git a/node_modules/browserify-aes/modes/cfb1.js b/node_modules/browserify-aes/modes/cfb1.js index 335542e20..0ed136637 100644 --- a/node_modules/browserify-aes/modes/cfb1.js +++ b/node_modules/browserify-aes/modes/cfb1.js @@ -1,3 +1,5 @@ +var Buffer = require('safe-buffer').Buffer + function encryptByte (self, byteParam, decrypt) { var pad var i = -1 @@ -13,22 +15,28 @@ function encryptByte (self, byteParam, decrypt) { } return out } -exports.encrypt = function (self, chunk, decrypt) { - var len = chunk.length - var out = new Buffer(len) + +function shiftIn (buffer, value) { + var len = buffer.length var i = -1 + var out = Buffer.allocUnsafe(buffer.length) + buffer = Buffer.concat([buffer, Buffer.from([value])]) + while (++i < len) { - out[i] = encryptByte(self, chunk[i], decrypt) + out[i] = buffer[i] << 1 | buffer[i + 1] >> (7) } + return out } -function shiftIn (buffer, value) { - var len = buffer.length + +exports.encrypt = function (self, chunk, decrypt) { + var len = chunk.length + var out = Buffer.allocUnsafe(len) var i = -1 - var out = new Buffer(buffer.length) - buffer = Buffer.concat([buffer, new Buffer([value])]) + while (++i < len) { - out[i] = buffer[i] << 1 | buffer[i + 1] >> (7) + out[i] = encryptByte(self, chunk[i], decrypt) } + return out } diff --git a/node_modules/browserify-aes/modes/cfb8.js b/node_modules/browserify-aes/modes/cfb8.js index c967a959f..c0708f958 100644 --- a/node_modules/browserify-aes/modes/cfb8.js +++ b/node_modules/browserify-aes/modes/cfb8.js @@ -1,15 +1,25 @@ +var Buffer = require('safe-buffer').Buffer + function encryptByte (self, byteParam, decrypt) { var pad = self._cipher.encryptBlock(self._prev) var out = pad[0] ^ byteParam - self._prev = Buffer.concat([self._prev.slice(1), new Buffer([decrypt ? byteParam : out])]) + + self._prev = Buffer.concat([ + self._prev.slice(1), + Buffer.from([decrypt ? byteParam : out]) + ]) + return out } + exports.encrypt = function (self, chunk, decrypt) { var len = chunk.length - var out = new Buffer(len) + var out = Buffer.allocUnsafe(len) var i = -1 + while (++i < len) { out[i] = encryptByte(self, chunk[i], decrypt) } + return out } diff --git a/node_modules/browserify-aes/modes/ctr.js b/node_modules/browserify-aes/modes/ctr.js index 0ef2278bf..e68f13c2f 100644 --- a/node_modules/browserify-aes/modes/ctr.js +++ b/node_modules/browserify-aes/modes/ctr.js @@ -1,29 +1,28 @@ var xor = require('buffer-xor') - -function incr32 (iv) { - var len = iv.length - var item - while (len--) { - item = iv.readUInt8(len) - if (item === 255) { - iv.writeUInt8(0, len) - } else { - item++ - iv.writeUInt8(item, len) - break - } - } -} +var Buffer = require('safe-buffer').Buffer +var incr32 = require('../incr32') function getBlock (self) { - var out = self._cipher.encryptBlock(self._prev) + var out = self._cipher.encryptBlockRaw(self._prev) incr32(self._prev) return out } +var blockSize = 16 exports.encrypt = function (self, chunk) { - while (self._cache.length < chunk.length) { - self._cache = Buffer.concat([self._cache, getBlock(self)]) + var chunkNum = Math.ceil(chunk.length / blockSize) + var start = self._cache.length + self._cache = Buffer.concat([ + self._cache, + Buffer.allocUnsafe(chunkNum * blockSize) + ]) + for (var i = 0; i < chunkNum; i++) { + var out = getBlock(self) + var offset = start + i * blockSize + self._cache.writeUInt32BE(out[0], offset + 0) + self._cache.writeUInt32BE(out[1], offset + 4) + self._cache.writeUInt32BE(out[2], offset + 8) + self._cache.writeUInt32BE(out[3], offset + 12) } var pad = self._cache.slice(0, chunk.length) self._cache = self._cache.slice(chunk.length) diff --git a/node_modules/browserify-aes/modes/ecb.js b/node_modules/browserify-aes/modes/ecb.js index 4dd97e7df..49dfb1e22 100644 --- a/node_modules/browserify-aes/modes/ecb.js +++ b/node_modules/browserify-aes/modes/ecb.js @@ -1,6 +1,7 @@ exports.encrypt = function (self, block) { return self._cipher.encryptBlock(block) } + exports.decrypt = function (self, block) { return self._cipher.decryptBlock(block) } diff --git a/node_modules/browserify-aes/modes/index.js b/node_modules/browserify-aes/modes/index.js new file mode 100644 index 000000000..767d6cb99 --- /dev/null +++ b/node_modules/browserify-aes/modes/index.js @@ -0,0 +1,18 @@ +var modeModules = { + ECB: require('./ecb'), + CBC: require('./cbc'), + CFB: require('./cfb'), + CFB8: require('./cfb8'), + CFB1: require('./cfb1'), + OFB: require('./ofb'), + CTR: require('./ctr'), + GCM: require('./ctr') +} + +var modes = require('./list.json') + +for (var key in modes) { + modes[key].module = modeModules[modes[key].mode] +} + +module.exports = modes diff --git a/node_modules/browserify-aes/modes/list.json b/node_modules/browserify-aes/modes/list.json new file mode 100644 index 000000000..33de25bda --- /dev/null +++ b/node_modules/browserify-aes/modes/list.json @@ -0,0 +1,191 @@ +{ + "aes-128-ecb": { + "cipher": "AES", + "key": 128, + "iv": 0, + "mode": "ECB", + "type": "block" + }, + "aes-192-ecb": { + "cipher": "AES", + "key": 192, + "iv": 0, + "mode": "ECB", + "type": "block" + }, + "aes-256-ecb": { + "cipher": "AES", + "key": 256, + "iv": 0, + "mode": "ECB", + "type": "block" + }, + "aes-128-cbc": { + "cipher": "AES", + "key": 128, + "iv": 16, + "mode": "CBC", + "type": "block" + }, + "aes-192-cbc": { + "cipher": "AES", + "key": 192, + "iv": 16, + "mode": "CBC", + "type": "block" + }, + "aes-256-cbc": { + "cipher": "AES", + "key": 256, + "iv": 16, + "mode": "CBC", + "type": "block" + }, + "aes128": { + "cipher": "AES", + "key": 128, + "iv": 16, + "mode": "CBC", + "type": "block" + }, + "aes192": { + "cipher": "AES", + "key": 192, + "iv": 16, + "mode": "CBC", + "type": "block" + }, + "aes256": { + "cipher": "AES", + "key": 256, + "iv": 16, + "mode": "CBC", + "type": "block" + }, + "aes-128-cfb": { + "cipher": "AES", + "key": 128, + "iv": 16, + "mode": "CFB", + "type": "stream" + }, + "aes-192-cfb": { + "cipher": "AES", + "key": 192, + "iv": 16, + "mode": "CFB", + "type": "stream" + }, + "aes-256-cfb": { + "cipher": "AES", + "key": 256, + "iv": 16, + "mode": "CFB", + "type": "stream" + }, + "aes-128-cfb8": { + "cipher": "AES", + "key": 128, + "iv": 16, + "mode": "CFB8", + "type": "stream" + }, + "aes-192-cfb8": { + "cipher": "AES", + "key": 192, + "iv": 16, + "mode": "CFB8", + "type": "stream" + }, + "aes-256-cfb8": { + "cipher": "AES", + "key": 256, + "iv": 16, + "mode": "CFB8", + "type": "stream" + }, + "aes-128-cfb1": { + "cipher": "AES", + "key": 128, + "iv": 16, + "mode": "CFB1", + "type": "stream" + }, + "aes-192-cfb1": { + "cipher": "AES", + "key": 192, + "iv": 16, + "mode": "CFB1", + "type": "stream" + }, + "aes-256-cfb1": { + "cipher": "AES", + "key": 256, + "iv": 16, + "mode": "CFB1", + "type": "stream" + }, + "aes-128-ofb": { + "cipher": "AES", + "key": 128, + "iv": 16, + "mode": "OFB", + "type": "stream" + }, + "aes-192-ofb": { + "cipher": "AES", + "key": 192, + "iv": 16, + "mode": "OFB", + "type": "stream" + }, + "aes-256-ofb": { + "cipher": "AES", + "key": 256, + "iv": 16, + "mode": "OFB", + "type": "stream" + }, + "aes-128-ctr": { + "cipher": "AES", + "key": 128, + "iv": 16, + "mode": "CTR", + "type": "stream" + }, + "aes-192-ctr": { + "cipher": "AES", + "key": 192, + "iv": 16, + "mode": "CTR", + "type": "stream" + }, + "aes-256-ctr": { + "cipher": "AES", + "key": 256, + "iv": 16, + "mode": "CTR", + "type": "stream" + }, + "aes-128-gcm": { + "cipher": "AES", + "key": 128, + "iv": 12, + "mode": "GCM", + "type": "auth" + }, + "aes-192-gcm": { + "cipher": "AES", + "key": 192, + "iv": 12, + "mode": "GCM", + "type": "auth" + }, + "aes-256-gcm": { + "cipher": "AES", + "key": 256, + "iv": 12, + "mode": "GCM", + "type": "auth" + } +} |