DES加密算法在抄表系统中的应用就是把用户水、电、气的消耗量,通过DES加密算法,生成一段密文显示在仪表液晶屏上,用户可以主动向信息采集中心提交此密文申报抄表,这种方式,不但有效地以较低成本解决了能源供应商的数据采集问题,而且也是用户们较客易接受的抄表方式,系统的多重保险机制,保证了数据采集的准确性。

一、基于DES加密算法的抄表系统设计

1、抄表系统的工作原理

如图1,在这一系统中,用户端的单片机对日期、仪表读数、序列号进行处理,获得一个压缩编码,然后通过DES加密算法对此编码进行加密,其中,当前日期由硬件系统中的日历芯片产生,仪表读数由数据采集端输入,序列号为产品出厂时对每个采集系统设定的一个唯一标识号,保存于ROM中,每个序列号绑定一个用户,居民用户通过液晶屏获得密文,就可以凭此密文到交费点申报和缴费,也可以通过电话、短信、网络等方式申报或缴费,在数据采集端,系统获得密文后,对密文进行解析,获得序列号、仪表读数、申报日期的信息,然后再从数据库中找出序列号所对应的用户记录,进行简单的存储和计算后,就可以完成一次数据采集或收费,在用户提交密文申报抄表时,如果人为的修改密文数据,则系统在DES解密或编码解析时,就会提示错误信息,从而能准确的检测出无效数据。

DES加密算法在抄表系统中的应用

2、抄表系统的硬件设计

系统的硬件设计工作主要集中在用户端设计,在数据采集端不需要专门的硬件设计,所有的工作都可以由PC机完成。用户端的硬件主要包括采集模块、CPU模块和显示模块3个部分组成,采集模块主要完成数据量化和传递的功能,它把能耗(水、电、气)转化为数字信息,并传递给CPU进行处理,常用的“三表”数据的记录大都采用齿轮传递,所以,可以考虑在原襄头个位数齿轮边上安一块小磁钢,在齿轮的一侧固定一只开关型霍尔元件,霍尔元件产生的¨0""1¨信号由放大器放大后,通过光偶进入到CPU模块,就完成了数据量化的功能。对于电能表,可以使用PT和CT采集电压和电流信号,电压电流信号经过A/D转换进入CPU模块,把电压和电流值相乘,就可以采集剜单位时间的耗能值。CPU模块是整个硬件系统的核心,数据的编码和DES加密.都是在CPU模块完成,图2所示的是基于8031单片机的硬件系统原理图,图中省去了采集模块(对水表、电表、气表的采集电路不一样)。系统运行时,先从采集模块获取当脯能耗数据,经过计算,可以得到该用户的总能耗,把这一数值输送到液晶显示屏1601上显示,然后系统从日历芯片PCF8563中读出当前日期,再从FPROM中读出系统序列号。有了上述3个数据,系统就可以进行编码和加密了。每一次加密生成的密文都先保存于EEPROM2864A中,然后送至1601液晶屏显示.由于家庭抄表埘实时性要求不高,在系统运行时,我们采取每5 min更新一次密文.仪表的读数和峦文在液晶屏上每2 min交管显示一次,以使用户知道当前仪表实际读数。

3、查表系统软件系统设计

(1) DES加密算法简介

数据加密标准(DES)是美国经长时间征集和筛选后,于1977年由美国国家标准局颁布的一种加密算法,它主要用于民用敏感信息的加密,后来被国际标准化组织接受作为国际标准。DES主要采用替换和移位的方法加密,它用56位密钶对64位二进制数据块进行加密,每次加密可对6位的输入效撕进行16轮编码,经一系列替换和移位后,输入的64位原始数据转换成完全不同的64位输出数据。DES加密算法仅使用最大为64位的标准算术和逻辑运算,运算速度快,密钥生产容易,适合于在当前大多数计算机上用软件方法实现,同时也适合于在专用芯片上实现,在系统设计中,我们没有使用专用的加密芯片来进行加密,这是因为考虑到抄表系统对实时性要求不高,而8031又有足够的计算能力和存储空刨,完全可以完成所需的加密操作。

(2)数据的编码

前面已经提到,我们所说的抄表系统的工作方式不同于人工抄表和远程抄表,它依靠用户申报的密文来工作,因此,这就对密文的形式提出了要求:

①密文表达方式必须简单,容易让普通百姓识别;

②密文的长度必须尽可能短;

③密文要包含抄表所需的所有信息。

DES加密算法是用56位密钥对64位二进制数据块进行加密,输出64 bit的二进制效,由此可知,如果输入数据小于或等于64 bit。则输出为64 bit,如果输人大于64 bit。则输出就至少为128 bit或更多,为了把密文的长度限制在64 bit(8Byte)。必须对输人数据进行压缩编码,为了最大限度的利用有限编码长度,我们采取按位进行编码,见表1。

DES加密算法在抄表系统中的应用

DES加密算法在抄表系统中的应用

在这种编码结构中,年、月、日占16位,可以覆盖2005年至2099年的范围,序列号占28位,覆盖范围为0~268435455,仪表读数为20位,覆盖范围为0~1048575,
采用这种编码方式,输出的密文为固定的8 B)ie的长度,显示在液晶屏上为16个十六迸镧字符(0-9,A-F)。其长度相当于身份证号的长度,在抄写的时候,不容易出错。

(3)数据采集端程序设计

数据采集端的程序运行在PC机上,其主要在各收费站和信息采集中心使用.采集程序按功能主要分为3个子系统:密文接纳子系统、密文解析子系统、用户数据库子系统。密文接纳系统要求能和用户互动交流,不但能接受信息,还要反馈相应信息。用户可以通过电话、网络、短信等方式向信息中心提交,密文,这就要求在软件设计中,要考虑密文接纳方式的多样性,密文解析系统完成的工作是解密和解码的过程。在这一过程中,要结合数据库系统中的用户信息,分辨出当前信息是否有效,并通过密文接纳系统。向用户发送反馈信息,图4所示为一个具有加密和解析功能的程序界面。

数据库系统足整个系统的核心,据库中每一条用户记录都和一台仪表的序列号相对应。依照密文解析系统解析出的序列号,就可以找到唯一的用户记录,由此就可以对用户耗能倍息进行添加或修改。

2 系统的可靠性设计

在本系统中,由于抄表采用了用户申报的形式,因此系统对非法的密文必须有强大的辨识能力。在系统设计中,采用了四重保险机制,以确保数据的正确性。

①密文标准性检测,所有的密文都是长度为16的字符串,字符的形式是十六进制(0-9,A-F),一切其它形式的密文被说为非法。

②运用DES解密算法本身的特性,对非法的密文的解密不能获得有效的字符串,一旦用户错误的抄写了密文或者人为的修改了密文,解密后获得的就可能是空字符串或其它非法字符串(含有非十六进制字符)。对这种情况,系统向用户反馈申报无效的信息。

③系统在获得一个有效的序列号时,在系统中调出相应用户的记录,比较历史记录和当前信息中的时间值和能耗值,如果当前时间仇或能耗值小于上次记录,则反馈申报无效。最后,在系统完成一次抄表时,会通过网络、短信平台给用户发送申报成功的信息,并发送本次抄表的相关数值信息,如果用户没有提出异议,则系统默认此次抄表成功.如果用户直接到收费点进行申报,则所有反馈信息都由操作员向用户传达。

三、DES加密算法抄表系统特点

1、有效的把抄表的主动权由供应商转移到用户手中,用户可以在任何时间段申报抄表,因而是用户较容易接受的方式。

2、硬件投资小,硬件的投资主要是在用户端的采集仪表上,由于系统硬件实现简单,花费成本较低。无论是对水、电、气的采集仪表,成本都可以控制在一百元以内。

3、系统维护简单,目前我们所见的远程抄表系统,都是基于网络的,他们要为每一个用户提供一个网络接口,因此对网络系统的维护成本很高。基于DES压缩算法的抄表系统在用户端不直接采用网络传输数据,而采用最古老的方式——-人工传达,因此,维护成本极低。

4、密文传送形式的多样性,用户从仪表上读到密文后.可以以自己喜欢的方式向信息中心提交密文,可以用电话、短信、网络的方式,甚至可以亲自送交到信息采集部门。

随着时代的发展,基于通信网络的远程抄表方式必然是未来发展的方向,但是,可能我们还要经历一个比较长的时间才能实现全国范围的远程抄表实施。基于DES加密算法的抄表系统,可以看成一个半自动化的抄袭系统,它作为人工抄表和远程抄袭之间的一个过渡性产品,主要用于解决那些建立比较早、基础设施不完善的小区的抄袭问题。

小知识之ROM

ROM是只读内存(Read-Only Memory)的简称,是一种只能读出事先所存数据的固态半导体存储器。其特性是一旦储存资料就无法再将之改变或删除。通常用在不需经常变更资料的电子或电脑系统中,并且资料不会因为电源关闭而消失。ROM的另一层含义就是我们通常所说的刷机包,是一种手机固件,它能够使手机系统更流畅,更完善,丰富我们的手机功能。