AES128加密解密
void deAes(sint8 *c, sint32 clen, sint8 *key, sint8 * pPlainText) {
 sint32 keylen = 16;
 sint32 k, i;
 sint32 cArray[4][4];
 sint32 wArray[4][4];
 
 if(clen == 0 || clen % 16 != 0) {
 return;
 }
 if(!checkKeyLen(keylen)) {
 return;
 }
 extendKey(key);
 
 for(k = 0; k < clen; k = 16) {
 convertToIntArray(c  k, cArray);
addRoundKey(cArray, 10);
 
 for(i = 9; i >= 1; i--) {
 deSubBytes(cArray);
deShiftRows(cArray);
 deMixColumns(cArray);
 getArrayFrom4W(i, wArray);
 deMixColumns(wArray);
 addRoundTowArray(cArray, wArray);
 }
deSubBytes(cArray);
deShiftRows(cArray);
addRoundKey(cArray, 0);
convertArrayToStr(cArray, pPlainText k);
 }
}        

 
  
					
				
评论