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