Changeset 1:f0f7977591d8

engrave

← 0:2ca7d4688c35 1:f0f7977591d8 2:c6cd77103c07
Author:
Kang Seonghoon <public+hg@mearie.org>
Committed on

encrypt/decrypt returns flattened array.

Files

engrave.html
engrave.js

Diff

     1.1 --- a/engrave.html	Sat Feb 14 20:53:48 2009 +0900
     1.2 +++ b/engrave.html	Sat Feb 14 21:05:03 2009 +0900
     1.3 @@ -16,7 +16,7 @@
     1.4  		var cipher = Engrave.encrypt(plain, key, iv);
     1.5  		document.write(plain+'<br/>');
     1.6  		document.write(cipher+'<br/>');
     1.7 -		document.write(Engrave.decrypt(Array.concat(cipher[0],(cipher[1]||[])), key, iv));
     1.8 +		document.write(Engrave.decrypt(cipher, key, iv));
     1.9  	</script>
    1.10  </body>
    1.11  </html>
     2.1 --- a/engrave.js	Sat Feb 14 20:53:48 2009 +0900
     2.2 +++ b/engrave.js	Sat Feb 14 21:05:03 2009 +0900
     2.3 @@ -28,8 +28,14 @@
     2.4   */
     2.5  
     2.6  var Engrave = (function() {
     2.7 -	var //AES_NR = 14, AES_NK = 8,
     2.8 -	AES_NR = 10, AES_NK = 4,
     2.9 +	var
    2.10 +
    2.11 +	flatten = function(arr) {
    2.12 +		return Array.prototype.concat.apply([], arr);
    2.13 +	},
    2.14 +
    2.15 +	//AES_NR = 14, AES_NK = 8, // AES-256
    2.16 +	AES_NR = 10, AES_NK = 4, // AES-128
    2.17  	AES_SBOX = [99,124,119,123,242,107,111,197,48,1,103,43,254,215,
    2.18  		171,118,202,130,201,125,250,89,71,240,173,212,162,175,
    2.19  		156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,
    2.20 @@ -288,7 +294,7 @@
    2.21  			res[nblocks] = aes_xor_partial_block(next,
    2.22  				plain.slice(nblocks*16, nblocks*16+16));
    2.23  		}
    2.24 -		return res;
    2.25 +		return flatten(res);
    2.26  	},
    2.27  
    2.28  	aes_decrypt_cfb = function(cipher, key, iv) {
    2.29 @@ -307,7 +313,7 @@
    2.30  			res[nblocks] = aes_xor_partial_block(next,
    2.31  				cipher.slice(nblocks*16, nblocks*16+16));
    2.32  		}
    2.33 -		return res;
    2.34 +		return flatten(res);
    2.35  	};
    2.36  
    2.37  	return {

Powered by Mercurial