新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA的PCI硬件加解密卡設(shè)計(jì)

基于FPGA的PCI硬件加解密卡設(shè)計(jì)

作者: 時(shí)間:2010-08-05 來源:網(wǎng)絡(luò) 收藏

DES算法的加密過程分為4步:初始置換、迭代過程、子密鑰生成和逆置換。DES算法16層加密變換框圖如圖2所示。

本文引用地址:http://2s4d.com/article/191636.htm


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


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

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

超級(jí)電容器相關(guān)文章:超級(jí)電容器原理




關(guān)鍵詞: FPGA PCI 硬件 加解密

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉