基于FPGA的PCI硬件加解密卡設計
摘要:提出一種基于FPGA的PCI硬件加解密卡的設計方案,用硬件加解密取代了傳統的軟件加解密,將加解密模塊和PCI接口模塊集成在一個(gè)FPGA芯片內實(shí)現。分析了PCI加解密卡的軟硬件的結構和原理,詳細介紹了DESX加解密算法的原理、步驟和硬件實(shí)現、PCI接口模塊的IP核設計以及USB接口模塊的電路連接。系統硬件以FPGA為核心,使用QuartusII7.2軟件和VHDL語(yǔ)言設計,軟件由DriverStudio2.7和VisualC++6-.0設計。采用192位密鑰的DESX分組對稱(chēng)加解密算法來(lái)取代64位DES算法,密文和密鑰在專(zhuān)用硬件中存儲,計算機內只有明文,有效防止黑客攻擊,保護數據安全。設計采用邏輯綜合式取代時(shí)鐘驅動(dòng)級聯(lián)式來(lái)實(shí)現DESX算法,使加密一組數據的時(shí)間由16
個(gè)周期縮短為1個(gè)周期。
關(guān)鍵詞:DESX算法;硬件加解密;FPGA;PCI;USB
數據加解密分為軟件加解密和硬件加解密兩種。目前,采用軟件加解密的方法對數據進(jìn)行加解密較為普遍,原因是軟件加解密方法實(shí)現起來(lái)較為簡(jiǎn)單和經(jīng)濟,但其弱點(diǎn)是軟件加解密的明文、密文和密鑰都需要在計算機內存儲,容易被竊取、攻擊和破譯,難以應用到需要高級保密的商業(yè)機密和軍事機密中。硬件加解密可以較好解決軟件加解密的不足。硬件加解密的密文和密鑰可以在專(zhuān)用硬件中存儲,計算機內只有明文,而且硬件加解密基于硬件層處理,CPU不參與加解密的執行過(guò)程,不會(huì )占用系統資源。因此使用硬件加解密方法,更為安全可靠,是保證數據安全的根本方法,適用于軍事機密和高級商業(yè)機密。
但同時(shí)硬件加解密實(shí)現起來(lái)較為困難,主要表現在其較高的生產(chǎn)成本、加解密的硬件實(shí)現、加解密速度的提高。以及在調試時(shí)不易做分級驗證等。另外,在本PCI加解密卡的接口模塊設計中用到了復雜的USB、PCI協(xié)議,增加了開(kāi)發(fā)的難度。
1 設計思想
PCI硬件加解密卡是基于加解密器件和PCI總線(xiàn)技術(shù)的安全保密設備,為重要的計算機信息提供加密、解密、存儲和分發(fā)的功能,有效防止機密信息的截獲和破譯,可以應用在需要高級保密級別的商業(yè)和軍事領(lǐng)域。系統采用硬件加密方式對數據進(jìn)行加密存儲和解密讀取。加解密過(guò)程在專(zhuān)用硬件中進(jìn)行,加密強度較高。系統最大特點(diǎn)是密鑰和密文均不在計算機中存儲,而是存儲在專(zhuān)用硬件中,計算機中只存有明文,可有效防止竊取、攻擊和破譯。
加密操作時(shí),PC機的明文數據通過(guò)PCI接口傳輸到FPGA內的加解密模塊進(jìn)行硬件加密,加密后的密文通過(guò)USB接口送到密文載體中存儲和分發(fā)。解密操作時(shí),數據的傳輸過(guò)程相反。加解密算法采用DESX分組對稱(chēng)密鑰加密算法.密鑰為192位二進(jìn)制數,與傳統的DES相比,更為安全、可靠。密鑰存儲在PCI卡上的非易失存儲器(EEPROM)中,當密鑰由于不再安全或者過(guò)期等原因需要更新時(shí),通過(guò)執行相應軟件來(lái)更新EEPROM上的密鑰信息,而不需要拆卸硬件。系統加密存儲和解密讀取的工作原理圖如圖l所示。
2 系統硬件結構和實(shí)現
2.1 硬件結構
加解密卡為PC機PCI卡形式,通過(guò)PCI插槽與PC機相連,密文載體與PCI卡的USB接口相連。其硬件主要由三部分組成:加解密模塊、PCI接口模塊和USB接口模塊。其中,加解密模塊和PCI接口模塊在FPGA內實(shí)現,FPGA型號是EP1C12Q240C8,設計軟件為QuartusⅡ7.2,采用自頂向下(Top-Down)的實(shí)現方式,編輯語(yǔ)言為VHDL。
2.2 加解密算法的硬件實(shí)現
硬件加解密是本系統的核心部分。DES算法在加解密和密鑰生成過(guò)程中全部使用邏輯運算和查表運算,FPGA在實(shí)現算法方面具有靈活性、物理安全性和比軟件更高的速度,而且可移植性好,便于升級,因此FPGA已成為硬件實(shí)現DES算法的最佳選擇。
超級電容器相關(guān)文章:超級電容器原理
評論