From 3a9cbcaf011f5c5d423e1cd99b43442669692129 Mon Sep 17 00:00:00 2001 From: friendica Date: Thu, 7 Nov 2013 23:25:13 -0800 Subject: Wankers. --- library/cryptojs/components/mode-ofb.js | 40 +++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 library/cryptojs/components/mode-ofb.js (limited to 'library/cryptojs/components/mode-ofb.js') diff --git a/library/cryptojs/components/mode-ofb.js b/library/cryptojs/components/mode-ofb.js new file mode 100644 index 000000000..942074eb1 --- /dev/null +++ b/library/cryptojs/components/mode-ofb.js @@ -0,0 +1,40 @@ +/* +CryptoJS v3.1.2 +code.google.com/p/crypto-js +(c) 2009-2013 by Jeff Mott. All rights reserved. +code.google.com/p/crypto-js/wiki/License +*/ +/** + * Output Feedback block mode. + */ +CryptoJS.mode.OFB = (function () { + var OFB = CryptoJS.lib.BlockCipherMode.extend(); + + var Encryptor = OFB.Encryptor = OFB.extend({ + processBlock: function (words, offset) { + // Shortcuts + var cipher = this._cipher + var blockSize = cipher.blockSize; + var iv = this._iv; + var keystream = this._keystream; + + // Generate keystream + if (iv) { + keystream = this._keystream = iv.slice(0); + + // Remove IV for subsequent blocks + this._iv = undefined; + } + cipher.encryptBlock(keystream, 0); + + // Encrypt + for (var i = 0; i < blockSize; i++) { + words[offset + i] ^= keystream[i]; + } + } + }); + + OFB.Decryptor = Encryptor; + + return OFB; +}()); -- cgit v1.2.3