diff --git a/authCipher.js b/authCipher.js index c6e8a76..c599e29 100644 --- a/authCipher.js +++ b/authCipher.js @@ -3,7 +3,7 @@ var Buffer = require('safe-buffer').Buffer var Transform = require('cipher-base') var inherits = require('inherits') var GHASH = require('./ghash') -var xor = require('buffer-xor') +var xor = require('./xor') var incr32 = require('./incr32') function xorTest (a, b) { diff --git a/modes/cbc.js b/modes/cbc.js index b133e40..4e94488 100644 --- a/modes/cbc.js +++ b/modes/cbc.js @@ -1,4 +1,4 @@ -var xor = require('buffer-xor') +var xor = require('../xor') exports.encrypt = function (self, block) { var data = xor(block, self._prev) diff --git a/modes/cfb.js b/modes/cfb.js index 03b2ee9..c286f4b 100644 --- a/modes/cfb.js +++ b/modes/cfb.js @@ -1,5 +1,5 @@ var Buffer = require('safe-buffer').Buffer -var xor = require('buffer-xor') +var xor = require('../xor') function encryptStart (self, data, decrypt) { var len = data.length diff --git a/modes/ctr.js b/modes/ctr.js index e68f13c..7c5a8a6 100644 --- a/modes/ctr.js +++ b/modes/ctr.js @@ -1,4 +1,4 @@ -var xor = require('buffer-xor') +var xor = require('../xor') var Buffer = require('safe-buffer').Buffer var incr32 = require('../incr32') diff --git a/modes/ofb.js b/modes/ofb.js index bd87558..959d02f 100644 --- a/modes/ofb.js +++ b/modes/ofb.js @@ -1,4 +1,4 @@ -var xor = require('buffer-xor') +var xor = require('../xor') function getBlock (self) { self._prev = self._cipher.encryptBlock(self._prev) diff --git a/package.json b/package.json index 8d31869..569863b 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,6 @@ }, "homepage": "https://github.com/crypto-browserify/browserify-aes", "dependencies": { - "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", "create-hash": "^1.1.0", "evp_bytestokey": "^1.0.3", diff --git a/xor.js b/xor.js new file mode 100644 index 0000000..49ff2d0 --- /dev/null +++ b/xor.js @@ -0,0 +1,12 @@ +var Buffer = require('safe-buffer').Buffer + +module.exports = function xor (a, b) { + var length = Math.min(a.length, b.length) + var buffer = Buffer.allocUnsafe(length) + + for (var i = 0; i < length; ++i) { + buffer[i] = a[i] ^ b[i] + } + + return buffer +}