aboutsummaryrefslogtreecommitdiff
path: root/node_modules/browserify-aes/modes
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-12-10 21:51:33 +0100
committerFlorian Dold <florian.dold@gmail.com>2017-12-10 21:51:33 +0100
commit0469abd4a9c9270a1fdc962969e36e63699af8b4 (patch)
treef9864d4a4148621378958794cbbfdc2393733283 /node_modules/browserify-aes/modes
parent6947e79bbc258f7bc96af424ddb71a511f0c15a3 (diff)
upgrade dependencies
Diffstat (limited to 'node_modules/browserify-aes/modes')
-rw-r--r--node_modules/browserify-aes/modes/cfb.js20
-rw-r--r--node_modules/browserify-aes/modes/cfb1.js26
-rw-r--r--node_modules/browserify-aes/modes/cfb8.js14
-rw-r--r--node_modules/browserify-aes/modes/ctr.js35
-rw-r--r--node_modules/browserify-aes/modes/ecb.js1
-rw-r--r--node_modules/browserify-aes/modes/index.js18
-rw-r--r--node_modules/browserify-aes/modes/list.json191
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"
+ }
+}