You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
var aes = require('./aes') var Buffer = require('safe-buffer').Buffer var Transform = require('cipher-base') var inherits = require('inherits')
function StreamCipher (mode, key, iv, decrypt) { Transform.call(this)
this._cipher = new aes.AES(key) this._prev = Buffer.from(iv) this._cache = Buffer.allocUnsafe(0) this._secCache = Buffer.allocUnsafe(0) this._decrypt = decrypt this._mode = mode }
inherits(StreamCipher, Transform)
StreamCipher.prototype._update = function (chunk) { return this._mode.encrypt(this, chunk, this._decrypt) }
StreamCipher.prototype._final = function () { this._cipher.scrub() }
module.exports = StreamCipher
|