summaryrefslogtreecommitdiffstats
path: root/node_modules/browserify-aes/modes/cfb8.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/browserify-aes/modes/cfb8.js')
-rw-r--r--node_modules/browserify-aes/modes/cfb8.js25
1 files changed, 25 insertions, 0 deletions
diff --git a/node_modules/browserify-aes/modes/cfb8.js b/node_modules/browserify-aes/modes/cfb8.js
new file mode 100644
index 0000000..c0708f9
--- /dev/null
+++ b/node_modules/browserify-aes/modes/cfb8.js
@@ -0,0 +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),
+ Buffer.from([decrypt ? byteParam : out])
+ ])
+
+ return out
+}
+
+exports.encrypt = function (self, chunk, decrypt) {
+ var len = chunk.length
+ var out = Buffer.allocUnsafe(len)
+ var i = -1
+
+ while (++i < len) {
+ out[i] = encryptByte(self, chunk[i], decrypt)
+ }
+
+ return out
+}