劉松 夏樹村
該文提出一種有效的基于內容可尋址存儲器(CAM)的S/S-1盒查找表的實現方法,可以應用于AES的加密和解密運算,與基于RAM的S/S-1盒查找表相比,其復雜性顯著降低。同時還提出一種關鍵路徑上只有5個異或門延遲的列/逆列混合復用的硬件結構,大大節省了芯片面積。
AES;內容可尋址存儲器;S/S-1盒;列/逆列混合
1.引言
隨著AES算法的推廣,其應用的范圍越來越廣泛。一般的硬件實現方案都是采用并行運算的形式,雖然提供了很高的數據吞吐率,但是資源消耗卻很大,這就使得AES在便攜設備等對硬件開銷要求苛刻的領域中的應用受到限制。
為了能夠高效、低成本的實現AES算法,本文提出一種新穎的基于內容可尋址存儲器(CAM)的S/S-1盒查找表方法,僅使用一個查找表就可以實現AES的加密和解密運算。與基于RAM的S/S-1盒查找表相比,這種存儲器的復雜性顯著地降低。同時還提出一種低復雜度的硬件結構來實現列/逆列混合變換,使得解密過程能夠充分利用加密的硬件資源,進一步有效地減少了芯片面積。
本文組織結構如下:第2節簡要介紹AES算法;第3節重點介紹基于CAM的S/S-1盒查找表的體系結構,并與單獨實現S盒與S-1盒查找表的方法進行比較;第4節詳細介紹列/逆列混合的優化設計;第5節總結全文。
2.AES算法
AES是一種對稱分組密碼算法,其分組長度和密鑰長度均可變,支持任意組合的128bit、192bit和256bit的分組長度和密鑰長度。根據不同的密鑰長度,AES的圈數分別為10、12和14。數據分組被分割成字節陣列,每一次運算都是面向字節的運算。……