提高加密應(yīng)用的系統(tǒng)效率
為了確保數(shù)據(jù)從數(shù)據(jù)源安全傳輸?shù)侥康牡?,必須在安全?yīng)用中采用加密技術(shù)。最常用的加密技術(shù)采用確定性算法,并對固定長度數(shù)據(jù)塊進行固定不變的轉(zhuǎn)換操作。此類加密技術(shù)包括高級加密標準(AES)、數(shù)據(jù)加密標準(DES)、國際數(shù)據(jù)加密算法(IDEA)和RC5等。
本文引用地址:http://m.butianyuan.cn/article/235667.htm然而,這種“分組密碼”方案會制約硬件的吞吐量、數(shù)據(jù)處理和緩沖容量,因為加密操作必須在下個數(shù)據(jù)塊到來之前完成。大量工業(yè)加密系統(tǒng)都支持200Mbps以上的數(shù)據(jù)速率,但與簡單的微控制器相比,硬件(一般是ASIC)要想達到如此高的數(shù)據(jù)速率所需的成本極高。盡管簡單地利用具有外部存儲器的8位MCU(例如8051)能夠?qū)崿F(xiàn)加密功能,但執(zhí)行加密所用的時間與ASIC相比就會呈數(shù)量級增加。本文將介紹如何利用帶可編程邏輯的SoC并借助MCU內(nèi)核以及通用數(shù)字塊(UDB)和直接存儲器訪問(DMA)等其它硬件功能來實現(xiàn)加密并改善系統(tǒng)的總體時間。
高級加密標準(AES)是最常用的分組密碼技術(shù)之一,采用對稱密鑰密碼。我們以AES-128器件通過128位加密密鑰處理16字節(jié)(128位)數(shù)據(jù)塊為例,演示加密應(yīng)用的要求以及可能的實現(xiàn)方案。在處理開始之前,利用AES-128將輸入字節(jié)設(shè)置成圖1所示的分組格式。表中的in0是第一個字節(jié),in15是第16個字節(jié)也是輸入塊的最后一個字節(jié)。
評論