DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1298|回复: 0
打印 上一主题 下一主题

[待整理] 基于计算机总线的CPLD加密电路设计

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-12 17:54:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
计算机硬件技术在不断进步,例如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" * "a" * "a" * "a" * /"a" * /"a" * /"a" * /"a" * /"a" * /"a" */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]输入到触发器,并且锁存数据;当输出选通信号OUT为“1”时,输出数据Q[7:0]传输到D[7:0],即读取八-D触发器的数据。计算机软件在运行时,通过写、读数据就起到加密的作用。

       并行接口的加密电路
  并行加密电路的设计都是选用计算机的并行打印机接口。计算机的打印机接口LPT1,数据传输形式、连接器插座等在IEEE1284中有明确的规定。其主要特性是,数据传送总线DB7"DB0,打印机工作忙时,pin1是数据锁存信号,pin10是打印机接收数据。Atmel公司的EEPROM器件AT93C46,具有比较低的工作电流,所以将其正电源VCC连接到ERR端。其工作方式是首先输入控制字,读取数据就写入读控制字,写器件就写入写控制字,之后才能读或写16位(16bit)数据。读操作过程是,写入读控制字,写入7位(7bit)地址,接下来就可以在输出端接收数据,每当输入一个时钟,就有一位(1bit)输出,输出16位后自动结束。打印机接口的加密电路可以设计许多种方式,例如;时间电路,写入电路的数据与读出数据的时间相关。
  结语
  经过实际设计证明,基于计算机总线设计加密电路的方法,方便实用。这种方法的结构简单,利用CPLD设计加密电路方便可行,能够比较好地实现加密功能。计算机加密电路的设计有多种方法,各种方法具有不同的优缺点。实际上,在电路的设计过程中,可以增加一些逻辑功能用来实现功能加密、工作状态加密、实时数据加密等电路,这样能够更好地起到真正加密的作用。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-7-27 12:58 , 耗时 0.085224 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表