<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于FPGA的高速加密卡設計與實(shí)現

基于FPGA的高速加密卡設計與實(shí)現

作者: 時(shí)間:2013-08-10 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要為增強數據信息的安全性,設計了一種基于的高性能。該通過(guò)PCI Express總線(xiàn)與主機通信,由芯片內置的Nios ll軟核處理器和PCI—E硬核分別實(shí)現控制器模塊與通信接口模塊功能;采用SM1、RSA算法對數據進(jìn)行加密或解密。將的數據通信和算法控制等功能集成在單片芯片上實(shí)現,優(yōu)化了電路結構、提高了加密卡的穩定性和可靠性。實(shí)際測試結果表明,所設計的加密卡功能正確,運算速度快,達到了預期的目標,具有良好的應用前景。
關(guān)鍵詞信息安全;FPGA;PCI Express;NiosⅡ軟核;加密

計算機網(wǎng)絡(luò )技術(shù)以及各種網(wǎng)絡(luò )應用的快速發(fā)展,在給社會(huì )、企業(yè)、個(gè)人帶來(lái)便利的同時(shí),也由于目前網(wǎng)絡(luò )無(wú)法有效防止傳輸信息被第三方非法竊取和修改,而產(chǎn)生信息安全性問(wèn)題。采用信息加密技術(shù)是解決信息安全的有效手段,目前信息加密技術(shù)主要分為軟件加密和硬件加密。軟件加密的優(yōu)勢在于其成本及工藝難度低,而加密速度依賴(lài)于計算機的性能,消耗了大量系統資源,且安全性和可靠性差。硬件采用專(zhuān)用加密卡實(shí)現,具有較高的安全性和可靠性,是現代信息加密技術(shù)的發(fā)展方向。加密卡采用的總線(xiàn)技術(shù)經(jīng)歷了ISA(Industrial Standard Archit ecture)總線(xiàn)、PCI(Peripheral Component Interconnect)總線(xiàn)和PCI Express(Peripberal Component Interconnect Express,PCI—E),目前的硬件加密卡主要采用PCI總線(xiàn)或PCI Express與DSP(Digital Signal Processing)芯片組合的方式,PCI總線(xiàn)或PCI—E總線(xiàn)負責與上位機通信,DSP芯片作為CPU(Central Processing Unit)。隨著(zhù)計算機總線(xiàn)技術(shù)的發(fā)展,PCI總線(xiàn)已逐漸被具有更高傳輸性能的PCI—E總線(xiàn)取代,所以采用PCI總線(xiàn)的加密卡將逐漸被淘汰,采用PCI Express總線(xiàn)的加密卡通過(guò)橋接芯片實(shí)現PCI—E總線(xiàn),雖然這種方式面向事務(wù)處的接口實(shí)現簡(jiǎn)單,但需要兩片單獨的芯片,導致加密卡的結構復雜、控制分散、靈活性較差?;谏鲜鲆蛩?,本文選用可編程邏輯器件(Field Programmable CateArray,FPGA)設計實(shí)現了一款高速率、高可靠性的硬件加密卡,通過(guò)FPGA內部資源實(shí)現PCI—E總線(xiàn)和CPU功能。

1 加密卡設計
加密卡的基本功能是數據加解密。本文所設計加密卡可實(shí)現的主要功能包括:SM1算法、RSA(Rivest-Shamir-Adleman)算法、密鑰管理、權限管理、隨機數生成等。SM1算法是高性能分組密碼算法,具有較高的加解密速率,用于對大量數據進(jìn)行數據加解密操作;RSA算法是目前較優(yōu)秀的公鑰方案之一,具有較高的安全性,但其加解密速度較慢,主要用于對少量數據進(jìn)行數字簽名操作;密鑰管理是保證加密卡安全性的重要組成部分,主要包括密鑰的生成、存儲、備份和刪除等功能;權限管理是為增強加密卡的安全性而設計的一種權限管理機制,只有通過(guò)身份認證后的操作命令才能被加密卡接受,以此有效地防止加密卡信息泄露;隨機數生成采用專(zhuān)用數字物理噪聲源實(shí)現,負責產(chǎn)生真隨機數序列。
1.1 加密卡硬件結構
加密卡主要由控制器模塊、算法模塊、通信接口模塊等組成??刂破魇羌用芸ǖ暮诵哪K,其根據主機發(fā)送的命令控制加密卡的整體操作;通信接口模塊負責完成加密卡與主機之間的數據通信。設計選用Altera公司的CycloneIV CX系列的EP4CGX30 FPGA芯片,采用FPGA芯片內置的NiosII軟核處理器和PCI—E硬核來(lái)分別實(shí)現控制器模塊和通信接口模塊功能,分別代替現有加密卡中的DSP芯片和PCI—E橋接芯片,這種實(shí)現方式將控制器和通信接口以及其他邏輯功能模塊等集成在單片FPGA中,使加密卡的控制集中、結構簡(jiǎn)單、集成度高,在保證信息安全性的同時(shí),使加密卡具有更高的靈活性和可靠性。圖1為所設計的加密卡結構框圖。

本文引用地址:http://dyxdggzs.com/article/189547.htm

a.JPG


1.2 FPGA內部電路
加密卡的主要控制功能被集成在FPGA中實(shí)現。其內部主要功能結構框圖如圖2所示。加密卡所執行的操作由主機發(fā)起,具體操作流程:(1)首先PCI—E總線(xiàn)接口獲取FPGA內部數據緩存的控制權,通過(guò)該接口將主機中的數據存儲到FPGA內部的數據緩存中。(2)當數據全部存入數據緩存中后,將數據緩存的控制權交給NiosII軟核,NiosII軟核讀取數據緩存中的數據,然后依據操作命令控制算法模塊和各種功能模塊進(jìn)行相應的操作,并將操作結果存儲到數據緩存中。(3)當NiosII軟核控制操作完成后,釋放數據緩存的控制權并啟動(dòng)PCI—E總線(xiàn)接口,NiosII軟核等待接受下一次的操作命令。(4)PCI—E總線(xiàn)接口將數據發(fā)送給主機,完成加密卡的一個(gè)操作流程。

b.JPG


1.2.1 PCI—E總線(xiàn)接口
PCI—E總線(xiàn)是新一代總線(xiàn)標準,采用了目前業(yè)內流行的點(diǎn)對點(diǎn)的串行連接,具有較高的傳輸速率。PCI—E總線(xiàn)1.x版和2.x版的單通道速率分別為2.5 Gbit·s-1和5 Gbit·s-1,均采用8 b/10 b編碼,最新的PCI—E總線(xiàn)3.0版兼容1.x版和2.x版,同時(shí)可采用128 b/130 b編碼,單通道速率可達8 Gbit·s-1。雖然PCI—E總線(xiàn)在傳輸速率方面具有突出的優(yōu)勢,但是其體系結構復雜,設計難度大。
設計選用的FPGA芯片,其內置收發(fā)器是可獨立操作的全雙工高速收發(fā)器,支持8 b/10 b編碼,單通道最大速率為2.5 Gbit·s-1,能夠滿(mǎn)足PCI—E總線(xiàn)的速率要求;其內置的PCI—E硬核占用較少的FPGA資源,能夠實(shí)現PCI—E總線(xiàn)物理層、數據鏈路層以及傳輸層的功能,支持根端口與端點(diǎn)配置和x1、x2、x4通道模式,符合PCI—E 1.1基本規范協(xié)議和電氣特性要求,可通過(guò)Avalon總線(xiàn)與FPGA內部的其他模塊互聯(lián),是一個(gè)完整的PCI—E協(xié)議解決方案。圖3為PCI—E硬核IP(Intellectual Property)模塊的高級結構框圖,內部包含2 kB的重試緩存和4 kB的接收緩存。本次PCI—E總線(xiàn)接口采用PCI—E硬核的x1通道、端點(diǎn)配置模式和DMA讀寫(xiě)方式,DAM讀寫(xiě)方式不需要主機中的CPU參與,使PCI—E總線(xiàn)接口可以直接和主機中的內存進(jìn)行數據交互,適合大批量的數據傳輸。DMA讀寫(xiě)方式通過(guò)Altera公司提供的SOPCBuilder工具中的DMA控制器實(shí)現,并且通過(guò)該工具實(shí)現PCI—E硬核、高速收發(fā)器和DMA控制器的級聯(lián)組成PCI—E總線(xiàn)接口。

c.JPG


主機向PCI—E總線(xiàn)接口發(fā)送數據的過(guò)程:(1)主機向加密卡發(fā)送數據時(shí),首先將其內存起始地址、硬件存儲器地址、數據長(cháng)度等信息寫(xiě)入PCI—E總線(xiàn)接口的寄存器中。(2)PCI—E總線(xiàn)接口檢測到寄存器中的信息后,向主機發(fā)送讀請求。(3)主機接收到這些讀請求后,將數據從內存中取出,組包后發(fā)送給FPGA。(4)PCI—E總線(xiàn)接口將接收到的數據包轉換成自定義的數據格式,存儲到數據緩存中。(5)當主機將待發(fā)送的數據發(fā)送完畢后,給PCI—E總線(xiàn)接口發(fā)送一個(gè)中斷信號,告知此次數據傳輸完成,至此完成主機向PCI—E總線(xiàn)接口發(fā)送數據的操作。

fpga相關(guān)文章:fpga是什么



上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: FPGA 加密卡

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>