Strona zabezpieczona .staticrypt-hr { margin-top: 20px; margin-bottom: 20px; border: 0; border-top: 1px solid #eee; } .staticrypt-page { width: 360px; padding: 8% 0 0; margin: auto; box-sizing: border-box; } .staticrypt-form { position: relative; z-index: 1; background: #FFFFFF; max-width: 360px; margin: 0 auto 100px; padding: 45px; text-align: center; box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2), 0 5px 5px 0 rgba(0, 0, 0, 0.24); } .staticrypt-form input { outline: 0; background: #f2f2f2; width: 100%; border: 0; margin: 0 0 15px; padding: 15px; box-sizing: border-box; font-size: 14px; } .staticrypt-form .staticrypt-decrypt-button { text-transform: uppercase; outline: 0; background: #4CAF50; width: 100%; border: 0; padding: 15px; color: #FFFFFF; font-size: 14px; cursor: pointer; } .staticrypt-form .staticrypt-decrypt-button:hover, .staticrypt-form .staticrypt-decrypt-button:active, .staticrypt-form .staticrypt-decrypt-button:focus { background: #43A047; } .staticrypt-html { height: 100%; } .staticrypt-body { margin-bottom: 1em; background: #76b852; /* fallback for old browsers */ background: -webkit-linear-gradient(right, #76b852, #8DC26F); background: -moz-linear-gradient(right, #76b852, #8DC26F); background: -o-linear-gradient(right, #76b852, #8DC26F); background: linear-gradient(to left, #76b852, #8DC26F); font-family: "Arial", sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .staticrypt-instructions { margin-top: -1em; margin-bottom: 1em; } .staticrypt-title { font-size: 1.5em; color:black; } #top main article div div div div p:nth-child(2){ color:black; } .staticrypt-footer { position: fixed; height: 20px; font-size: 16px; padding: 2px; bottom: 0; left: 0; right: 0; margin-bottom: 0; } .staticrypt-footer p { margin: 2px; text-align: center; float: right; } .staticrypt-footer a { text-decoration: none; } Dalsza treść zablokowana Aby odblokować dalszą treść wpisz hash roota z /etc/shadow /** * Crypto JS 3.1.9-1 * Copied as is from https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/crypto-js.js */ ;(function (root, factory) { if (typeof exports === "object") { // CommonJS module.exports = exports = factory(); } else if (typeof define === "function" && define.amd) { // AMD define([], factory); } else { // Global (browser) root.CryptoJS = factory(); } }(this, function () { /** * CryptoJS core components. */ var CryptoJS = CryptoJS || (function (Math, undefined) { /* * Local polyfil of Object.create */ var create = Object.create || (function () { function F() {}; return function (obj) { var subtype; F.prototype = obj; subtype = new F(); F.prototype = null; return subtype; }; }()) /** * CryptoJS namespace. */ var C = {}; /** * Library namespace. */ var C_lib = C.lib = {}; /** * Base object for prototypal inheritance. */ var Base = C_lib.Base = (function () { return { /** * Creates a new object that inherits from this object. * * @param {Object} overrides Properties to copy into the new object. * * @return {Object} The new object. * * @static * * @example * * var MyType = CryptoJS.lib.Base.extend({ * field: 'value', * * method: function () { * } * }); */ extend: function (overrides) { // Spawn var subtype = create(this); // Augment if (overrides) { subtype.mixIn(overrides); } // Create default initializer if (!subtype.hasOwnProperty('init') || this.init === subtype.init) { subtype.init = function () { subtype.$super.init.apply(this, arguments); }; } // Initializer's prototype is the subtype object subtype.init.prototype = subtype; // Reference supertype subtype.$super = this; return subtype; }, /** * Extends this object and runs the init method. * Arguments to create() will be passed to init(). * * @return {Object} The new object. * * @static * * @example * * var instance = MyType.create(); */ create: function () { var instance = this.extend(); instance.init.apply(instance, arguments); return instance; }, /** * Initializes a newly created object. * Override this method to add some logic when your objects are created. * * @example * * var MyType = CryptoJS.lib.Base.extend({ * init: function () { * // ... * } * }); */ init: function () { }, /** * Copies properties into this object. * * @param {Object} properties The properties to mix in. * * @example * * MyType.mixIn({ * field: 'value' * }); */ mixIn: function (properties) { for (var propertyName in properties) { if (properties.hasOwnProperty(propertyName)) { this[propertyName] = properties[propertyName]; } } // IE won't copy toString using the loop above if (properties.hasOwnProperty('toString')) { this.toString = properties.toString; } }, /** * Creates a copy of this object. * * @return {Object} The clone. * * @example * * var clone = instance.clone(); */ clone: function () { return this.init.prototype.extend(this); } }; }()); /** * An array of 32-bit words. * * @property {Array} words The array of 32-bit words. * @property {number} sigBytes The number of significant bytes in this word array. */ var WordArray = C_lib.WordArray = Base.extend({ /** * Initializes a newly created word array. * * @param {Array} words (Optional) An array of 32-bit words. * @param {number} sigBytes (Optional) The number of significant bytes in the words. * * @example * * var wordArray = CryptoJS.lib.WordArray.create(); * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]); * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6); */ init: function (words, sigBytes) { words = this.words = words || []; if (sigBytes != undefined) { this.sigBytes = sigBytes; } else { this.sigBytes = words.length * 4; } }, /** * Converts this word array to a string. * * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex * * @return {string} The stringified word array. * * @example * * var string = wordArray + ''; * var string = wordArray.toString(); * var string = wordArray.toString(CryptoJS.enc.Utf8); */ toString: function (encoder) { return (encoder || Hex).stringify(this); }, /** * Concatenates a word array to this word array. * * @param {WordArray} wordArray The word array to append. * * @return {WordArray} This word array. * * @example * * wordArray1.concat(wordArray2); */ concat: function (wordArray) { // Shortcuts var thisWords = this.words; var thatWords = wordArray.words; var thisSigBytes = this.sigBytes; var thatSigBytes = wordArray.sigBytes; // Clamp excess bits this.clamp(); // Concat if (thisSigBytes % 4) { // Copy one byte at a time for (var i = 0; i 2] (24 - (i % 4) * 8)) & 0xff; thisWords[(thisSigBytes + i) 2] |= thatByte 2] = thatWords[i 2]; } } this.sigBytes += thatSigBytes; // Chainable return this; }, /** * Removes insignificant bits. * * @example * * wordArray.clamp(); */ clamp: function () { // Shortcuts var words = this.words; var sigBytes = this.sigBytes; // Clamp words[sigBytes 2] &= 0xffffffff 0x10)) & mask; m_w = (0x4650 * (m_w & 0xFFFF) + (m_w 0x10)) & mask; var result = ((m_z .5 ? 1 : -1); } }); for (var i = 0, rcache; i 2] (24 - (i % 4) * 8)) & 0xff; hexChars.push((bite 4).toString(16)); hexChars.push((bite & 0x0f).toString(16)); } return hexChars.join(''); }, /** * Converts a hex string to a word array. * * @param {string} hexStr The hex string. * * @return {WordArray} The word array. * * @static * * @example * * var wordArray = CryptoJS.enc.Hex.parse(hexString); */ parse: function (hexStr) { // Shortcut var hexStrLength = hexStr.length; // Convert var words = []; for (var i = 0; i 3] |= parseInt(hexStr.substr(i, 2), 16) 2] (24 - (i % 4) * 8)) & 0xff; latin1Chars.push(String.fromCharCode(bite)); } return latin1Chars.join(''); }, /** * Converts a Latin1 string to a word array. * * @param {string} latin1Str The Latin1 string. * * @return {WordArray} The word array. * * @static * * @example * * var wordArray = CryptoJS.enc.Latin1.parse(latin1String); */ parse: function (latin1Str) { // Shortcut var latin1StrLength = latin1Str.length; // Convert var words = []; for (var i = 0; i 2] |= (latin1Str.charCodeAt(i) & 0xff) 2] (24 - (i % 4) * 8)) & 0xff; var byte2 = (words[(i + 1) 2] (24 - ((i + 1) % 4) * 8)) & 0xff; var byte3 = (words[(i + 2) 2] (24 - ((i + 2) % 4) * 8)) & 0xff; var triplet = (byte1 (6 * (3 - j))) & 0x3f)); } } // Add padding var paddingChar = map.charAt(64); if (paddingChar) { while (base64Chars.length % 4) { base64Chars.push(paddingChar); } } return base64Chars.join(''); }, /** * Converts a Base64 string to a word array. * * @param {string} base64Str The Base64 string. * * @return {WordArray} The word array. * * @static * * @example * * var wordArray = CryptoJS.enc.Base64.parse(base64String); */ parse: function (base64Str) { // Shortcuts var base64StrLength = base64Str.length; var map = this._map; var reverseMap = this._reverseMap; if (!reverseMap) { reverseMap = this._reverseMap = []; for (var j = 0; j (6 - (i % 4) * 2); words[nBytes 2] |= (bits1 | bits2) 24)) & 0x00ff00ff) | (((M_offset_i 8)) & 0xff00ff00) ); } // Shortcuts var H = this._hash.words; var M_offset_0 = M[offset + 0]; var M_offset_1 = M[offset + 1]; var M_offset_2 = M[offset + 2]; var M_offset_3 = M[offset + 3]; var M_offset_4 = M[offset + 4]; var M_offset_5 = M[offset + 5]; var M_offset_6 = M[offset + 6]; var M_offset_7 = M[offset + 7]; var M_offset_8 = M[offset + 8]; var M_offset_9 = M[offset + 9]; var M_offset_10 = M[offset + 10]; var M_offset_11 = M[offset + 11]; var M_offset_12 = M[offset + 12]; var M_offset_13 = M[offset + 13]; var M_offset_14 = M[offset + 14]; var M_offset_15 = M[offset + 15]; // Working varialbes var a = H[0]; var b = H[1]; var c = H[2]; var d = H[3]; // Computation a = FF(a, b, c, d, M_offset_0, 7, T[0]); d = FF(d, a, b, c, M_offset_1, 12, T[1]); c = FF(c, d, a, b, M_offset_2, 17, T[2]); b = FF(b, c, d, a, M_offset_3, 22, T[3]); a = FF(a, b, c, d, M_offset_4, 7, T[4]); d = FF(d, a, b, c, M_offset_5, 12, T[5]); c = FF(c, d, a, b, M_offset_6, 17, T[6]); b = FF(b, c, d, a, M_offset_7, 22, T[7]); a = FF(a, b, c, d, M_offset_8, 7, T[8]); d = FF(d, a, b, c, M_offset_9, 12, T[9]); c = FF(c, d, a, b, M_offset_10, 17, T[10]); b = FF(b, c, d, a, M_offset_11, 22, T[11]); a = FF(a, b, c, d, M_offset_12, 7, T[12]); d = FF(d, a, b, c, M_offset_13, 12, T[13]); c = FF(c, d, a, b, M_offset_14, 17, T[14]); b = FF(b, c, d, a, M_offset_15, 22, T[15]); a = GG(a, b, c, d, M_offset_1, 5, T[16]); d = GG(d, a, b, c, M_offset_6, 9, T[17]); c = GG(c, d, a, b, M_offset_11, 14, T[18]); b = GG(b, c, d, a, M_offset_0, 20, T[19]); a = GG(a, b, c, d, M_offset_5, 5, T[20]); d = GG(d, a, b, c, M_offset_10, 9, T[21]); c = GG(c, d, a, b, M_offset_15, 14, T[22]); b = GG(b, c, d, a, M_offset_4, 20, T[23]); a = GG(a, b, c, d, M_offset_9, 5, T[24]); d = GG(d, a, b, c, M_offset_14, 9, T[25]); c = GG(c, d, a, b, M_offset_3, 14, T[26]); b = GG(b, c, d, a, M_offset_8, 20, T[27]); a = GG(a, b, c, d, M_offset_13, 5, T[28]); d = GG(d, a, b, c, M_offset_2, 9, T[29]); c = GG(c, d, a, b, M_offset_7, 14, T[30]); b = GG(b, c, d, a, M_offset_12, 20, T[31]); a = HH(a, b, c, d, M_offset_5, 4, T[32]); d = HH(d, a, b, c, M_offset_8, 11, T[33]); c = HH(c, d, a, b, M_offset_11, 16, T[34]); b = HH(b, c, d, a, M_offset_14, 23, T[35]); a = HH(a, b, c, d, M_offset_1, 4, T[36]); d = HH(d, a, b, c, M_offset_4, 11, T[37]); c = HH(c, d, a, b, M_offset_7, 16, T[38]); b = HH(b, c, d, a, M_offset_10, 23, T[39]); a = HH(a, b, c, d, M_offset_13, 4, T[40]); d = HH(d, a, b, c, M_offset_0, 11, T[41]); c = HH(c, d, a, b, M_offset_3, 16, T[42]); b = HH(b, c, d, a, M_offset_6, 23, T[43]); a = HH(a, b, c, d, M_offset_9, 4, T[44]); d = HH(d, a, b, c, M_offset_12, 11, T[45]); c = HH(c, d, a, b, M_offset_15, 16, T[46]); b = HH(b, c, d, a, M_offset_2, 23, T[47]); a = II(a, b, c, d, M_offset_0, 6, T[48]); d = II(d, a, b, c, M_offset_7, 10, T[49]); c = II(c, d, a, b, M_offset_14, 15, T[50]); b = II(b, c, d, a, M_offset_5, 21, T[51]); a = II(a, b, c, d, M_offset_12, 6, T[52]); d = II(d, a, b, c, M_offset_3, 10, T[53]); c = II(c, d, a, b, M_offset_10, 15, T[54]); b = II(b, c, d, a, M_offset_1, 21, T[55]); a = II(a, b, c, d, M_offset_8, 6, T[56]); d = II(d, a, b, c, M_offset_15, 10, T[57]); c = II(c, d, a, b, M_offset_6, 15, T[58]); b = II(b, c, d, a, M_offset_13, 21, T[59]); a = II(a, b, c, d, M_offset_4, 6, T[60]); d = II(d, a, b, c, M_offset_11, 10, T[61]); c = II(c, d, a, b, M_offset_2, 15, T[62]); b = II(b, c, d, a, M_offset_9, 21, T[63]); // Intermediate hash value H[0] = (H[0] + a) | 0; H[1] = (H[1] + b) | 0; H[2] = (H[2] + c) | 0; H[3] = (H[3] + d) | 0; }, _doFinalize: function () { // Shortcuts var data = this._data; var dataWords = data.words; var nBitsTotal = this._nDataBytes * 8; var nBitsLeft = data.sigBytes * 8; // Add padding dataWords[nBitsLeft 5] |= 0x80 9) 24)) & 0x00ff00ff) | (((nBitsTotalH 8)) & 0xff00ff00) ); dataWords[(((nBitsLeft + 64) 9) 24)) & 0x00ff00ff) | (((nBitsTotalL 8)) & 0xff00ff00) ); data.sigBytes = (dataWords.length + 1) * 4; // Hash final blocks this._process(); // Shortcuts var hash = this._hash; var H = hash.words; // Swap endian for (var i = 0; i 24)) & 0x00ff00ff) | (((H_i 8)) & 0xff00ff00); } // Return final computed hash return hash; }, clone: function () { var clone = Hasher.clone.call(this); clone._hash = this._hash.clone(); return clone; } }); function FF(a, b, c, d, x, s, t) { var n = a + ((b & c) | (~b & d)) + x + t; return ((n (32 - s))) + b; } function GG(a, b, c, d, x, s, t) { var n = a + ((b & d) | (c & ~d)) + x + t; return ((n (32 - s))) + b; } function HH(a, b, c, d, x, s, t) { var n = a + (b ^ c ^ d) + x + t; return ((n (32 - s))) + b; } function II(a, b, c, d, x, s, t) { var n = a + (c ^ (b | ~d)) + x + t; return ((n (32 - s))) + b; } /** * Shortcut function to the hasher's object interface. * * @param {WordArray|string} message The message to hash. * * @return {WordArray} The hash. * * @static * * @example * * var hash = CryptoJS.MD5('message'); * var hash = CryptoJS.MD5(wordArray); */ C.MD5 = Hasher._createHelper(MD5); /** * Shortcut function to the HMAC's object interface. * * @param {WordArray|string} message The message to hash. * @param {WordArray|string} key The secret key. * * @return {WordArray} The HMAC. * * @static * * @example * * var hmac = CryptoJS.HmacMD5(message, key); */ C.HmacMD5 = Hasher._createHmacHelper(MD5); }(Math)); (function () { // Shortcuts var C = CryptoJS; var C_lib = C.lib; var WordArray = C_lib.WordArray; var Hasher = C_lib.Hasher; var C_algo = C.algo; // Reusable object var W = []; /** * SHA-1 hash algorithm. */ var SHA1 = C_algo.SHA1 = Hasher.extend({ _doReset: function () { this._hash = new WordArray.init([ 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0 ]); }, _doProcessBlock: function (M, offset) { // Shortcut var H = this._hash.words; // Working variables var a = H[0]; var b = H[1]; var c = H[2]; var d = H[3]; var e = H[4]; // Computation for (var i = 0; i 31); } var t = ((a 27)) + e + W[i]; if (i 2); b = a; a = t; } // Intermediate hash value H[0] = (H[0] + a) | 0; H[1] = (H[1] + b) | 0; H[2] = (H[2] + c) | 0; H[3] = (H[3] + d) | 0; H[4] = (H[4] + e) | 0; }, _doFinalize: function () { // Shortcuts var data = this._data; var dataWords = data.words; var nBitsTotal = this._nDataBytes * 8; var nBitsLeft = data.sigBytes * 8; // Add padding dataWords[nBitsLeft 5] |= 0x80 9) 9) 7)) ^ ((gamma0x 18)) ^ (gamma0x 3); var gamma1x = W[i - 2]; var gamma1 = ((gamma1x 17)) ^ ((gamma1x 19)) ^ (gamma1x 10); W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]; } var ch = (e & f) ^ (~e & g); var maj = (a & b) ^ (a & c) ^ (b & c); var sigma0 = ((a 2)) ^ ((a 13)) ^ ((a 22)); var sigma1 = ((e 6)) ^ ((e 11)) ^ ((e 25)); var t1 = h + sigma1 + ch + K[i] + W[i]; var t2 = sigma0 + maj; h = g; g = f; f = e; e = (d + t1) | 0; d = c; c = b; b = a; a = (t1 + t2) | 0; } // Intermediate hash value H[0] = (H[0] + a) | 0; H[1] = (H[1] + b) | 0; H[2] = (H[2] + c) | 0; H[3] = (H[3] + d) | 0; H[4] = (H[4] + e) | 0; H[5] = (H[5] + f) | 0; H[6] = (H[6] + g) | 0; H[7] = (H[7] + h) | 0; }, _doFinalize: function () { // Shortcuts var data = this._data; var dataWords = data.words; var nBitsTotal = this._nDataBytes * 8; var nBitsLeft = data.sigBytes * 8; // Add padding dataWords[nBitsLeft 5] |= 0x80 9) 9) 2] (16 - (i % 4) * 8)) & 0xffff; utf16Chars.push(String.fromCharCode(codePoint)); } return utf16Chars.join(''); }, /** * Converts a UTF-16 BE string to a word array. * * @param {string} utf16Str The UTF-16 BE string. * * @return {WordArray} The word array. * * @static * * @example * * var wordArray = CryptoJS.enc.Utf16.parse(utf16String); */ parse: function (utf16Str) { // Shortcut var utf16StrLength = utf16Str.length; // Convert var words = []; for (var i = 0; i 1] |= utf16Str.charCodeAt(i) 2] (16 - (i % 4) * 8)) & 0xffff); utf16Chars.push(String.fromCharCode(codePoint)); } return utf16Chars.join(''); }, /** * Converts a UTF-16 LE string to a word array. * * @param {string} utf16Str The UTF-16 LE string. * * @return {WordArray} The word array. * * @static * * @example * * var wordArray = CryptoJS.enc.Utf16LE.parse(utf16Str); */ parse: function (utf16Str) { // Shortcut var utf16StrLength = utf16Str.length; // Convert var words = []; for (var i = 0; i 1] |= swapEndian(utf16Str.charCodeAt(i) 8) & 0x00ff00ff); } }()); (function () { // Check if typed arrays are supported if (typeof ArrayBuffer != 'function') { return; } // Shortcuts var C = CryptoJS; var C_lib = C.lib; var WordArray = C_lib.WordArray; // Reference original init var superInit = WordArray.init; // Augment WordArray.init to handle typed arrays var subInit = WordArray.init = function (typedArray) { // Convert buffers to uint8 if (typedArray instanceof ArrayBuffer) { typedArray = new Uint8Array(typedArray); } // Convert other array views to uint8 if ( typedArray instanceof Int8Array || (typeof Uint8ClampedArray !== "undefined" && typedArray instanceof Uint8ClampedArray) || typedArray instanceof Int16Array || typedArray instanceof Uint16Array || typedArray instanceof Int32Array || typedArray instanceof Uint32Array || typedArray instanceof Float32Array || typedArray instanceof Float64Array ) { typedArray = new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength); } // Handle Uint8Array if (typedArray instanceof Uint8Array) { // Shortcut var typedArrayByteLength = typedArray.byteLength; // Extract bytes var words = []; for (var i = 0; i 2] |= typedArray[i] 24)) & 0x00ff00ff) | (((M_offset_i 8)) & 0xff00ff00) ); } // Shortcut var H = this._hash.words; var hl = _hl.words; var hr = _hr.words; var zl = _zl.words; var zr = _zr.words; var sl = _sl.words; var sr = _sr.words; // Working variables var al, bl, cl, dl, el; var ar, br, cr, dr, er; ar = al = H[0]; br = bl = H[1]; cr = cl = H[2]; dr = dl = H[3]; er = el = H[4]; // Computation var t; for (var i = 0; i 5] |= 0x80 9) 24)) & 0x00ff00ff) | (((nBitsTotal 8)) & 0xff00ff00) ); data.sigBytes = (dataWords.length + 1) * 4; // Hash final blocks this._process(); // Shortcuts var hash = this._hash; var H = hash.words; // Swap endian for (var i = 0; i 24)) & 0x00ff00ff) | (((H_i 8)) & 0xff00ff00); } // Return final computed hash return hash; }, clone: function () { var clone = Hasher.clone.call(this); clone._hash = this._hash.clone(); return clone; } }); function f1(x, y, z) { return ((x) ^ (y) ^ (z)); } function f2(x, y, z) { return (((x)&(y)) | ((~x)&(z))); } function f3(x, y, z) { return (((x) | (~(y))) ^ (z)); } function f4(x, y, z) { return (((x) & (z)) | ((y)&(~(z)))); } function f5(x, y, z) { return ((x) ^ ((y) |(~(z)))); } function rotl(x,n) { return (x(32-n)); } /** * Shortcut function to the hasher's object interface. * * @param {WordArray|string} message The message to hash. * * @return {WordArray} The hash. * * @static * * @example * * var hash = CryptoJS.RIPEMD160('message'); * var hash = CryptoJS.RIPEMD160(wordArray); */ C.RIPEMD160 = Hasher._createHelper(RIPEMD160); /** * Shortcut function to the HMAC's object interface. * * @param {WordArray|string} message The message to hash. * @param {WordArray|string} key The secret key. * * @return {WordArray} The HMAC. * * @static * * @example * * var hmac = CryptoJS.HmacRIPEMD160(message, key); */ C.HmacRIPEMD160 = Hasher._createHmacHelper(RIPEMD160); }(Math)); (function () { // Shortcuts var C = CryptoJS; var C_lib = C.lib; var Base = C_lib.Base; var C_enc = C.enc; var Utf8 = C_enc.Utf8; var C_algo = C.algo; /** * HMAC algorithm. */ var HMAC = C_algo.HMAC = Base.extend({ /** * Initializes a newly created HMAC. * * @param {Hasher} hasher The hash algorithm to use. * @param {WordArray|string} key The secret key. * * @example * * var hmacHasher = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, key); */ init: function (hasher, key) { // Init hasher hasher = this._hasher = new hasher.init(); // Convert string to WordArray, else assume WordArray already if (typeof key == 'string') { key = Utf8.parse(key); } // Shortcuts var hasherBlockSize = hasher.blockSize; var hasherBlockSizeBytes = hasherBlockSize * 4; // Allow arbitrary length keys if (key.sigBytes hasherBlockSizeBytes) { key = hasher.finalize(key); } // Clamp excess bits key.clamp(); // Clone key for inner and outer pads var oKey = this._oKey = key.clone(); var iKey = this._iKey = key.clone(); // Shortcuts var oKeyWords = oKey.words; var iKeyWords = iKey.words; // XOR keys with pad constants for (var i = 0; i (32 - n)); // var low = this.low n) | (this.high n; // } else { // var low = this.high (n - 32); // var high = 0; // } // return X64Word.create(high, low); // }, /** * Rotates this word n bits to the left. * * @param {number} n The number of bits to rotate. * * @return {X64Word} A new x64-Word object after rotating. * * @example * * var rotated = x64Word.rotL(25); */ // rotL: function (n) { // return this.shiftL(n).or(this.shiftR(64 - n)); // }, /** * Rotates this word n bits to the right. * * @param {number} n The number of bits to rotate. * * @return {X64Word} A new x64-Word object after rotating. * * @example * * var rotated = x64Word.rotR(7); */ // rotR: function (n) { // return this.shiftR(n).or(this.shiftL(64 - n)); // }, /** * Adds this word with the passed word. * * @param {X64Word} word The x64-Word to add with this word. * * @return {X64Word} A new x64-Word object after adding. * * @example * * var added = x64Word.add(anotherX64Word); */ // add: function (word) { // var low = (this.low + word.low) | 0; // var carry = (low 0) 0) ? 1 : 0; // var high = (this.high + word.high + carry) | 0; // return X64Word.create(high, low); // } }); /** * An array of 64-bit words. * * @property {Array} words The array of CryptoJS.x64.Word objects. * @property {number} sigBytes The number of significant bytes in this word array. */ var X64WordArray = C_x64.WordArray = Base.extend({ /** * Initializes a newly created word array. * * @param {Array} words (Optional) An array of CryptoJS.x64.Word objects. * @param {number} sigBytes (Optional) The number of significant bytes in the words. * * @example * * var wordArray = CryptoJS.x64.WordArray.create(); * * var wordArray = CryptoJS.x64.WordArray.create([ * CryptoJS.x64.Word.create(0x00010203, 0x04050607), * CryptoJS.x64.Word.create(0x18191a1b, 0x1c1d1e1f) * ]); * * var wordArray = CryptoJS.x64.WordArray.create([ * CryptoJS.x64.Word.create(0x00010203, 0x04050607), * CryptoJS.x64.Word.create(0x18191a1b, 0x1c1d1e1f) * ], 10); */ init: function (words, sigBytes) { words = this.words = words || []; if (sigBytes != undefined) { this.sigBytes = sigBytes; } else { this.sigBytes = words.length * 8; } }, /** * Converts this 64-bit word array to a 32-bit word array. * * @return {CryptoJS.lib.WordArray} This word array's data as a 32-bit word array. * * @example * * var x32WordArray = x64WordArray.toX32(); */ toX32: function () { // Shortcuts var x64Words = this.words; var x64WordsLength = x64Words.length; // Convert var x32Words = []; for (var i = 0; i = 32) */ { roundConstantMsw ^= 1 24)) & 0x00ff00ff) | (((M2i 8)) & 0xff00ff00) ); M2i1 = ( (((M2i1 24)) & 0x00ff00ff) | (((M2i1 8)) & 0xff00ff00) ); // Absorb message into state var lane = state[i]; lane.high ^= M2i1; lane.low ^= M2i; } // Rounds for (var round = 0; round 31)); var tLsw = Tx4.low ^ ((Tx1Lsw 31)); for (var y = 0; y (32 - rhoOffset)); var tLsw = (laneLsw (32 - rhoOffset)); } else /* if (rhoOffset = 32) */ { var tMsw = (laneLsw (64 - rhoOffset)); var tLsw = (laneMsw (64 - rhoOffset)); } // Transpose lanes var TPiLane = T[PI_INDEXES[laneIndex]]; TPiLane.high = tMsw; TPiLane.low = tLsw; } // Rho pi at x = y = 0 var T0 = T[0]; var state0 = state[0]; T0.high = state0.high; T0.low = state0.low; // Chi for (var x = 0; x 5] |= 0x1 5) - 1] |= 0x80; data.sigBytes = dataWords.length * 4; // Hash final blocks this._process(); // Shortcuts var state = this._state; var outputLengthBytes = this.cfg.outputLength / 8; var outputLengthLanes = outputLengthBytes / 8; // Squeeze var hashWords = []; for (var i = 0; i 24)) & 0x00ff00ff) | (((laneMsw 8)) & 0xff00ff00) ); laneLsw = ( (((laneLsw 24)) & 0x00ff00ff) | (((laneLsw 8)) & 0xff00ff00) ); // Squeeze state to retrieve hash hashWords.push(laneLsw); hashWords.push(laneMsw); } // Return final computed hash return new WordArray.init(hashWords, outputLengthBytes); }, clone: function () { var clone = Hasher.clone.call(this); var state = clone._state = this._state.slice(0); for (var i = 0; i 1) | (gamma0xl 8) | (gamma0xl 7); var gamma0l = ((gamma0xl 1) | (gamma0xh 8) | (gamma0xh 7) | (gamma0xh 19) | (gamma1xl 29)) ^ (gamma1xh 6); var gamma1l = ((gamma1xl 19) | (gamma1xh 29)) ^ ((gamma1xl 6) | (gamma1xh 0) 0) ? 1 : 0); var Wil = Wil + gamma1l; var Wih = Wih + gamma1h + ((Wil 0) 0) ? 1 : 0); var Wil = Wil + Wi16l; var Wih = Wih + Wi16h + ((Wil 0) 0) ? 1 : 0); Wi.high = Wih; Wi.low = Wil; } var chh = (eh & fh) ^ (~eh & gh); var chl = (el & fl) ^ (~el & gl); var majh = (ah & bh) ^ (ah & ch) ^ (bh & ch); var majl = (al & bl) ^ (al & cl) ^ (bl & cl); var sigma0h = ((ah 28) | (al 2)) ^ ((ah 7)); var sigma0l = ((al 28) | (ah 2)) ^ ((al 7)); var sigma1h = ((eh 14) | (el 18) | (el 9)); var sigma1l = ((el 14) | (eh 18) | (eh 9)); // t1 = h + sigma1 + ch + K[i] + W[i] var Ki = K[i]; var Kih = Ki.high; var Kil = Ki.low; var t1l = hl + sigma1l; var t1h = hh + sigma1h + ((t1l 0) 0) ? 1 : 0); var t1l = t1l + chl; var t1h = t1h + chh + ((t1l 0) 0) ? 1 : 0); var t1l = t1l + Kil; var t1h = t1h + Kih + ((t1l 0) 0) ? 1 : 0); var t1l = t1l + Wil; var t1h = t1h + Wih + ((t1l 0) 0) ? 1 : 0); // t2 = sigma0 + maj var t2l = sigma0l + majl; var t2h = sigma0h + majh + ((t2l 0) 0) ? 1 : 0); // Update working variables hh = gh; hl = gl; gh = fh; gl = fl; fh = eh; fl = el; el = (dl + t1l) | 0; eh = (dh + t1h + ((el 0) 0) ? 1 : 0)) | 0; dh = ch; dl = cl; ch = bh; cl = bl; bh = ah; bl = al; al = (t1l + t2l) | 0; ah = (t1h + t2h + ((al 0) 0) ? 1 : 0)) | 0; } // Intermediate hash value H0l = H0.low = (H0l + al); H0.high = (H0h + ah + ((H0l 0) 0) ? 1 : 0)); H1l = H1.low = (H1l + bl); H1.high = (H1h + bh + ((H1l 0) 0) ? 1 : 0)); H2l = H2.low = (H2l + cl); H2.high = (H2h + ch + ((H2l 0) 0) ? 1 : 0)); H3l = H3.low = (H3l + dl); H3.high = (H3h + dh + ((H3l 0) 0) ? 1 : 0)); H4l = H4.low = (H4l + el); H4.high = (H4h + eh + ((H4l 0) 0) ? 1 : 0)); H5l = H5.low = (H5l + fl); H5.high = (H5h + fh + ((H5l 0) 0) ? 1 : 0)); H6l = H6.low = (H6l + gl); H6.high = (H6h + gh + ((H6l 0) 0) ? 1 : 0)); H7l = H7.low = (H7l + hl); H7.high = (H7h + hh + ((H7l 0) 0) ? 1 : 0)); }, _doFinalize: function () { // Shortcuts var data = this._data; var dataWords = data.words; var nBitsTotal = this._nDataBytes * 8; var nBitsLeft = data.sigBytes * 8; // Add padding dataWords[nBitsLeft 5] |= 0x80 10) 10) 2] & 0xff; // Remove padding data.sigBytes -= nPaddingBytes; } }; /** * Abstract base block cipher template. * * @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 4 (128 bits) */ var BlockCipher = C_lib.BlockCipher = Cipher.extend({ /** * Configuration options. * * @property {Mode} mode The block mode to use. Default: CBC * @property {Padding} padding The padding strategy to use. Default: Pkcs7 */ cfg: Cipher.cfg.extend({ mode: CBC, padding: Pkcs7 }), reset: function () { // Reset cipher Cipher.reset.call(this); // Shortcuts var cfg = this.cfg; var iv = cfg.iv; var mode = cfg.mode; // Reset block mode if (this._xformMode == this._ENC_XFORM_MODE) { var modeCreator = mode.createEncryptor; } else /* if (this._xformMode == this._DEC_XFORM_MODE) */ { var modeCreator = mode.createDecryptor; // Keep at least one block in the buffer for unpadding this._minBufferSize = 1; } if (this._mode && this._mode.__creator == modeCreator) { this._mode.init(this, iv && iv.words); } else { this._mode = modeCreator.call(mode, this, iv && iv.words); this._mode.__creator = modeCreator; } }, _doProcessBlock: function (words, offset) { this._mode.processBlock(words, offset); }, _doFinalize: function () { // Shortcut var padding = this.cfg.padding; // Finalize if (this._xformMode == this._ENC_XFORM_MODE) { // Pad data padding.pad(this._data, this.blockSize); // Process final blocks var finalProcessedBlocks = this._process(!!'flush'); } else /* if (this._xformMode == this._DEC_XFORM_MODE) */ { // Process final blocks var finalProcessedBlocks = this._process(!!'flush'); // Unpad data padding.unpad(finalProcessedBlocks); } return finalProcessedBlocks; }, blockSize: 128/32 }); /** * A collection of cipher parameters. * * @property {WordArray} ciphertext The raw ciphertext. * @property {WordArray} key The key to this ciphertext. * @property {WordArray} iv The IV used in the ciphering operation. * @property {WordArray} salt The salt used with a key derivation function. * @property {Cipher} algorithm The cipher algorithm. * @property {Mode} mode The block mode used in the ciphering operation. * @property {Padding} padding The padding scheme used in the ciphering operation. * @property {number} blockSize The block size of the cipher. * @property {Format} formatter The default formatting strategy to convert this cipher params object to a string. */ var CipherParams = C_lib.CipherParams = Base.extend({ /** * Initializes a newly created cipher params object. * * @param {Object} cipherParams An object with any of the possible cipher parameters. * * @example * * var cipherParams = CryptoJS.lib.CipherParams.create({ * ciphertext: ciphertextWordArray, * key: keyWordArray, * iv: ivWordArray, * salt: saltWordArray, * algorithm: CryptoJS.algo.AES, * mode: CryptoJS.mode.CBC, * padding: CryptoJS.pad.PKCS7, * blockSize: 4, * formatter: CryptoJS.format.OpenSSL * }); */ init: function (cipherParams) { this.mixIn(cipherParams); }, /** * Converts this cipher params object to a string. * * @param {Format} formatter (Optional) The formatting strategy to use. * * @return {string} The stringified cipher params. * * @throws Error If neither the formatter nor the default formatter is set. * * @example * * var string = cipherParams + ''; * var string = cipherParams.toString(); * var string = cipherParams.toString(CryptoJS.format.OpenSSL); */ toString: function (formatter) { return (formatter || this.formatter).stringify(this); } }); /** * Format namespace. */ var C_format = C.format = {}; /** * OpenSSL formatting strategy. */ var OpenSSLFormatter = C_format.OpenSSL = { /** * Converts a cipher params object to an OpenSSL-compatible string. * * @param {CipherParams} cipherParams The cipher params object. * * @return {string} The OpenSSL-compatible string. * * @static * * @example * * var openSSLString = CryptoJS.format.OpenSSL.stringify(cipherParams); */ stringify: function (cipherParams) { // Shortcuts var ciphertext = cipherParams.ciphertext; var salt = cipherParams.salt; // Format if (salt) { var wordArray = WordArray.create([0x53616c74, 0x65645f5f]).concat(salt).concat(ciphertext); } else { var wordArray = ciphertext; } return wordArray.toString(Base64); }, /** * Converts an OpenSSL-compatible string to a cipher params object. * * @param {string} openSSLStr The OpenSSL-compatible string. * * @return {CipherParams} The cipher params object. * * @static * * @example * * var cipherParams = CryptoJS.format.OpenSSL.parse(openSSLString); */ parse: function (openSSLStr) { // Parse base64 var ciphertext = Base64.parse(openSSLStr); // Shortcut var ciphertextWords = ciphertext.words; // Test for salt if (ciphertextWords[0] == 0x53616c74 && ciphertextWords[1] == 0x65645f5f) { // Extract salt var salt = WordArray.create(ciphertextWords.slice(2, 4)); // Remove salt from ciphertext ciphertextWords.splice(0, 4); ciphertext.sigBytes -= 16; } return CipherParams.create({ ciphertext: ciphertext, salt: salt }); } }; /** * A cipher wrapper that returns ciphertext as a serializable cipher params object. */ var SerializableCipher = C_lib.SerializableCipher = Base.extend({ /** * Configuration options. * * @property {Formatter} format The formatting strategy to convert cipher param objects to and from a string. Default: OpenSSL */ cfg: Base.extend({ format: OpenSSLFormatter }), /** * Encrypts a message. * * @param {Cipher} cipher The cipher algorithm to use. * @param {WordArray|string} message The message to encrypt. * @param {WordArray} key The key. * @param {Object} cfg (Optional) The configuration options to use for this operation. * * @return {CipherParams} A cipher params object. * * @static * * @example * * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key); * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv }); * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv, format: CryptoJS.format.OpenSSL }); */ encrypt: function (cipher, message, key, cfg) { // Apply config defaults cfg = this.cfg.extend(cfg); // Encrypt var encryptor = cipher.createEncryptor(key, cfg); var ciphertext = encryptor.finalize(message); // Shortcut var cipherCfg = encryptor.cfg; // Create and return serializable cipher params return CipherParams.create({ ciphertext: ciphertext, key: key, iv: cipherCfg.iv, algorithm: cipher, mode: cipherCfg.mode, padding: cipherCfg.padding, blockSize: cipher.blockSize, formatter: cfg.format }); }, /** * Decrypts serialized ciphertext. * * @param {Cipher} cipher The cipher algorithm to use. * @param {CipherParams|string} ciphertext The ciphertext to decrypt. * @param {WordArray} key The key. * @param {Object} cfg (Optional) The configuration options to use for this operation. * * @return {WordArray} The plaintext. * * @static * * @example * * var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, key, { iv: iv, format: CryptoJS.format.OpenSSL }); * var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, key, { iv: iv, format: CryptoJS.format.OpenSSL }); */ decrypt: function (cipher, ciphertext, key, cfg) { // Apply config defaults cfg = this.cfg.extend(cfg); // Convert string to CipherParams ciphertext = this._parse(ciphertext, cfg.format); // Decrypt var plaintext = cipher.createDecryptor(key, cfg).finalize(ciphertext.ciphertext); return plaintext; }, /** * Converts serialized ciphertext to CipherParams, * else assumed CipherParams already and returns ciphertext unchanged. * * @param {CipherParams|string} ciphertext The ciphertext. * @param {Formatter} format The formatting strategy to use to parse serialized ciphertext. * * @return {CipherParams} The unserialized ciphertext. * * @static * * @example * * var ciphertextParams = CryptoJS.lib.SerializableCipher._parse(ciphertextStringOrParams, format); */ _parse: function (ciphertext, format) { if (typeof ciphertext == 'string') { return format.parse(ciphertext, this); } else { return ciphertext; } } }); /** * Key derivation function namespace. */ var C_kdf = C.kdf = {}; /** * OpenSSL key derivation function. */ var OpenSSLKdf = C_kdf.OpenSSL = { /** * Derives a key and IV from a password. * * @param {string} password The password to derive from. * @param {number} keySize The size in words of the key to generate. * @param {number} ivSize The size in words of the IV to generate. * @param {WordArray|string} salt (Optional) A 64-bit salt to use. If omitted, a salt will be generated randomly. * * @return {CipherParams} A cipher params object with the key, IV, and salt. * * @static * * @example * * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32); * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32, 'saltsalt'); */ execute: function (password, keySize, ivSize, salt) { // Generate random salt if (!salt) { salt = WordArray.random(64/8); } // Derive key and IV var key = EvpKDF.create({ keySize: keySize + ivSize }).compute(password, salt); // Separate key and IV var iv = WordArray.create(key.words.slice(keySize), ivSize * 4); key.sigBytes = keySize * 4; // Return params return CipherParams.create({ key: key, iv: iv, salt: salt }); } }; /** * A serializable cipher wrapper that derives the key from a password, * and returns ciphertext as a serializable cipher params object. */ var PasswordBasedCipher = C_lib.PasswordBasedCipher = SerializableCipher.extend({ /** * Configuration options. * * @property {KDF} kdf The key derivation function to use to generate a key and IV from a password. Default: OpenSSL */ cfg: SerializableCipher.cfg.extend({ kdf: OpenSSLKdf }), /** * Encrypts a message using a password. * * @param {Cipher} cipher The cipher algorithm to use. * @param {WordArray|string} message The message to encrypt. * @param {string} password The password. * @param {Object} cfg (Optional) The configuration options to use for this operation. * * @return {CipherParams} A cipher params object. * * @static * * @example * * var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password'); * var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password', { format: CryptoJS.format.OpenSSL }); */ encrypt: function (cipher, message, password, cfg) { // Apply config defaults cfg = this.cfg.extend(cfg); // Derive key and other params var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize); // Add IV to config cfg.iv = derivedParams.iv; // Encrypt var ciphertext = SerializableCipher.encrypt.call(this, cipher, message, derivedParams.key, cfg); // Mix in derived params ciphertext.mixIn(derivedParams); return ciphertext; }, /** * Decrypts serialized ciphertext using a password. * * @param {Cipher} cipher The cipher algorithm to use. * @param {CipherParams|string} ciphertext The ciphertext to decrypt. * @param {string} password The password. * @param {Object} cfg (Optional) The configuration options to use for this operation. * * @return {WordArray} The plaintext. * * @static * * @example * * var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, 'password', { format: CryptoJS.format.OpenSSL }); * var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, 'password', { format: CryptoJS.format.OpenSSL }); */ decrypt: function (cipher, ciphertext, password, cfg) { // Apply config defaults cfg = this.cfg.extend(cfg); // Convert string to CipherParams ciphertext = this._parse(ciphertext, cfg.format); // Derive key and other params var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt); // Add IV to config cfg.iv = derivedParams.iv; // Decrypt var plaintext = SerializableCipher.decrypt.call(this, cipher, ciphertext, derivedParams.key, cfg); return plaintext; } }); }()); /** * Cipher Feedback block mode. */ CryptoJS.mode.CFB = (function () { var CFB = CryptoJS.lib.BlockCipherMode.extend(); CFB.Encryptor = CFB.extend({ processBlock: function (words, offset) { // Shortcuts var cipher = this._cipher; var blockSize = cipher.blockSize; generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher); // Remember this block to use with next block this._prevBlock = words.slice(offset, offset + blockSize); } }); CFB.Decryptor = CFB.extend({ processBlock: function (words, offset) { // Shortcuts var cipher = this._cipher; var blockSize = cipher.blockSize; // Remember this block to use with next block var thisBlock = words.slice(offset, offset + blockSize); generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher); // This block becomes the previous block this._prevBlock = thisBlock; } }); function generateKeystreamAndEncrypt(words, offset, blockSize, cipher) { // Shortcut var iv = this._iv; // Generate keystream if (iv) { var keystream = iv.slice(0); // Remove IV for subsequent blocks this._iv = undefined; } else { var keystream = this._prevBlock; } cipher.encryptBlock(keystream, 0); // Encrypt for (var i = 0; i 2] |= nPaddingBytes 2] & 0xff; // Remove padding data.sigBytes -= nPaddingBytes; } }; /** * ISO 10126 padding strategy. */ CryptoJS.pad.Iso10126 = { pad: function (data, blockSize) { // Shortcut var blockSizeBytes = blockSize * 4; // Count padding bytes var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes; // Pad data.concat(CryptoJS.lib.WordArray.random(nPaddingBytes - 1)). concat(CryptoJS.lib.WordArray.create([nPaddingBytes 2] & 0xff; // Remove padding data.sigBytes -= nPaddingBytes; } }; /** * ISO/IEC 9797-1 Padding Method 2. */ CryptoJS.pad.Iso97971 = { pad: function (data, blockSize) { // Add 0x80 byte data.concat(CryptoJS.lib.WordArray.create([0x80000000], 1)); // Zero pad the rest CryptoJS.pad.ZeroPadding.pad(data, blockSize); }, unpad: function (data) { // Remove zero padding CryptoJS.pad.ZeroPadding.unpad(data); // Remove one more byte -- the 0x80 byte data.sigBytes--; } }; /** * 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 8) ^ (sx & 0xff) ^ 0x63; SBOX[x] = sx; INV_SBOX[sx] = x; // Compute multiplication var x2 = d[x]; var x4 = d[x2]; var x8 = d[x4]; // Compute sub bytes, mix columns tables var t = (d[sx] * 0x101) ^ (sx * 0x1010100); SUB_MIX_0[x] = (t 8); SUB_MIX_1[x] = (t 16); SUB_MIX_2[x] = (t 24); SUB_MIX_3[x] = t; // Compute inv sub bytes, inv mix columns tables var t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100); INV_SUB_MIX_0[sx] = (t 8); INV_SUB_MIX_1[sx] = (t 16); INV_SUB_MIX_2[sx] = (t 24); INV_SUB_MIX_3[sx] = t; // Compute next counter if (!x) { x = xi = 1; } else { x = x2 ^ d[d[d[x8 ^ x2]]]; xi ^= d[d[xi]]; } } }()); // Precomputed Rcon lookup var RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36]; /** * AES block cipher algorithm. */ var AES = C_algo.AES = BlockCipher.extend({ _doReset: function () { // Skip reset of nRounds has been set before and key did not change if (this._nRounds && this._keyPriorReset === this._key) { return; } // Shortcuts var key = this._keyPriorReset = this._key; var keyWords = key.words; var keySize = key.sigBytes / 4; // Compute number of rounds var nRounds = this._nRounds = keySize + 6; // Compute number of key schedule rows var ksRows = (nRounds + 1) * 4; // Compute key schedule var keySchedule = this._keySchedule = []; for (var ksRow = 0; ksRow 24); // Sub word t = (SBOX[t 24] 16) & 0xff] 8) & 0xff] 6 && ksRow % keySize == 4) { // Sub word t = (SBOX[t 24] 16) & 0xff] 8) & 0xff] 24]] ^ INV_SUB_MIX_1[SBOX[(t 16) & 0xff]] ^ INV_SUB_MIX_2[SBOX[(t 8) & 0xff]] ^ INV_SUB_MIX_3[SBOX[t & 0xff]]; } } }, encryptBlock: function (M, offset) { this._doCryptBlock(M, offset, this._keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX); }, decryptBlock: function (M, offset) { // Swap 2nd and 4th rows var t = M[offset + 1]; M[offset + 1] = M[offset + 3]; M[offset + 3] = t; this._doCryptBlock(M, offset, this._invKeySchedule, INV_SUB_MIX_0, INV_SUB_MIX_1, INV_SUB_MIX_2, INV_SUB_MIX_3, INV_SBOX); // Inv swap 2nd and 4th rows var t = M[offset + 1]; M[offset + 1] = M[offset + 3]; M[offset + 3] = t; }, _doCryptBlock: function (M, offset, keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX) { // Shortcut var nRounds = this._nRounds; // Get input, add round key var s0 = M[offset] ^ keySchedule[0]; var s1 = M[offset + 1] ^ keySchedule[1]; var s2 = M[offset + 2] ^ keySchedule[2]; var s3 = M[offset + 3] ^ keySchedule[3]; // Key schedule row counter var ksRow = 4; // Rounds for (var round = 1; round 24] ^ SUB_MIX_1[(s1 16) & 0xff] ^ SUB_MIX_2[(s2 8) & 0xff] ^ SUB_MIX_3[s3 & 0xff] ^ keySchedule[ksRow++]; var t1 = SUB_MIX_0[s1 24] ^ SUB_MIX_1[(s2 16) & 0xff] ^ SUB_MIX_2[(s3 8) & 0xff] ^ SUB_MIX_3[s0 & 0xff] ^ keySchedule[ksRow++]; var t2 = SUB_MIX_0[s2 24] ^ SUB_MIX_1[(s3 16) & 0xff] ^ SUB_MIX_2[(s0 8) & 0xff] ^ SUB_MIX_3[s1 & 0xff] ^ keySchedule[ksRow++]; var t3 = SUB_MIX_0[s3 24] ^ SUB_MIX_1[(s0 16) & 0xff] ^ SUB_MIX_2[(s1 8) & 0xff] ^ SUB_MIX_3[s2 & 0xff] ^ keySchedule[ksRow++]; // Update state s0 = t0; s1 = t1; s2 = t2; s3 = t3; } // Shift rows, sub bytes, add round key var t0 = ((SBOX[s0 24] 16) & 0xff] 8) & 0xff] 24] 16) & 0xff] 8) & 0xff] 24] 16) & 0xff] 8) & 0xff] 24] 16) & 0xff] 8) & 0xff] 5] (31 - keyBitPos % 32)) & 1; } // Assemble 16 subkeys var subKeys = this._subKeys = []; for (var nSubKey = 0; nSubKey 31); for (var i = 1; i ((i - 1) * 4 + 3); } subKey[7] = (subKey[7] 27); } // Compute inverse subkeys var invSubKeys = this._invSubKeys = []; for (var i = 0; i 0]; } this._lBlock = rBlock; this._rBlock = lBlock ^ f; } // Undo swap from last round var t = this._lBlock; this._lBlock = this._rBlock; this._rBlock = t; // Final permutation exchangeLR.call(this, 1, 0x55555555); exchangeRL.call(this, 8, 0x00ff00ff); exchangeRL.call(this, 2, 0x33333333); exchangeLR.call(this, 16, 0x0000ffff); exchangeLR.call(this, 4, 0x0f0f0f0f); // Set output M[offset] = this._lBlock; M[offset + 1] = this._rBlock; }, keySize: 64/32, ivSize: 64/32, blockSize: 64/32 }); // Swap bits across the left and right words function exchangeLR(offset, mask) { var t = ((this._lBlock offset) ^ this._rBlock) & mask; this._rBlock ^= t; this._lBlock ^= t offset) ^ this._lBlock) & mask; this._lBlock ^= t; this._rBlock ^= t 2] (24 - (keyByteIndex % 4) * 8)) & 0xff; j = (j + S[i] + keyByte) % 256; // Swap var t = S[i]; S[i] = S[j]; S[j] = t; } // Counters this._i = this._j = 0; }, _doProcessBlock: function (M, offset) { M[offset] ^= generateKeystreamWord.call(this); }, keySize: 256/32, ivSize: 0 }); function generateKeystreamWord() { // Shortcuts var S = this._S; var i = this._i; var j = this._j; // Generate keystream word var keystreamWord = 0; for (var n = 0; n 0; i--) { generateKeystreamWord.call(this); } } }); /** * Shortcut functions to the cipher's object interface. * * @example * * var ciphertext = CryptoJS.RC4Drop.encrypt(message, key, cfg); * var plaintext = CryptoJS.RC4Drop.decrypt(ciphertext, key, cfg); */ C.RC4Drop = StreamCipher._createHelper(RC4Drop); }()); /** @preserve * Counter block mode compatible with Dr Brian Gladman fileenc.c * derived from CryptoJS.mode.CTR * Jan Hruby jhruby.web@gmail.com */ CryptoJS.mode.CTRGladman = (function () { var CTRGladman = CryptoJS.lib.BlockCipherMode.extend(); function incWord(word) { if (((word 24) & 0xff) === 0xff) { //overflow var b1 = (word 16)&0xff; var b2 = (word 8)&0xff; var b3 = word & 0xff; if (b1 === 0xff) // overflow b1 { b1 = 0; if (b2 === 0xff) { b2 = 0; if (b3 === 0xff) { b3 = 0; } else { ++b3; } } else { ++b2; } } else { ++b1; } word = 0; word += (b1 24)) & 0x00ff00ff) | (((K[i] 8)) & 0xff00ff00); } // Generate initial state values var X = this._X = [ K[0], (K[3] 16), K[1], (K[0] 16), K[2], (K[1] 16), K[3], (K[2] 16) ]; // Generate initial counter values var C = this._C = [ (K[2] 16), (K[0] & 0xffff0000) | (K[1] & 0x0000ffff), (K[3] 16), (K[1] & 0xffff0000) | (K[2] & 0x0000ffff), (K[0] 16), (K[2] & 0xffff0000) | (K[3] & 0x0000ffff), (K[1] 16), (K[3] & 0xffff0000) | (K[0] & 0x0000ffff) ]; // Carry bit this._b = 0; // Iterate the system four times for (var i = 0; i 24)) & 0x00ff00ff) | (((IV_0 8)) & 0xff00ff00); var i2 = (((IV_1 24)) & 0x00ff00ff) | (((IV_1 8)) & 0xff00ff00); var i1 = (i0 16) | (i2 & 0xffff0000); var i3 = (i2 16) ^ (X[3] 16) ^ (X[5] 16) ^ (X[7] 16) ^ (X[1] 24)) & 0x00ff00ff) | (((S[i] 8)) & 0xff00ff00); // Encrypt M[offset + i] ^= S[i]; } }, blockSize: 128/32, ivSize: 64/32 }); function nextState() { // Shortcuts var X = this._X; var C = this._C; // Save old counter values for (var i = 0; i 0) 0) ? 1 : 0)) | 0; C[2] = (C[2] + 0x34d34d34 + ((C[1] 0) 0) ? 1 : 0)) | 0; C[3] = (C[3] + 0x4d34d34d + ((C[2] 0) 0) ? 1 : 0)) | 0; C[4] = (C[4] + 0xd34d34d3 + ((C[3] 0) 0) ? 1 : 0)) | 0; C[5] = (C[5] + 0x34d34d34 + ((C[4] 0) 0) ? 1 : 0)) | 0; C[6] = (C[6] + 0x4d34d34d + ((C[5] 0) 0) ? 1 : 0)) | 0; C[7] = (C[7] + 0xd34d34d3 + ((C[6] 0) 0) ? 1 : 0)) | 0; this._b = (C[7] 0) 0) ? 1 : 0; // Calculate the g-values for (var i = 0; i 16; // Calculate high and low result of squaring var gh = ((((ga * ga) 17) + ga * gb) 15) + gb * gb; var gl = (((gx & 0xffff0000) * gx) | 0) + (((gx & 0x0000ffff) * gx) | 0); // High XOR low G[i] = gh ^ gl; } // Calculate new state values X[0] = (G[0] + ((G[7] 16)) + ((G[6] 16))) | 0; X[1] = (G[1] + ((G[0] 24)) + G[7]) | 0; X[2] = (G[2] + ((G[1] 16)) + ((G[0] 16))) | 0; X[3] = (G[3] + ((G[2] 24)) + G[1]) | 0; X[4] = (G[4] + ((G[3] 16)) + ((G[2] 16))) | 0; X[5] = (G[5] + ((G[4] 24)) + G[3]) | 0; X[6] = (G[6] + ((G[5] 16)) + ((G[4] 16))) | 0; X[7] = (G[7] + ((G[6] 24)) + G[5]) | 0; } /** * Shortcut functions to the cipher's object interface. * * @example * * var ciphertext = CryptoJS.Rabbit.encrypt(message, key, cfg); * var plaintext = CryptoJS.Rabbit.decrypt(ciphertext, key, cfg); */ C.Rabbit = StreamCipher._createHelper(Rabbit); }()); /** * Counter block mode. */ CryptoJS.mode.CTR = (function () { var CTR = CryptoJS.lib.BlockCipherMode.extend(); var Encryptor = CTR.Encryptor = CTR.extend({ processBlock: function (words, offset) { // Shortcuts var cipher = this._cipher var blockSize = cipher.blockSize; var iv = this._iv; var counter = this._counter; // Generate keystream if (iv) { counter = this._counter = iv.slice(0); // Remove IV for subsequent blocks this._iv = undefined; } var keystream = counter.slice(0); cipher.encryptBlock(keystream, 0); // Increment counter counter[blockSize - 1] = (counter[blockSize - 1] + 1) | 0 // Encrypt for (var i = 0; i 16), K[1], (K[0] 16), K[2], (K[1] 16), K[3], (K[2] 16) ]; // Generate initial counter values var C = this._C = [ (K[2] 16), (K[0] & 0xffff0000) | (K[1] & 0x0000ffff), (K[3] 16), (K[1] & 0xffff0000) | (K[2] & 0x0000ffff), (K[0] 16), (K[2] & 0xffff0000) | (K[3] & 0x0000ffff), (K[1] 16), (K[3] & 0xffff0000) | (K[0] & 0x0000ffff) ]; // Carry bit this._b = 0; // Iterate the system four times for (var i = 0; i 24)) & 0x00ff00ff) | (((IV_0 8)) & 0xff00ff00); var i2 = (((IV_1 24)) & 0x00ff00ff) | (((IV_1 8)) & 0xff00ff00); var i1 = (i0 16) | (i2 & 0xffff0000); var i3 = (i2 16) ^ (X[3] 16) ^ (X[5] 16) ^ (X[7] 16) ^ (X[1] 24)) & 0x00ff00ff) | (((S[i] 8)) & 0xff00ff00); // Encrypt M[offset + i] ^= S[i]; } }, blockSize: 128/32, ivSize: 64/32 }); function nextState() { // Shortcuts var X = this._X; var C = this._C; // Save old counter values for (var i = 0; i 0) 0) ? 1 : 0)) | 0; C[2] = (C[2] + 0x34d34d34 + ((C[1] 0) 0) ? 1 : 0)) | 0; C[3] = (C[3] + 0x4d34d34d + ((C[2] 0) 0) ? 1 : 0)) | 0; C[4] = (C[4] + 0xd34d34d3 + ((C[3] 0) 0) ? 1 : 0)) | 0; C[5] = (C[5] + 0x34d34d34 + ((C[4] 0) 0) ? 1 : 0)) | 0; C[6] = (C[6] + 0x4d34d34d + ((C[5] 0) 0) ? 1 : 0)) | 0; C[7] = (C[7] + 0xd34d34d3 + ((C[6] 0) 0) ? 1 : 0)) | 0; this._b = (C[7] 0) 0) ? 1 : 0; // Calculate the g-values for (var i = 0; i 16; // Calculate high and low result of squaring var gh = ((((ga * ga) 17) + ga * gb) 15) + gb * gb; var gl = (((gx & 0xffff0000) * gx) | 0) + (((gx & 0x0000ffff) * gx) | 0); // High XOR low G[i] = gh ^ gl; } // Calculate new state values X[0] = (G[0] + ((G[7] 16)) + ((G[6] 16))) | 0; X[1] = (G[1] + ((G[0] 24)) + G[7]) | 0; X[2] = (G[2] + ((G[1] 16)) + ((G[0] 16))) | 0; X[3] = (G[3] + ((G[2] 24)) + G[1]) | 0; X[4] = (G[4] + ((G[3] 16)) + ((G[2] 16))) | 0; X[5] = (G[5] + ((G[4] 24)) + G[3]) | 0; X[6] = (G[6] + ((G[5] 16)) + ((G[4] 16))) | 0; X[7] = (G[7] + ((G[6] 24)) + G[5]) | 0; } /** * Shortcut functions to the cipher's object interface. * * @example * * var ciphertext = CryptoJS.RabbitLegacy.encrypt(message, key, cfg); * var plaintext = CryptoJS.RabbitLegacy.decrypt(ciphertext, key, cfg); */ C.RabbitLegacy = StreamCipher._createHelper(RabbitLegacy); }()); /** * Zero padding strategy. */ CryptoJS.pad.ZeroPadding = { pad: function (data, blockSize) { // Shortcut var blockSizeBytes = blockSize * 4; // Pad data.clamp(); data.sigBytes += blockSizeBytes - ((data.sigBytes % blockSizeBytes) || blockSizeBytes); }, unpad: function (data) { // Shortcut var dataWords = data.words; // Unpad var i = data.sigBytes - 1; while (!((dataWords[i 2] (24 - (i % 4) * 8)) & 0xff)) { i--; } data.sigBytes = i + 1; } }; return CryptoJS; })); /** * Decrypt a salted msg using a password. * Inspired by https://github.com/adonespitogo */ var keySize = 256; var iterations = 1000; function decrypt (encryptedMsg, pass) { var salt = CryptoJS.enc.Hex.parse(encryptedMsg.substr(0, 32)); var iv = CryptoJS.enc.Hex.parse(encryptedMsg.substr(32, 32)) var encrypted = encryptedMsg.substring(64); var key = CryptoJS.PBKDF2(pass, salt, { keySize: keySize/32, iterations: iterations }); var decrypted = CryptoJS.AES.decrypt(encrypted, key, { iv: iv, padding: CryptoJS.pad.Pkcs7, mode: CryptoJS.mode.CBC }).toString(CryptoJS.enc.Utf8); return decrypted; } document.getElementById('staticrypt-form').addEventListener('submit', function(e) { e.preventDefault(); var passphrase = document.getElementById('staticrypt-password').value, encryptedMsg = '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', encryptedHMAC = encryptedMsg.substring(0, 64), encryptedHTML = encryptedMsg.substring(64), decryptedHMAC = CryptoJS.HmacSHA256(encryptedHTML, CryptoJS.SHA256(passphrase).toString()).toString(); if (decryptedHMAC !== encryptedHMAC) { alert('Niepoprawny hash!'); return; } var plainHTML = decrypt(encryptedHTML, passphrase); document.write(plainHTML); document.close(); });