<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>
    以文本方式查看主題

    -  曙海教育集團(tuán)論壇  (http://www.hufushizhe.com/bbs/index.asp)
    --  DSP2000技術(shù)討論  (http://www.hufushizhe.com/bbs/list.asp?boardid=27)
    ----  基于DSP的PCIJMC2000計(jì)算機(jī)數(shù)據(jù)加密卡設(shè)計(jì)  (http://www.hufushizhe.com/bbs/dispbbs.asp?boardid=27&id=1557)

    --  作者:wangxinxin
    --  發(fā)布時(shí)間:2010-11-20 10:20:48
    --  基于DSP的PCIJMC2000計(jì)算機(jī)數(shù)據(jù)加密卡設(shè)計(jì)

    Design of Data Encryption Card PCIJMC2000 Based on DSP

    ABSTRACT The Computer Data Encryption card PCIJMC2000 en/decrypts data with DSP and FPGA. PCIJMC2000 can process data at a speed of 20Mbit/s. It provides a convenient way for us to update encryption algorithm by applying hardware and software technology. And, it makes the encryption code more safely. We can take DSP to realize fast encryption algorithm because of its highly parallelism, application-specific hardware logic, and application-specific instructions. PCI transaction and DSP processing of data can take place simultaneously for its dual-access RAM and host port interface. And, the time taken for interruption almost can be ignored because of deep buffer technology.

    Key Words deep buffer;parallel processing;encrypt card;DSP (digital signal processor);data encryption

    摘要: 計(jì)算機(jī)數(shù)據(jù)加密卡PCIJMC2000采用DSP與FPGA實(shí)現(xiàn)數(shù)據(jù)加、解密。PCIJMC2000能提供達(dá)40Mbit/s的數(shù)據(jù)處理速度,采用硬件和軟件相結(jié)合的加密方法,可方便升級(jí)算法,并使加密程序代碼更加安全可靠。DSP具有高度的并行結(jié)構(gòu)、專用硬件邏輯以及許多專用指令,可以實(shí)現(xiàn)快速加密算法,DSP的雙訪問RAM和主機(jī)并行接口可以實(shí)現(xiàn)數(shù)據(jù)PCI傳送和DSP處理同時(shí)進(jìn)行,采用深度緩沖技術(shù)使花在主機(jī)中斷上的時(shí)間幾乎可以忽略不計(jì)。

    關(guān) 鍵 詞:深度緩沖; 并行處理; 加密卡; DSP(數(shù)字信號(hào)處理器); 數(shù)據(jù)加密

    隨著現(xiàn)代通信技術(shù)的發(fā)展,企業(yè)及個(gè)人越來越多地依賴于互聯(lián)網(wǎng)進(jìn)行信息交互。互聯(lián)網(wǎng)是一個(gè)開放式系統(tǒng),數(shù)據(jù)一旦上了互聯(lián)網(wǎng)很容易受到各種有意或無意的入侵,這無論是對(duì)于越來越重視個(gè)人隱私保護(hù)的個(gè)人,還是對(duì)于越來越重視知識(shí)產(chǎn)權(quán)保護(hù)的公司企業(yè)都是無法容忍的,這就需要保密通信 。另外,保存在計(jì)算機(jī)中的數(shù)據(jù)也容易受到非法竊取,這就需要對(duì)長期保存的重要文件數(shù)據(jù)進(jìn)行加密。因此,加密技術(shù)受到了越來越多的關(guān)注。

    密碼技術(shù)主要包括兩部分[1][2]:即基于數(shù)學(xué)的密碼理論和技術(shù)(包括公鑰密碼、分組密碼、密鑰管理等)和非數(shù)學(xué)的密碼理論和技術(shù)。目前廠商所采用的加密方法可主要分為兩大類:軟加密和硬加密。軟加密即是用純軟件方法來實(shí)現(xiàn)數(shù)據(jù)加密,主要有密碼方式、軟件自校驗(yàn)方式、許可證管理方式、鑰匙盤方式等。所謂硬加密就是通過硬件和軟件結(jié)合的方式來實(shí)現(xiàn)對(duì)數(shù)據(jù)的加密。特別是采用了獨(dú)特的噪聲技術(shù)后,可以在發(fā)送端發(fā)出的網(wǎng)絡(luò)數(shù)據(jù)里加入由物理硬件產(chǎn)生的噪聲,接收端依據(jù)通信協(xié)議自動(dòng)濾除噪聲,或者由物理噪聲硬件產(chǎn)生隨機(jī)密鑰。

    加密卡是結(jié)合軟件加密與硬件加密的特點(diǎn)與優(yōu)勢,能用來在互聯(lián)網(wǎng)上實(shí)現(xiàn)保密通信,或?qū)τ?jì)算機(jī)文件數(shù)據(jù)加解密。目前國內(nèi)加密卡的原理是將加密算法固化在加密卡上的FPGA中,而由主機(jī)承擔(dān)加密運(yùn)算工作如非平衡算法等。這樣做有幾個(gè)不足:1、主機(jī)因?yàn)檫\(yùn)行復(fù)雜的加密算法程序而使主機(jī)系統(tǒng)性能下降;2、加密算法程序在主機(jī)上運(yùn)行使加密程序代碼的保密性下降,易被破解;3、主機(jī)每次處理的數(shù)據(jù)僅為32~128bit,造成中斷頻繁,大量時(shí)間花在了中斷處理上,所以整個(gè)加密密過程速度僅達(dá)10Mbit/s[1]。為了改進(jìn)這些不足,我們進(jìn)行了加密卡的DSP實(shí)現(xiàn)研究,并成功開發(fā)了新一代加密卡——基于DSP的PCIJMC2000。

    1 方案設(shè)計(jì)

    DSP(Digital Signal Processor)是數(shù)字信號(hào)處理專用芯片,具有高度的并行結(jié)構(gòu),專用硬件邏輯以及許多專用指令,可以實(shí)現(xiàn)快速加密算法,DSP的片上雙訪問RAM(DARAM)和主機(jī)并行接口(HPI)可以實(shí)現(xiàn)數(shù)據(jù)PCI傳送和DSP處理同時(shí)進(jìn)行[2,3]。PCIJMC2000方案設(shè)計(jì)如圖1所示。

    DSP的片上DARAM可以在一個(gè)機(jī)器周期內(nèi)被訪問兩次(兩次讀操作,或一次讀一次寫操作),作為DSP的數(shù)據(jù)空間用作接收和發(fā)送緩沖區(qū),片外RAM作為DSP的程序空間用于暫存運(yùn)行的DSP加密程序代碼。

    由于采用了兩對(duì)緩沖區(qū),主機(jī)對(duì)緩沖區(qū)的讀寫和DSP對(duì)緩沖區(qū)數(shù)據(jù)的處理可以同時(shí)進(jìn)行,理論上加密速度可以達(dá)到主機(jī)讀寫緩沖區(qū)速度(HPI傳送速度)的一半和DSP處理速度(含DSP讀寫操作)二者中較慢的一個(gè)。DSP的主頻為100MHZ-p.htm" target="_blank" title="100MHZ貨源和PDF資料">100MHZ,HPI的時(shí)鐘為DSP主頻的1/5,所以HPI的傳送速度為 100M×8/5=160 Mbit/s,加密卡的最高處理速度為HPI傳送速度的一半即80M bit/s。當(dāng)DSP的片外RAM延時(shí)不大于7ns,且平均每個(gè)字的處理時(shí)間不超過20個(gè)DSP時(shí)鐘周期時(shí),則DSP的處理速度不低于HPI的傳送速度的二分之一,因此加密卡可望獲得接近于40Mbit/s的處理速度。

    在這種方案中,加密算法(分組密碼算法)固化在卡上的FPGA中,DSP運(yùn)行軟件加密算法(非平衡算法等),主機(jī)的工作僅僅是讀寫操作,不再參與復(fù)雜的加密運(yùn)算,因此由加密卡與主機(jī)組成的整個(gè)加密系統(tǒng)能獲得真正意義上的高速處理。

    500)this.style.width=500;" border=0>

    圖1 PCIJMC2000設(shè)計(jì)方案

    2 方案實(shí)現(xiàn)

    實(shí)現(xiàn)該方案的原理框圖如圖2所示:

    500)this.style.width=500;" border=0>

    圖2 PCIJMC2000原理框圖

    PCIJMC2000分為四個(gè)模塊:PCI接口、DSP、加密硬件和CPLD。加密算法芯片承擔(dān)硬件加密工作,加密算法程序代碼放在訪問延時(shí)較長的FPASH中,啟動(dòng)時(shí)由bootloader搬到訪問延時(shí)很短的RAM上運(yùn)行以實(shí)現(xiàn)軟件加密,通過向FLASH灌入不同的加密算法程序,就可以實(shí)現(xiàn)不同的加密算法。物理噪聲芯片提供密鑰所需的噪聲,CPLD實(shí)現(xiàn)組合邏輯電路和時(shí)序邏輯電路功能,擔(dān)當(dāng)控制器的角色。

    芯片選擇:

    DSP:TI公司的TMS320VC5409,工作頻率100MHz;

    PCI接口:TI公司的PCI2040,工作頻率33MHz[4];

    CPLD:Xilinx公司的XC9572XL,延時(shí)7ns;

    RAM:Cypress公司的CY7C1021V33,延時(shí)7ns;

    加密算法芯片:SSF10B,反熔絲FPGA實(shí)現(xiàn)的SSF10密碼算法芯片,分組模式為64位,支持分組密碼算法的ECB、CBC、CBF和OFB工作模式。

    DSP電源采用TI公司的DSP專用電源芯片TPS73HD318,輸入5V,輸出1.8V和3.3V。

    由于現(xiàn)在PC機(jī)的PCI插以5V為主,所以我們?cè)O(shè)計(jì)的PCIJMC2000采用5V信號(hào)環(huán)境。PCI插槽提供3.3V和5V電源。電路中需要用到的電源有三個(gè):

    1.8V作DSP的核電壓CVDD;

    3.3V和5V作為電路中各芯片的工作電壓。

    為了合理分配電源,我們將PCI插槽提供的5V和3.3V電源全部加以利用,5V和3.3V直接提供給PCIJMC2000上各芯片使用,另外將5V電源送到DSP的電源芯片TPS73HD318上,其輸出的1.8V電源供給DSP作核電壓。

    PCI2040及DSP的所有未用的輸入端都必須用上拉電阻接到有效邏輯電平上,以保證這些輸入端處于穩(wěn)定的高電平而不會(huì)因懸空而發(fā)生電平漂移。

    3 系統(tǒng)調(diào)試

    由于利用DSP實(shí)現(xiàn)加密卡是我們提出的新方法,現(xiàn)在還在開發(fā)階段,我們只能進(jìn)行硬件測試。硬件測試工作主要有兩部分,一部分是DSP模塊,另一部分是PCI驅(qū)動(dòng)測試。

    3.1 DSP模塊調(diào)試[4][5]

    為了測試PCIJMC2000上的DSP模塊,我們首先編寫了一個(gè)DSP程序并在軟件仿真器CCS1.2上調(diào)試通過。

    給存儲(chǔ)器分配置的地址如下[3][4]:

    數(shù)據(jù)空間: 片上DARAM 0000H~7FFFH,片外FLASH 8000H~FFFFH;

    程序空間:片外RAM0000H~7FFFH;

    該測試程序只是執(zhí)行讀寫操作,通過CCS的調(diào)試窗口觀察被寫的存儲(chǔ)器單元的內(nèi)容有無變化即可知道硬件電路是否完好。

    測試程序經(jīng)CCS在DSK板子上調(diào)試通過后,我們?cè)賹⒂卜抡嫫鹘拥絇CIJMC2000的JTAG接口上。硬仿真器能夠正確識(shí)別PCIJMC2000上的DSP,運(yùn)行測試程序,采用單步運(yùn)行模式,CCS能夠向PCIJMC2000的DSP或片外存儲(chǔ)器寫入數(shù)據(jù)或讀取數(shù)據(jù)。

    通過PCIJMC2000上的手動(dòng)復(fù)位按鈕能夠復(fù)位DSP。

    3.2 PCI驅(qū)動(dòng)測試

    為了測試DSP與主機(jī)之間的硬件電路,我們利用DriverWorks的向?qū)С绦駾river Wizard,編寫了一個(gè)簡單的Win98 PCI驅(qū)動(dòng)程序。

    PCI2040提供兩個(gè)地址空間資源:一個(gè)4K空間用于映射HPI的控制和狀態(tài)寄存器組,一個(gè)32K空間用于映射DSP的片上存儲(chǔ)器,這兩個(gè)地址空間均可以映射到主機(jī)存儲(chǔ)器空間或IO空間,我們將其全部映射到主機(jī)存儲(chǔ)器空間。

    在框架程序的PcitodspDevice.cpp文件中,查找有“TODO”提示的地方,這是程序員需要添加具體功能代碼的位置。程序主要實(shí)現(xiàn)ReadFile()、WriteFile()這兩個(gè)重要的IRP調(diào)用。我們編寫的只是一個(gè)測試程序,目的是為了檢測硬件電路是否完好,只有一些讀寫操作,讀寫操作的位置為32K空間中前8K空間的一個(gè)字。由于DSP片上存儲(chǔ)器的前128個(gè)字為寄存器和Scratch-Pad RAM,所以讀寫操作應(yīng)從128以后開始,我們選取0x200單元。

    修改并設(shè)置好程序中的參數(shù)后,編譯生成了.sys和inf文件。再對(duì).inf文件進(jìn)行修改,添加設(shè)備信息,如:設(shè)備名稱”數(shù)據(jù)加密卡”,驅(qū)動(dòng)程序編譯完成。

    由于windows98和windows2000支持即插即用,可以先關(guān)機(jī),插入PCIJMC2002卡,然后開機(jī)。當(dāng)計(jì)算機(jī)啟動(dòng)時(shí),它會(huì)自動(dòng)查找到PCI卡并提示裝入驅(qū)動(dòng)程序,指定.sys和.inf文件的位置后,驅(qū)動(dòng)程序會(huì)自動(dòng)裝入,安裝完成。

    安裝完成后,從加密卡的設(shè)備信息框中看到如下一些信息:

    設(shè)備名稱:數(shù)據(jù)加密卡 中斷請(qǐng)求:09

    內(nèi)存空間0:df009000-df009fff 內(nèi)存空間1:df000000-df007fff

    設(shè)備名稱是在.inf文件中手動(dòng)加入的信息,中斷請(qǐng)求和內(nèi)存空間是計(jì)算機(jī)自動(dòng)分配的。

    主機(jī)將DSP的片上存儲(chǔ)器映射到0xdf000000開始的連續(xù)的32K內(nèi)存中(實(shí)際只能用前面8K,后面24K未用),將PCI2040的控制與狀態(tài)寄存器組空間映射到0xdf009000開始的連續(xù)的4K內(nèi)存中。

    我們第一次讀入DSP的0x200單元的內(nèi)容為0。向該單元寫入后,再讀取該單元的內(nèi)容變成了0xa0a0(在WriteFile()函數(shù)中輸出的值)。

    PCIJMC2000硬件系統(tǒng)調(diào)試全部通過。

    4 結(jié)論

    本文作者創(chuàng)新點(diǎn):1、利用DSP的片上存儲(chǔ)器設(shè)計(jì)了深度緩沖結(jié)構(gòu),實(shí)現(xiàn)了數(shù)據(jù)傳輸和處理并行進(jìn)行,提高了加密流程處理速度;2、設(shè)計(jì)了加密算法代碼運(yùn)算與主機(jī)的脫離,不僅使主機(jī)僅承擔(dān)數(shù)據(jù)傳輸任務(wù),而且使加密軟件代碼對(duì)主機(jī)隱蔽,屏蔽了用戶,有效防止了對(duì)加密算法代碼的惡意竊取,使得加密程序代碼保密性很高。3、通過對(duì)加密卡上FLASH芯片的寫入可方便實(shí)現(xiàn)在線升級(jí)。


    主站蜘蛛池模板: 无码国内精品人妻少妇蜜桃视频| 精品国产一区二区三区不卡| 女人把腿给男人桶视频app| 亚洲天堂岛国片| 疯狂七十二小时打扑克| 国产成人亚洲综合无码精品| gogo全球高清大胆亚洲| 成人毛片全部免费观看| 国产免费久久精品| 99在线免费视频| 小泽玛利亚在线观看国产| 久青草久青草视频在线观看| 欧美成人免费全部观看天天性色 | 鲤鱼乡太大了坐不下去| 在线精品91青草国产在线观看 | 波多野结衣一区二区三区| 国产一级做a爰片久久毛片| 黄页网址在线观看| 在线观看国产人视频免费中国| 中文无码精品一区二区三区| 日韩国产第一页| 亚洲日韩国产精品无码av| 深爱五月激情网| 和武警第一次做男男gay| 荡公乱妇hd在线| 国产激爽大片高清在线观看 | 欧美乱人伦视频| 俺去俺也在线www色官网| 精品国产一二三区在线影院| 国产在线一区二区视频| 18禁黄网站禁片无遮挡观看| 国语自产偷拍精品视频偷| 一级特黄色毛片免费看| 成人福利app| 久久婷婷五夜综合色频| 日韩精品专区在线影院重磅| 亚洲日韩精品无码专区加勒比| 污污视频在线免费观看| 内射干少妇亚洲69xxx| 精品国产丝袜自在线拍国| 国产免费av片在线播放|