《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于計算機總線的CPLD加密電路設計
基于計算機總線的CPLD加密電路設計
摘要: 隨著軟件產(chǎn)品的廣泛應用,,對軟件的知識產(chǎn)權保護也開始重要。軟件產(chǎn)品通過系列號碼加密,每一個軟件均有唯一的產(chǎn)品系列號碼,。軟件產(chǎn)品配置加密電路板后,,軟件產(chǎn)品和該產(chǎn)品軟件加密板同時售出,,用戶在使用時一套軟件要配備一塊加密板,通過控制加密板,,就可以保證軟件產(chǎn)品安全。
Abstract:
Key words :

 計算機硬件技術在不斷進步,,例如CPU的運行速度由初期的2"16MHz,,到如今的1GHz以上,內(nèi)存由原來的1Mbit到現(xiàn)在的256"512Mbit,,這些都給軟件運行提供了良好的環(huán)境,,同時也帶動了計算機軟件行業(yè)的大力發(fā)展。

  隨著軟件產(chǎn)品的廣泛應用,,對軟件的知識產(chǎn)權保護" title="知識產(chǎn)權保護">知識產(chǎn)權保護也開始重要,。軟件產(chǎn)品通過系列號碼加密,每一個軟件均有唯一的產(chǎn)品系列號碼,。軟件產(chǎn)品配置加密電路板" title="加密電路板">加密電路板后,,軟件產(chǎn)品和該產(chǎn)品軟件加密板同時售出,用戶在使用時一套軟件要配備一塊加密板,,通過控制加密板,,就可以保證軟件產(chǎn)品安全。

  計算機訪問外部設備地址

  計算機系統(tǒng)是通過主板上的I/O接口地址來實現(xiàn)訪問外部設備的,。例如,,讀取硬盤中的數(shù)據(jù)是通過直接訪問1F0"1F7H的接口地址,也就實現(xiàn)了訪問硬盤的操作,。當鼠標器連接到串行口COM2時,,計算機在上電復位時自動啟動鼠標的串行通訊功能。其中并行接口LPT1和LPT2為專用打印機使用,,地址分別是278"27FH、378"37FH,。計算機接口被不斷的開發(fā),,并行接口已經(jīng)有了更多的用途。

  基于ISA總線的加密電路

  利用計算機ISA總線設計一個密碼電路,,可以實現(xiàn)加密的目的,。ISA總線加密電路利用Xilinx等公司可編程邏輯器件(CPLD" title="CPLD">CPLD)可以設計一組加密電路。在電路中,,IC1 是Xilinx公司的可編程邏輯器件XC9572,,有84個引腳,其中可作為I/O的有68個引腳,,內(nèi)部有1600個邏輯門,,72個宏單元,響應速度7"15ns,。P1是ISA總線引腳,。D0"D7是計算機訪問外部設備的8位數(shù)據(jù)總線,,a0"a19是訪問外部設備的20條地址總線,ior是讀外部設備數(shù)據(jù)信息的讀選通線,,iow是向外部設備發(fā)送信息或命令的寫選通線,,rst是計算機的復位線,在復位時,,加密卡與計算機同時復位,。

  將ISA總線的地址a(19,0),、ior、iow和aen經(jīng)過譯碼作為片選,、時鐘,對一組觸發(fā)器電路進行操作,,就能夠讀取密碼數(shù)據(jù),。在選擇地址時,a(10)"a(19)為空,,既隨機狀態(tài),。加密電路地址可以選擇打印機接口地址278H、279H,、27AH,。例如選擇278H,在加密電路中,,通過地址278H讀取一組低8位數(shù)據(jù)D(7,0),,就能夠作為軟件運行的密碼,控制軟件是工作還是退出,。在圖中,,利用Xilinx公司的Project Navigator軟件設計了一組只讀八-D觸發(fā)器電路,并將觸發(fā)器的輸入端A1,、A2,、A4、A5,、A8設置為“1”電平,,把A3、A6,、A7設置為“0”電平,,當讀取觸發(fā)器時有恒定數(shù)據(jù)9BH,此數(shù)據(jù)即為密碼,。

  其中ISA總線的選通278H地址的邏輯公式是:

  G1 = "a" * "a" * "a" * "a" * /"a" * /"a" * /"a" * /"a" * /"a" * /"a" */aen */ ior (1)

  基于PCI總線的加密電路

  計算機的PCI總線被普遍應用,,一些速度快、內(nèi)存容量大的新型計算機主板已經(jīng)以PCI總線為主,。PCI總線的特點是體積小,,速度快,。設計計算機的板卡利用PCI總線是大勢所趨。利用PCI總線設計加密電路,,電路中利用了華邦(Winband)公司生產(chǎn)的計算機PCI總線接口電路W89C940,,最大運行速度是10MS。PCI總線與ISA總線在工作原理上有所區(qū)別,。PCI總線卡必須擁有驅(qū)動程序,,不同功能的計算機卡的驅(qū)動程序也不相同,因此計算機所有的PCI總線電路都必須配備一只串行EEPOAM ,,例如AT93C46,,用來存放驅(qū)動碼。

  對加密電路進行設計時,,同樣利用Xilinx公司的Project Navigator軟件設計一組可以寫數(shù)據(jù),、再讀數(shù)據(jù)的八-D觸發(fā)器電路。電路的數(shù)據(jù)D[7:0]經(jīng)過輸入緩沖器BUFE8輸入到八-D觸發(fā)器,,其控制選通端是IN,,當IN信號為“1”時,數(shù)據(jù)D[7:0]輸入到觸發(fā)器,,并且鎖存數(shù)據(jù),;當輸出選通信號OUT為“1”時,輸出數(shù)據(jù)Q[7:0]傳輸?shù)紻[7:0],,即讀取八-D觸發(fā)器的數(shù)據(jù),。計算機軟件在運行時,通過寫,、讀數(shù)據(jù)就起到加密的作用,。

       并行接口的加密電路

  并行加密電路的設計都是選用計算機的并行打印機接口。計算機的打印機接口LPT1,,數(shù)據(jù)傳輸形式,、連接器插座等在IEEE1284中有明確的規(guī)定。其主要特性是,,數(shù)據(jù)傳送總線DB7"DB0,打印機工作忙時,,pin1是數(shù)據(jù)鎖存信號,,pin10是打印機接收數(shù)據(jù)。Atmel公司的EEPROM器件AT93C46,,具有比較低的工作電流,,所以將其正電源VCC連接到ERR端。其工作方式是首先輸入控制字,,讀取數(shù)據(jù)就寫入讀控制字,,寫器件就寫入寫控制字,,之后才能讀或?qū)?6位(16bit)數(shù)據(jù)。讀操作過程是,,寫入讀控制字,,寫入7位(7bit)地址,接下來就可以在輸出端接收數(shù)據(jù),,每當輸入一個時鐘,,就有一位(1bit)輸出,輸出16位后自動結束,。打印機接口的加密電路可以設計許多種方式,,例如;時間電路,,寫入電路的數(shù)據(jù)與讀出數(shù)據(jù)的時間相關,。

  結語

  經(jīng)過實際設計證明,基于計算機總線設計加密電路的方法,,方便實用,。這種方法的結構簡單,利用CPLD設計加密電路方便可行,,能夠比較好地實現(xiàn)加密功能,。計算機加密電路的設計有多種方法,各種方法具有不同的優(yōu)缺點,。實際上,,在電路的設計過程中,可以增加一些邏輯功能用來實現(xiàn)功能加密,、工作狀態(tài)加密,、實時數(shù)據(jù)加密等電路,這樣能夠更好地起到真正加密的作用,。
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權禁止轉(zhuǎn)載。