AES加密,由S盒计算逆S盒程序
1.在工作中時常會遇到需要數據加密傳輸的情況,而AES加密則是安全性與運算速度都很好的加密算法,而且代碼量極小,但給定的標準AES代碼的S盒和逆S盒都是一樣的,而為了加密數據的安全性,需要對內部的S盒修改時,則需要根據修修改后的S盒求出逆S盒,AES算法才能正確的加解密數據。
2.逆S盒是S盒的逆運算,比如數據0x12,則S盒則是將0x12,拆分為高低位兩個數據,分別對應S盒的1行2列的數據,這里假設為0x58,而逆S盒的第5行8列的數據為0x12。
3.根據S盒與逆S盒原理寫的C程序代碼。
uint8_t Te_InvS[16][16] = { 0 };?? ??? ?//逆S盒緩存
 uint8_t Te_InVSAdd[2] = { 0 };?? ??? ??? ?//位置
 for (uint8_t i = 0; i < 16; i++) {?? ??? ??? ??? ??? ?//計算逆S盒
 ?? ?for (uint8_t n = 0; n < 16; n++) {
 ?? ??? ?Te_InVSAdd[0] = (S_BOX[i][n] >> 4) & 0x0f;?? ??? ?//取行
 ?? ??? ?Te_InVSAdd[1] = (S_BOX[i][n] >> 0) & 0x0f;?? ??? ?//取列
 ?? ??? ?Te_InvS[Te_InVSAdd[0]][Te_InVSAdd[1]] = i * 16 + n;?? ??? ?//置值
 ?? ?}
 }?
其中的S_BOX為一個16*16的數組。
總結
以上是生活随笔為你收集整理的AES加密,由S盒计算逆S盒程序的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: FTP的主动模式和被动模式
- 下一篇: Python——使用OGR操作矢量数据
