
1.密碼算法的選擇
AES表有很多性能、實現和應用上的優點,因此面向網絡控制系統的加密卡選用AES作為它的加、解密算法。
從輸入到輸出,AES加密算法的輪變換有字節代替、行移位、列混淆和輪密鑰加4種變換。其中矩陣內的乘法、加法均在有限域GF(28)上進行。為進一步提高速度,可預先將S盒裏的各元素與對應的數值相乘製成表,這樣只要16次查表和16次異或操作就可得到一輪輪變換後全部的狀態矩陣的值。
解、加密都可用預先構造表的方法來提高實現速度,它們執行性能是一樣的。但解密密鑰要在加密密鑰的基礎上進行 InvMixColumns變換得到,因此解密比加密的密鑰生成略慢。
2.基於DSP的AES算法實現及優化
由AES密碼算法思想,顺利获得預計算和查表結合的方法改進AES算法的加解密輪變換;同時用線性與非線性變換本身的特點重構解密輪變換,加速解密輪變換;並針對AES整體特點提出基於TMS320C60000的編碼和代碼優化方案。
為提升性能應盡所能創造較大的內循環,編譯器直接面對最大的C循環為發揮軟件流水的最大作用。
在加解密的輪變換中,對狀態矩陣 State的取命令非常耗時,其存取次數直接影響代碼的執行速度。因此只在每次加解密開始讀取狀態矩陣 State,將其存入狀態變 State中,再用變量作為各次疊代的中間變量,在循環後再把最後結果放入狀態矩陣,可大大減小代碼執行的時鐘周期。
3.加密卡仿真性能分析
在TI的TMS320C6000硬件平台上進行AES算法仿真及優化。處理器倍頻後為150MHz,此時加密速度可達40.00Mb/s,解密速度可達38.79Mb/s,即對控制指令通常為幾個字節以內的情形,相應的處理時長在0.1s數量級。
網絡控制加密卡主要從加密的角度保護網絡中結點間的通信,它的主要特徵是:①用DSP+USB的硬件結構和AES的密碼算法,充分利用三者的優勢;②實現對控制系統中所傳輸信息的按需加、解密處理;③數據處理速度快,滿足高實時性應用的要求,仿真實現的AES密碼算法加、解密處理速度分別約為40Mbs和38.79Mb/s。由此可見,基於DSP的AES加密卡可處理網絡控制系統中的信息安全問題,也不影響控制網絡的高實時性要求。
