關 閉

新聞中心

EEPW首頁 > 工控自動化 > 設計應用 > 基于MEMS強鏈和FPGA的USB移動硬盤數(shù)據(jù)加解密系統(tǒng)

基于MEMS強鏈和FPGA的USB移動硬盤數(shù)據(jù)加解密系統(tǒng)

作者: 時間:2009-09-14 來源:網(wǎng)絡 收藏
 

本文引用地址:http://m.butianyuan.cn/article/202653.htm

圖 3 中的全局控制狀態(tài)機負責整個系統(tǒng)的控制和協(xié)調(diào),它實時的監(jiān)測PIO 寫入命令,并在恰當?shù)臅r機把IDE 總線控制權切換給加密流水線或解密流水線。當加解密流水線執(zhí)行完一次 DMA 傳輸命令后,總線控制權會重新交還給全局控制狀態(tài)機。

  5. AES 加密模塊的實現(xiàn)

  AES 的設計原理可參考文獻[1],下面只簡單介紹算法過程。AES 是一個迭代的分組密碼, 每一輪迭代稱為一個輪變換,包括一個混合和三個代換:

  (1)字節(jié)代換(SubBytes):利用S 盒對狀態(tài)的每一個字節(jié)進行非線性變換。

  (2)行移位(ShiftRow):對狀態(tài)的每一行,按不同的位移量進行行移位。

 ?。?)列混合(MixColumn):對狀態(tài)中的每一列并行應用列混合,在最后一輪省略該步。

 ?。?)擴展密鑰加(AddRoundKey):與擴展密鑰異或。 加密算法的流程如圖4 所示。

  相應的,解密算法使用逆序的擴展密鑰,輪變換分別為InvSubByte,InvShiftRow, InvMixColumn,數(shù)據(jù)流程稍有不同。

  我們設計的AES 加密運算模塊以128 位為一個分組,完成一個分組的運算需要11 個時鐘 周期。第1 個時鐘周期,密鑰擴展模塊輸出第1 個擴展密碼,也就是初始密碼本身;同時初始 變換模塊用這個擴展密碼對128 位明文作AddRoundKey 操作。

  第2 個到第11 個時鐘周期,密 鑰擴展模塊依次生成10 個擴展密碼,同時,輪變換模塊利用這些擴展密碼對輸入密文作10 個 輪次的輪變換,其中最后一輪缺少列混合操作,然后輸出最終的密文,結束一個分組的運算。

  6. 數(shù)據(jù)吞吐率分析

  Ultra DMA 在模式2 下的數(shù)據(jù)傳輸率為33.33MB/s。由于 全局時鐘頻率為100MHz, 所以加解密一個128 位分組需要110ns。加上數(shù)據(jù)的輸入和輸出階段各占用一個時鐘周期,總共 需要130ns。所以加解密模塊的數(shù)據(jù)處理速率約為61.54MB/s,完全能夠達到實時處理的要求。

  7. 結束語

  本文提出了一種安全高效的 數(shù)據(jù)加解密系統(tǒng)。其中, 強鏈的應用開辟 了系統(tǒng)物理認證的新方向;Ultra DMA 協(xié)議接口的 實現(xiàn)大大提高了硬盤讀寫的吞吐率,同時AES 加解模塊的處理速率又能完全滿足Ultra DMA 傳輸帶寬,兩者的有機協(xié)作使得一種高 效的硬件加解密流水線得以實現(xiàn)。


上一頁 1 2 3 下一頁

關鍵詞: MEMS FPGA USB 移動硬盤

評論


相關推薦

技術專區(qū)

關閉