女人被狂躁到高潮视频免费无遮挡,内射人妻骚骚骚,免费人成小说在线观看网站,九九影院午夜理论片少妇,免费av永久免费网址

當(dāng)前位置:首頁 > EDA > 電子設(shè)計自動化
[導(dǎo)讀]摘要:提出一種基于FPGA的PCI硬件加解密卡的設(shè)計方案,用硬件加解密取代了傳統(tǒng)的軟件加解密,將加解密模塊和PCI接口模塊集成在一個FPGA芯片內(nèi)實現(xiàn)。分析了PCI加解密卡的軟硬件的結(jié)構(gòu)和原理,詳細(xì)介紹了DESX加解密算法

摘要:提出一種基于FPGAPCI硬件加解密卡的設(shè)計方案,用硬件加解密取代了傳統(tǒng)的軟件加解密,將加解密模塊和PCI接口模塊集成在一個FPGA芯片內(nèi)實現(xiàn)。分析了PCI加解密卡的軟硬件的結(jié)構(gòu)和原理,詳細(xì)介紹了DESX加解密算法的原理、步驟和硬件實現(xiàn)、PCI接口模塊的IP核設(shè)計以及USB接口模塊的電路連接。系統(tǒng)硬件以FPGA為核心,使用QuartusII7.2軟件和VHDL語言設(shè)計,軟件由DriverStudio2.7和VisualC++6-.0設(shè)計。采用192位密鑰的DESX分組對稱加解密算法來取代64位DES算法,密文和密鑰在專用硬件中存儲,計算機內(nèi)只有明文,有效防止黑客攻擊,保護數(shù)據(jù)安全。設(shè)計采用邏輯綜合式取代時鐘驅(qū)動級聯(lián)式來實現(xiàn)DESX算法,使加密一組數(shù)據(jù)的時間由16
個周期縮短為1個周期。
關(guān)鍵詞:DESX算法;硬件加解密;FPGA;PCI;USB

    數(shù)據(jù)加解密分為軟件加解密和硬件加解密兩種。目前,采用軟件加解密的方法對數(shù)據(jù)進行加解密較為普遍,原因是軟件加解密方法實現(xiàn)起來較為簡單和經(jīng)濟,但其弱點是軟件加解密的明文、密文和密鑰都需要在計算機內(nèi)存儲,容易被竊取、攻擊和破譯,難以應(yīng)用到需要高級保密的商業(yè)機密和軍事機密中。硬件加解密可以較好解決軟件加解密的不足。硬件加解密的密文和密鑰可以在專用硬件中存儲,計算機內(nèi)只有明文,而且硬件加解密基于硬件層處理,CPU不參與加解密的執(zhí)行過程,不會占用系統(tǒng)資源。因此使用硬件加解密方法,更為安全可靠,是保證數(shù)據(jù)安全的根本方法,適用于軍事機密和高級商業(yè)機密。
    但同時硬件加解密實現(xiàn)起來較為困難,主要表現(xiàn)在其較高的生產(chǎn)成本、加解密的硬件實現(xiàn)、加解密速度的提高。以及在調(diào)試時不易做分級驗證等。另外,在本PCI加解密卡的接口模塊設(shè)計中用到了復(fù)雜的USB、PCI協(xié)議,增加了開發(fā)的難度。

1 設(shè)計思想
    PCI硬件加解密卡是基于加解密器件和PCI總線技術(shù)的安全保密設(shè)備,為重要的計算機信息提供加密、解密、存儲和分發(fā)的功能,有效防止機密信息的截獲和破譯,可以應(yīng)用在需要高級保密級別的商業(yè)和軍事領(lǐng)域。系統(tǒng)采用硬件加密方式對數(shù)據(jù)進行加密存儲和解密讀取。加解密過程在專用硬件中進行,加密強度較高。系統(tǒng)最大特點是密鑰和密文均不在計算機中存儲,而是存儲在專用硬件中,計算機中只存有明文,可有效防止竊取、攻擊和破譯。
    加密操作時,PC機的明文數(shù)據(jù)通過PCI接口傳輸?shù)紽PGA內(nèi)的加解密模塊進行硬件加密,加密后的密文通過USB接口送到密文載體中存儲和分發(fā)。解密操作時,數(shù)據(jù)的傳輸過程相反。加解密算法采用DESX分組對稱密鑰加密算法.密鑰為192位二進制數(shù),與傳統(tǒng)的DES相比,更為安全、可靠。密鑰存儲在PCI卡上的非易失存儲器(EEPROM)中,當(dāng)密鑰由于不再安全或者過期等原因需要更新時,通過執(zhí)行相應(yīng)軟件來更新EEPROM上的密鑰信息,而不需要拆卸硬件。系統(tǒng)加密存儲和解密讀取的工作原理圖如圖l所示。

2 系統(tǒng)硬件結(jié)構(gòu)和實現(xiàn)
2.1 硬件結(jié)構(gòu)
    加解密卡為PC機PCI卡形式,通過PCI插槽與PC機相連,密文載體與PCI卡的USB接口相連。其硬件主要由三部分組成:加解密模塊、PCI接口模塊和USB接口模塊。其中,加解密模塊和PCI接口模塊在FPGA內(nèi)實現(xiàn),F(xiàn)PGA型號是EP1C12Q240C8,設(shè)計軟件為QuartusⅡ7.2,采用自頂向下(Top-Down)的實現(xiàn)方式,編輯語言為VHDL。
2.2 加解密算法的硬件實現(xiàn)
    硬件加解密是本系統(tǒng)的核心部分。DES算法在加解密和密鑰生成過程中全部使用邏輯運算和查表運算,F(xiàn)PGA在實現(xiàn)算法方面具有靈活性、物理安全性和比軟件更高的速度,而且可移植性好,便于升級,因此FPGA已成為硬件實現(xiàn)DES算法的最佳選擇。
    DES算法的加密過程分為4步:初始置換、迭代過程、子密鑰生成和逆置換。DES算法16層加密變換框圖如圖2所示。


    若采用時鐘驅(qū)動級聯(lián)式來實現(xiàn)DES算法,數(shù)據(jù)在時鐘的驅(qū)動下從上一級的輸出送入下一級循環(huán)的輸入,那么對同一組數(shù)據(jù)完成加解密需要16輪時鐘循環(huán),至少需要16個時鐘周期才能完成,加解密時間長。為了提高速度,采用了邏輯綜合式進行DES設(shè)計。采用循環(huán)嵌套展開的方式完成16輪循環(huán)。利用編譯綜合器將16輪循環(huán)的整體邏輯結(jié)果用等效的邏輯電路來實現(xiàn),當(dāng)輸入數(shù)據(jù)和密鑰有效后,邏輯直接輸出16輪循環(huán)的邏輯結(jié)果,使加密一組數(shù)據(jù)的時間由16個周期縮短為1個周期,時間延遲僅僅取決于電路的邏輯延遲。這種方法的缺點是占用了較多的系統(tǒng)資源,而且開發(fā)過程中不易做分級驗證。
    本系統(tǒng)使用的DESX算法是在DES基礎(chǔ)上改進的加密算法。將DES的64位密鑰擴展到192位,即使用3把64位的密鑰。KEYl、KEY2和KEY3對數(shù)據(jù)塊進行3次加密,充分保證了數(shù)據(jù)的安全。DESX加密過程分為3個步驟:1)使用KEYl對數(shù)據(jù)塊做XOR運算;2)使用KEY2對上一步的結(jié)果再做XOR運算;3)使用KEY3對第二步的結(jié)果進行DES加密從而得到密文。與DES和3DES相比,只做一次DES運算。但密鑰長度提高到192位,在保證安全性的前提下,最大限度提高了加解密的執(zhí)行效率。DESX的解密過程與加密過程相反,其加解密流程如圖3所示。圖4是對數(shù)據(jù)0x0123456789-ABCDEF進行加密測試的仿真圖,其系統(tǒng)時鐘為50 MHz。


2.3 PCI接口模塊設(shè)計
    PCI接口模塊是PCI總線與加解密卡之間的轉(zhuǎn)換接口,也可認(rèn)為其主要功能是起一個橋梁作用,完成用戶設(shè)備與PCI總線之間的數(shù)據(jù)傳輸。從技術(shù)要求和成本方面考慮,以及本數(shù)據(jù)采集卡的特點,可以將加解密模塊和PCI接口模塊在一個FPGA內(nèi)實現(xiàn),用戶可以按需要進行配置,而且提高了系統(tǒng)集成度,可移植性好。
    PCI接口模塊采用自頂而下的設(shè)計方法,在數(shù)據(jù)流和控制流分析的基礎(chǔ)上,按照PCI接口的內(nèi)部邏輯功能及結(jié)構(gòu),分成幾個單獨的模塊,結(jié)構(gòu)清晰,便于單獨模塊的測試。在設(shè)計PCI接口模塊時,需要考慮支持PCI總線協(xié)議中的有關(guān)內(nèi)容。PCI接口模塊可以只包含PCI-Slave(從PCI),也可以選擇同時包含PCI-Mater(主PCI)。其中,PCI-Slave是接口模塊必須的,PCI-Mater是可選的,但是如果實現(xiàn)PCI-Mater,則Arbiter(仲裁器)就是必須的。完整的PCI接口模塊電路如圖5所示。

    PCI接口模塊的核心設(shè)計分為時序控制和配置空間兩部分。時序控制部分保證了板卡能按正常的PCI時序工作,配置空間部分保證了PCI卡的即插即用功能。在時序控制程序中采用狀態(tài)機模型來實現(xiàn)不同時序的轉(zhuǎn)換,各種命令、數(shù)據(jù)交換、控制均在狀態(tài)機的管理下進行工作。本設(shè)計中的狀態(tài)機主要由中斷應(yīng)答、突發(fā)讀操作、突發(fā)寫操作、配置讀操作、配置寫操作、I/O讀寫傳輸、存儲器讀寫傳輸?shù)?個部分組成,工作流程如圖6所示。


2.4 USB接口模塊設(shè)計
    本系統(tǒng)的USB選用CH375B,工作于USB-HOST主機方式,采用并行接口。在USB主機方式下,CH375B支持各種常用的USB全速設(shè)備,外部單片機需要編寫固件程序按照相應(yīng)的USB協(xié)議與USB設(shè)備通訊。USB接口模塊電路圖如圖7所示。


    CH375B并行接口信號線包括:8位雙向數(shù)據(jù)總線D7~DO、讀選通輸入引腳RD#、寫選通輸入引腳WR#、片選輸入引腳CS#、中斷輸出引腳INT#以及地址輸入引腳A0。CH375B的RD#和WR#可以分別連接到單片機的讀選通輸出引腳和寫選通輸出引腳,CS#由地址譯碼電路驅(qū)動,INT#輸出的中斷請求是低電平有效,可以連接到單片機的中斷輸入引腳,單片機使用中斷方式獲知中斷請求。當(dāng)WR#為高電平并且CS#和RD#及A0都為低電平時,CH375B中的數(shù)據(jù)通過D7~DO輸出;當(dāng)RD#為高電平并且CS#和wR#以及A0都為低電平時,D7~DO上的數(shù)據(jù)被寫入CH375B中;當(dāng)RD#為高電平并且CS#和WR#都為低電平而AO為高電平時,D7~DO上的數(shù)據(jù)被作為命令碼寫入CH375B中。

3 軟件的設(shè)計與實現(xiàn)
    軟件主要分為驅(qū)動程序和應(yīng)用程序兩部分,分別用DriverStudio和Visual C++開發(fā)。驅(qū)動程序的設(shè)計關(guān)鍵是如何完成硬件操作?;竟δ馨ㄔO(shè)備的初始化、IO端口的讀寫操作、內(nèi)存讀寫操作、中斷的設(shè)置響應(yīng)和調(diào)用等部分。PCI卡插入主機時,從設(shè)備中讀出產(chǎn)品ID(PlD)和廠商ID(VID),由這2個值來搜索匹配的inf文件,再由inf文件加載相應(yīng)的驅(qū)動。應(yīng)用程序通過調(diào)用Win32 API函數(shù)CreatFile來打開設(shè)備,然后使用DeviceloControl與驅(qū)動程序通信。在應(yīng)用程序退出前使用CloseHandle關(guān)閉設(shè)備。DeviceIoControl使用不同的IOCTL命令來調(diào)用驅(qū)動程序完成不同的任務(wù)。

4 結(jié)束語
    經(jīng)測試,本PCI加解密卡數(shù)據(jù)加密存儲速度為612 KByte/s,解密讀取速度為630 KByte/s。FPGA使用情況:total logicelements 903l/12060(75%),total pin 84/173(49%)。在以后的設(shè)計中,應(yīng)重點解決系統(tǒng)加解密速度較慢的問題,另外,F(xiàn)PGA和USB的選型、加解密算法的優(yōu)化等有待改進。
    本設(shè)計的創(chuàng)新點在于用硬件加解密方法取代了通常的軟件加解密方法,采用更為安全可靠的DESX算法來彌補DES算法的不足,使用了FPGA的IP軟核設(shè)計方法實現(xiàn)DESX加解密模塊和PCI接口模塊,提高了系統(tǒng)集成度,可移植性好,便于系統(tǒng)升級。在加解密速度方面,用邏輯綜合式取代時鐘驅(qū)動級聯(lián)式,使加解密一組數(shù)據(jù)的時間由16個周期縮短為1個周期。本系統(tǒng)在需要高級保密的商業(yè)和軍事領(lǐng)域,有著較好的應(yīng)用前景。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

港交所擬修改主板上市規(guī)則,以便利尚未有盈利或業(yè)績支持的先進技術(shù)企業(yè)融資。港交所刊發(fā)有關(guān)特??萍脊旧鲜兄贫鹊淖稍兾募?,提議對《上市規(guī)則》進行修訂,建議設(shè)立新渠道,以讓特??萍脊居诼?lián)交所主板上市,并就此征詢市場意見。新規(guī)...

關(guān)鍵字: 信息技術(shù) 新能源 硬件

流水賬式的推文比較亂,不夠系統(tǒng),也形成不了好的宣傳效應(yīng),所以我整理了一個硬件基礎(chǔ)知識框架,后面推文會圍繞這個展開,中間也會穿插一些項目和實際應(yīng)用例程。

關(guān)鍵字: 硬件 項目 例程

Linux內(nèi)核是從V2.6開始引入設(shè)備樹的概念,其起源于OF:OpenFirmware, 用于描述一個硬件平臺的硬件資源信息,這些信息包括:CPU的數(shù)量和類別、內(nèi)存基地址和大小、總線和橋、外設(shè)連接、中斷控制器和中斷使用情...

關(guān)鍵字: Linux內(nèi)核 硬件 CPU

最近為什么越來越多的研究開始利用FPGA作為CNN加速器?FPGA與CNN的相遇究竟能帶來什么神奇效果呢?原來,F(xiàn)PGA擁有大量的可編程邏輯資源,相對于GPU,它的可重構(gòu)性以及高功耗能效比的優(yōu)點,是GPU無法比擬的;同時...

關(guān)鍵字: FPGA 可編程邏輯資源 GPU

FPGA的應(yīng)用領(lǐng)域包羅萬象,我們今天來看看在音樂科技領(lǐng)域及醫(yī)療照護的智能巧思。

關(guān)鍵字: FPGA 科技領(lǐng)域 智能

珀金埃爾默日前推出Cellaca PLX圖像式細(xì)胞分析系統(tǒng),這是業(yè)界第一款能讓研究人員在單個自動化工作流中實現(xiàn)對細(xì)胞樣本多個關(guān)鍵質(zhì)量屬性進行分析和評估的臺式平臺,包括對細(xì)胞性質(zhì)、質(zhì)量和數(shù)量的分析評估。擁有尖端技術(shù)的Cel...

關(guān)鍵字: AC EXCEL 硬件 自動化

強大的產(chǎn)品可降低信號噪音并提高分辨率與動態(tài)

關(guān)鍵字: Spectrum儀器 數(shù)字化儀 FPGA

最近某項目采用以太網(wǎng)通信,實踐起來有些奇怪,好像設(shè)計成只能應(yīng)答某類計算機的ICMP(ping)命令, 某類計算機指的是Windows特定系統(tǒng),其他系統(tǒng)發(fā)送ping都不能正確識別。

關(guān)鍵字: 嵌入式Linux FPGA 協(xié)議

近兩年,國外廠商的FPGA芯片價格飆升,由于價格,貨期,出口管制等多方面因素的影響,很多公司都在尋找FPGA國產(chǎn)化替代方案。我工作中正在使用的幾款芯片也面臨停產(chǎn)的風(fēng)險,用一片少一片,了解到國產(chǎn)FPGA發(fā)展的也不錯,完全自...

關(guān)鍵字: FPGA 芯片 EDA

上周說開始盤三極管,周末我專門花時間去研究了小伙伴的留言,又去翻了模電的書,目的是尋找好的切入點。去翻課本,發(fā)現(xiàn)課本上總是會從三極管的發(fā)展歷程講起,談?wù)勅龢O管的物理構(gòu)成,分析內(nèi)部載流子的傳輸過程,電流的分配關(guān)系等等。這些...

關(guān)鍵字: 三極管 內(nèi)部載流子 硬件

電子設(shè)計自動化

21191 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉