随着大数据时代对数据挖掘的不断深入、无线通信技术的广泛应用,信息安全问题逐渐引起重视。特别是企业,数据安全性保障有利于其在行业内保持一定的竞争力。由于数据总线负载和网络带宽的限制,数据越大,传输效率越低。为了数据安全和提高数据上传速率,迫切地需要对数据进行压缩和加密处理。
目前的数据压缩和加密手段大多基于IEEE754浮点数算术标准,但这种算法无法满足数据不同精度的要求和最大程度的压缩,且容易被破解。由于不同数据精度要求差异,数据压缩后字节数受限于最高精度,即精度要求越高,压缩程度越低。而精度要求低的数压缩不彻底,存在部分无效数据。
本文设计了一种远程无线数据传输的压缩加密算法,旨在满足数据的最高精度要求的同时数据压缩程度最大化。
1 原理
车载端通过路试信息采集系统采集原始数据,原始数据包含轮胎胎温胎压、轮胎下沉量、汽车加速度、环境温湿度、相对时间和汽车所在位置的经纬度等。然后将所采集的原始数据进行压缩和加密,根据原数据的不同形式和精度分为三类(第一类语句、第二类语句和第三类语句),分别按照不同的算法进行压缩和加密。再通过4G通讯网络传输给服务器端,服务器端通过逆算法对三类语句分别进行解压缩和解密,解压缩和解密过程为压缩和加密的逆向过程。
其中第一类语句包括相对时间信息,数值较大,但精度要求低;第二类语句包括轮胎胎温胎压、轮胎下沉量、汽车加速度和环境温湿度信息,数值不大,精度要求不高;第三类语句包括汽车所在位置的经纬度,数值不大,但精度要求很高。针对三种不同的数据分别设计三种算法,对第一类语句和第二类语句最重要的目的是压缩的越小越好,对第三类语句要尽量保证精度的前提下进行适当压缩加密。
2 算法
基于以上需求,设计了三种精度的压缩加密算法:8位精度算法、12位精度算法和28位精度算法。其中的精度位数为小数位精度。
将原始数据按照字节长度和精度要求分类类别法分类,对分类后的数据分别按照顺序结构排列规则,排列后转换为字符串数组,并添加自定义语句起始标识符“$GUA”和校验符后打包成对应的一帧完整的语句,包括第一类语句、第二类语句和第三类语句。第一类语句经过8位精度算法的压缩和加密处理,第二类语句经过12位精度算法的压缩及加密处理,第三类语句经过28位精度算法的压缩及加密处理。
2.1 8位精度算法
相对时间采用8位精度算法,算法公式如式2.1所示。
二进制表示如图1所示,其中的指数位保存较大的整数,小数位保存小数。8位精度能够保证十进制小数点后2位精度,总长度为5个字节。
图1 8位精度二进制表示
2.2 12位精度算法
轮胎胎温胎压、轮胎下沉量、汽车加速度和环境温湿度采用12位精度算法,算法公式如式2.2所示。
二进制表示如图2所示,其中符号位代表正负号,指数位保存整数,小数位保存小数。12位精度能够保证十进制小数点后3位精度,总长度为3个字节。
图2 12位精度二进制表示
2.3 28位精度算法
经纬度信息采用28位精度算法,算法公式如式2.3所示。
二进制表示如图3所示,其中的指数位和小数位共同组成整数部分,小数位还能保存小数。28位精度能够保证十进制小数点后6位精度,能准确定位,总长度为4个字节。
图3 28位精度二进制表示
3 结果分析
通过以上算法对原始数据进行压缩后,添加标识符和校验符,打包成完整的一包数据,由原来的218字节减小为103字节,压缩了1倍以上。原先的字符串数据通过算法转换成二进制数据,若不用逆算法解密,是一包乱码。因此,实现了数据压缩和加密的目的。
压缩加密后的数据通过4G传输至服务器端后,对数据包进行相对应的解密过程。首先根据标识符和校验符还原完整的一包数据,再把数据进行二进制解析,再参照加密算法指定的加密协议进行运算,逆向得到各个数据的加密参数,再把二进制数转化成十进制数,得到加密之前的原始数据,即时间、经纬度、轮胎胎温胎压、轮胎下沉量、汽车加速度和环境温湿度数据。这样就实现了数据的解压缩和解密过程。
以12位精度算法为例,对100.375进行加密,符号位为正,即s=0,指数位e=100,相应的11位二进制数表示为00001100100,小数位f=(100.375-100)/2-12=29+210,二进制表示为011000000000,因此,十进制浮点数100.375就转换成了二进制数,记为:000001100100011000000000。二进制数通过相同的算法进行逆运算仍然能得到100.375,但是若无解析公式则无法进行解密。且原本占用7个字节的100.375字符串数据转换成了3个字节的二进制数,有效降低了占用字节数。
4 结论
本文设计了一种数据压缩和加密的算法,通过算法把原本冗长、而易被破解的路试信息进行了加密和压缩,提高了传输效率、保证了数据安全性。
参考文献:
[1] 王少华,孙传恒,罗娜,徐大明,张航,邢斌.面向预制食品溯源的隐私数据加密共享方法研究[J/OL].农业机械学报.
作者简介:邵彦,女,1993年生,硕士研究生,主要从事测试方法开发工作。邮箱:shao.yan@giti.com。