本文采用计算机isa、pci总线和打印机接口设计加密电路。利用cpld设计电路,具有加密性能好的特点。通过串行eeprom at93c46设计一个并行加密电路,密码存储在电路器件中。isa总线直接对cpld进行读取密码。pci总线可以通过w89c940af对cpld操作,读取设置密码。
关键词:计算机;加密电路;isa和pci总线
引言
计算机硬件技术在不断进步,例如cpu的运行速度由初期的2~16mhz,到如今的1ghz以上,内存由原来的1mbit到现在的256~512mbit,这些都给软件运行提供了良好的环境,同时也带动了计算机软件行业的大力发展。
随着软件产品的广泛应用,对软件的知识产权保护也开始重要。软件产品通过系列号码加密,每一个软件均有唯一的产品系列号码。软件产品配置加密电路板后,软件产品和该产品软件加密板同时售出,用户在使用时一套软件要配备一块加密板,通过控制加密板,就可以保证软件产品安全。
计算机访问外部设备地址
计算机系统是通过主板上的i/o接口地址来实现访问外部设备的。例如,读取硬盘中的数据是通过直接访问1f0~1f7h的接口地址,也就实现了访问硬盘的操作。当鼠标器连接到串行口com2时,计算机在上电复位时自动启动鼠标的串行通讯功能。其中并行接口lpt1和lpt2为专用打印机使用,地址分别是278~27fh、378~37fh。计算机接口被不断的开发,并行接口已经有了更多的用途。
基于isa总线的加密电路
利用计算机isa总线设计一个密码电路,可以实现加密的目的。isa总线加密电路利用xilinx等公司可编程逻辑器件(cpld)可以设计一组加密电路。在电路中,ic1 是xilinx公司的可编程逻辑器件xc9572,有84个引脚,其中可作为i/o的有68个引脚,内部有1600个逻辑门,72个宏单元,响应速度7~15ns。p1是isa总线引脚。d0~d7是计算机访问外部设备的8位数据总线,a0~a19是访问外部设备的20条地址总线,ior是读外部设备数据信息的读选通线,iow是向外部设备发送信息或命令的写选通线,rst是计算机的复位线,在复位时,加密卡与计算机同时复位。
将isa总线的地址a(19,0)、ior、iow和aen经过译码作为片选、时钟,对一组触发器电路进行操作,就能够读取密码数据。在选择地址时,a(10)~a(19)为空,既随机状态。加密电路地址可以选择打印机接口地址278h、279h、27ah。例如选择278h,在加密电路中,通过地址278h读取一组低8位数据d(7,0),就能够作为软件运行的密码,控制软件是工作还是退出。在图中,利用xilinx公司的project navigator软件设计了一组只读八-d触发器电路,并将触发器的输入端a1、a2、a4、a5、a8设置为“1”电平,把a3、a6、a7设置为“0”电平,当读取触发器时有恒定数据9bh,此数据即为密码。
其中isa总线的选通278h地址的逻辑公式是:
g1 = "a<3>" * "a<4>" * "a<5>" * "a<6>" * /"a<7>" * /"a<8>" * /"a<9>" * /"a<0>" * /"a<1>" * /"a<2>" */aen */ ior (1)
基于pci总线的加密电路
计算机的pci总线被普遍应用,一些速度快、内存容量大的新型计算机主板已经以pci总线为主。pci总线的特点是体积小,速度快。设计计算机的板卡利用pci总线是大势所趋。利用pci总线设计加密电路,电路中利用了华邦(winband)公司生产的计算机pci总线接口电路w89c940,最大运行速度是10ms。pci总线与isa总线在工作原理上有所区别。pci总线卡必须拥有驱动程序,不同功能的计算机卡的驱动程序也不相同,因此计算机所有的pci总线电路都必须配备一只串行eepoam ,例如at93c46,用来存放驱动码。
对加密电路进行设计时,同样利用xilinx公司的project navigator软件设计一组可以写数据、再读数据的八-d触发器电路。电路的数据d[7:0]经过输入缓冲器bufe8输入到八-d触发器,其控制选通端是in,当in信号为“1”时,数据d[7:0]输入到触发器,并且锁存数据;当输出选