瀏覽單個文章
公不
*停權中*
 

加入日期: Dec 2010
文章: 341
這是包含在修改過的AES 加密的JavaScript的一個步驟

因為原本範例的JavaScript

http://point-at-infinity.org/jsaes/jsaes.js

其中要被加密的資料

是 var block = new Array(16);

引用:
* The following code example enciphers the plaintext block '00 11 22 .. EE FF'
* with the 256 bit key '00 01 02 .. 1E 1F'.


而很不湊巧的

這邊我變成是 string輸入

也因此需要在改寫的 JavaScript增加

stringtohex ----> 輸出為 已經轉成hex 的string

然後又用了 這個 hexstr2array

將已經 hex的 block 的string 做

1.額外添加至128

2. 轉成128 做加密運算

PS. 會這樣理解

是因為JavaScript裡面是這樣用法

代碼:
var plaintext_byte = hexstr2array(plaintext_hex, 128);


然後

原始的AES範例的JavaScript

在加密前另外是這樣處理

代碼:
 *    var block = new Array(16);
 *    for(var i = 0; i < 16; i++)
 *        block[i] = 0x11 * i;


而修改過的AES JavaScript則是

代碼:
var block = new Array(32);

			for (var j=0; j<32; j++)
			{
				block[j] = passwd_byte[i*32+j];
			}
			block = AES_Encrypt(block,plaintext_byte);


現在整個被JS無形別的var搞得很混亂

謝謝
舊 2014-06-21, 03:22 PM #13
回應時引用此文章
公不離線中