corrade-nucleus-nucleons – Blame information for rev 4

Subversion Repositories:
Rev:
Rev Author Line No. Line
2 office 1 /*
2 CryptoJS v3.1.2
3 code.google.com/p/crypto-js
4 (c) 2009-2013 by Jeff Mott. All rights reserved.
5 code.google.com/p/crypto-js/wiki/License
6 */
7 /**
8 * Output Feedback block mode.
9 */
10 CryptoJS.mode.OFB = (function () {
11 var OFB = CryptoJS.lib.BlockCipherMode.extend();
12  
13 var Encryptor = OFB.Encryptor = OFB.extend({
14 processBlock: function (words, offset) {
15 // Shortcuts
16 var cipher = this._cipher
17 var blockSize = cipher.blockSize;
18 var iv = this._iv;
19 var keystream = this._keystream;
20  
21 // Generate keystream
22 if (iv) {
23 keystream = this._keystream = iv.slice(0);
24  
25 // Remove IV for subsequent blocks
26 this._iv = undefined;
27 }
28 cipher.encryptBlock(keystream, 0);
29  
30 // Encrypt
31 for (var i = 0; i < blockSize; i++) {
32 words[offset + i] ^= keystream[i];
33 }
34 }
35 });
36  
37 OFB.Decryptor = Encryptor;
38  
39 return OFB;
40 }());