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