基于改进DES加密算法的电网移动终端数据传输方法与流程

文档序号:15817310发布日期:2018-11-02 22:46阅读:284来源:国知局
基于改进DES加密算法的电网移动终端数据传输方法与流程

本发明涉及移动终端监测电网运行情况以及电网调度数据平台技术领域,具体涉及一种基于改进des(对称密钥)加密算法的电网移动终端数据传输方法。

背景技术

随着智能电网建设的发展,移动终端在电网运行环境监测的应用日益广泛。针对目前调控中心信息化系统建设状况,需要提升基于安全信息加密技术的移动调控综合数据平台技术方案。移动调控综合数据平台分为服务端和移动客户端两部分,由于移动终端需要接收和存储大量电网运行敏感信息,如果这些信息被泄露会直接影响电网的安全运行。目前解决移动终端敏感信息的安全问题主要从两方面考虑:首先在移动终端与移动数据平台之间引入加解密算法模块,以此实现电网数据信息的安全通信;其次是加强移动终端自身对敏感重要信息的安全防护。

计算机数据传输加密技术中,des是一种对称加密算法,它以64位为分组对数据进行加密处理,也相当于16个16进制数。为了实现加密,同样使用64位长的密码,其中包含1个56位长的密钥以及附加的8位奇偶校验位,56位密钥可以是任意的数、可随时改变,这是一种迭代的分组密码,它的内部规则是公开的,系统数据的安全性完全依靠密钥的保密,其内部主要的算法包含:初始密钥56位的位置置换、16轮迭代变换、16个子密钥产生,而s-盒是des非线性结构处理的核心部分。

不过,des加密算法也存在着很多缺点,如:(1)des算法中密钥长度太短只有56位,用穷举搜索法进行攻击破解所需要付出的代价和时间越来越小。(2)迭代次数只有16次,差分分析与线性分析对des算法的密码破解是相当有效的。(3)s-盒是des算法的核心,易受差分密码分析的攻击。由此,攻击者可以在密钥长度、迭代次数、s-盒等方面破解,通常采用穷举法、明文法、差分密码法和线性密码法对des算法进行攻击破解,从而使信息数据传输受到了威胁。

目前,出现了多种基于des改进的算法,如:(1)增加分组长度,明文信息依旧存在,攻击者仍然可以通过穷举明文获取密钥。(2)n重des算法,该改进算法增加了算法的加密强度,但明显加大了算法复杂度,降低了算法效率。(3)改变s-盒次序,可以减弱线性攻击与明文攻击,但差分密码分析仍旧威胁着des算法的安全性。



技术实现要素:

为解决上述技术问题,本发明提供了一种改变16个子密钥加密顺序的改进des算法,可以随明文的变化而变化,既可以克服一次一密的繁琐过程,又可以有效地避免明文攻击。本发明基于上述改进的des加密算法进行电网移动终端数据传输,同时提高了移动终端侧的数据信息安全保护,实现了移动终端存储卡加密功能、内核级实时监控功能、位置追踪定位等功能,大大提高了电网移动终端数据传输的安全性。本发明所采用的技术方案如下:

基于改进des加密算法的电网移动终端数据传输方法,包括以下步骤:

步骤1、在电网移动终端的app界面输入des加密算法的三个入口参数key、data、mode,其中key为64bit工作密钥,data为64bit明文数据(要被加密或被解密的数据),mode为des的工作方式、即相应的加密或解密方式。

步骤2、对工作密钥key的有效数字位进行换位变换,并将换位变换之后的有效数字位分隔为两个部分c[0][28],d[0][28]。对于64bit的工作密钥key来说,其中第8,16,24,32,40,48,56,64位是校验位,所以最终的工作密钥key的有效数字位实际上是56位,然后对这56位有效数字位进行换位变换。

步骤3、创建16个长度为48bit的子密钥k[j][48],16个子密钥分别命名为key0,key1,...,key14,key15。

步骤4、对64bit的明文数据按照每四位进行分隔、分隔为16份,每份可以对应一个10进制数据,从而确定16个子密钥的顺序。

步骤5、为方便后续解密需求,将交换位置后子密钥的顺序进行加密,加密的规则为:如果新子密钥的顺序为key4,key9,key3,...,则相应64bit明文数据为010010010011...,对该子密钥的对应顺序码进行原始des加密处理,将结果与加密密文共同存储发送;然后对明文数据进行换位变换,换位变换时,第58位移到第一位,第50位移到第2位,...依次类推,得到64bit明文数据,并分隔为两部分l[0][32],r[0][32]。

步骤6、进行明文数据加密,对r[i][32]进行变换扩展为48位,记为e(r[i][32]),将e(r[i][32])与重新排序后的子密钥k[j][48]做异或运算,得到48位数、并分成8份、每份有6位、记为b[i][6]。

步骤7、进行s-盒操作,得到最后的电网移动终端与系统主站之间对明文数据进行传输的des加密结果、并将其在移动终端与系统主站之间进行信息传递。

步骤8、对传递的信息进行解密,依次颠倒步骤解密数据,首先解密子密钥的编码顺序数,s盒逆操作,根据子密钥进行逆变换运算,从而获取明文数据。

优选地,步骤2所述的对密钥key的有效数字位进行换位变换的方式为:将第57位移到第一位,第49位移到第二位,41位移到第3位......依次类推,得到换位变换后的56位有效数字。

优选地,步骤3所述的创建16个子密钥的方法为:用c[i][28],d[i][28]依次对前面做循环左移操作,然后串联获得16个长度为48bit的子密钥k[j][48]。

优选地,步骤7所述的进行s-盒操作的方法为:使用s[i]替换b[i][6],然后将经过s得到的8个4位数连接起来得到32位数,再与l[i][32]做异或处理,再把结果赋予r[i][32],再把r的值赋给l,最后将r与l进行合并为64bit数,得到最后的电网移动终端与系统主站之间对明文数据进行传输的des加密结果。

上述改进des算法的优点:子密钥的顺序完全是随机的,因此攻击者无法通过大量明文来获取变换情况;该改进算法采用最简单地改变子密钥顺序来进行加密的des算法,与一个明文一个密钥的算法相比,明显降低了算法的复杂度与繁琐程度,所以该des算法的运行效率基本没有受到影响;由于此算法中子密钥的顺序与所输入的明文密切相关,对明文攻击具有很强的抗击效果,而且每次加密的密钥具有不变性,此方法与明文相关,明文不同、变换子密钥也随之不同,所以明文攻击将没有意义;虽然改进后des算法中的密钥没有发生改变,但子密钥对应变换的顺序发生变化,穷举攻击的复杂度也变得更加繁琐。

优选地,本发明还对静态分析与动态控制进行探索研究,对于电网移动终端自身进行了改进,以进一步提高信息的安全防护级别。具体措施是,为电网移动终端安装以下智能管理模块:(1)权限控制模块,设定电网移动终端程序安装时必须满足系统侧设置的权限,对程序安全性进行判定,该方法将安全防护端口放在了程序安装阶段,可将损失减少到最低;若权限超出范围,则程序存在越限行为,这样安全防护就延伸至端口处。(2)防盗模式与定位服务模块,移动终端默认防盗模式,设置其他接收短信电话,当移动终端丢失或被盗后,电网系统可实现对移动终端的追踪定位、权限的冻结及移动终端自身敏感信息的销毁;若未拔sim卡,移动终端会发送信息至电网终端,终端会删掉敏感信息,冻结源权限等,若插入了其他sim卡,会发送位置信息至指定手机。(3)智能拨号模块,在移动终端侧隐藏软件程序的图标,只需要更改相应xml文件即可实现,应用中需要通过拨号方式拨打特定号码来启动软件才能进入用户交互界面,系统判断是否为指定号码,然后进入系统交互主界面进行相应操作,这样大大提高了数据保护的安全性。

本发明的有益效果:

1)本发明通过改进des加密算法,使攻击者无法通过大量明文来获取变换情况;降低了算法的复杂度与繁琐程度,使算法的运行效率基本没有受到影响;子密钥对应变换的顺序发生变化,使得穷举攻击的复杂度也变得更加繁琐;

2)本发明通过对移动终端侧的信息安全防护,将安全防护端口放在了程序安装阶段,可将损失减少;移动终端丢失被盗后电网系统可实现对移动终端的追踪定位、权限的冻结及移动终端自身敏感信息的销毁;移动终端侧隐藏软件程序图标,通过拨号方式进入用户交互界面,大大提高数据保护的安全性。

附图说明

图1是基于改进des加密算法的电网移动终端数据传输的模型示意图;

图2是基于改进des加密算法的电网移动终端数据传输的逻辑流程图。

具体实施方式

下面结合附图,具体说明本发明的实施方式。

如图1所示,是基于改进des加密算法的电网移动终端数据传输的模型示意图。对电网移动终端(app终端)进行安全防护改进后,增加了权限控制模块(程序安装时必须满足系统侧设置的权限)、防盗模式与定位服务模块(对移动终端进行追踪定位、权限的冻结及移动终端自身敏感信息的销毁)、智能拨号模块(隐藏软件程序的图标、需要通过拨号方式才能进入用户交互界面),使电网移动终端数据传输的安全性得到了很大提升。

在电网移动终端与电网系统管理平台的信息传递过程中,除了现有的安全隔离、安全防护等信息安全手段之外,又增加了基于改进des加密算法的数据加密与解密技术手段,使攻击者无法通过大量明文来获取变换情况;降低了算法的复杂度与繁琐程度,使算法的运行效率基本没有受到影响;子密钥对应变换的顺序发生变化,使得穷举攻击的复杂度也变得更加繁琐。

如图2所示,是基于改进des加密算法的电网移动终端数据传输的逻辑流程图,包括以下步骤:

步骤1、在电网移动终端的app界面输入des加密算法的三个入口参数key、data、mode,其中key为64bit工作密钥,data为64bit明文数据,mode为相应的加密或解密方式。

步骤2、对工作密钥key的有效数字位进行换位变换,并将换位变换之后的有效数字位分隔为两个部分c[0][28],d[0][28];有效数字位进行换位变换的具体方式是:将第57位移到第一位,第49位移到第二位,41位移到第3位......依次类推,得到换位变换后的56位有效数字。

步骤3、创建16个长度为48bit的子密钥k[j][48],16个子密钥分别命名为key0,key1,...,key14,key15;创建16个子密钥的方法为:用c[i][28],d[i][28]依次对前面做循环左移操作,然后串联获得16个长度为48bit的子密钥k[j][48]。

步骤4、对64bit的明文数据按照每四位进行分隔、分隔为16份,每份对应一个10进制数据以确定16个子密钥的顺序。

步骤5、将交换位置后子密钥的顺序进行加密,加密的规则为:如果新子密钥的顺序为key4,key9,key3,...,则相应64bit明文数据为010010010011...,对该子密钥的对应顺序码进行原始des加密处理,将结果与加密密文共同存储发送;然后对明文数据进行换位变换,换位变换时,第58位移到第一位,第50位移到第2位,...依次类推,得到64bit明文数据,并分隔为两部分l[0][32],r[0][32]。

步骤6、进行明文数据加密,对r[i][32]扩展为48位、记为e(r[i][32]),将e(r[i][32])与重新排序后的子密钥k[j][48]做异或运算,得到48位数、并分成8份、每份有6位、记为b[i][6]。

步骤7、进行s-盒操作,使用s[i]替换b[i][6],然后将经过s得到的8个4位数连接起来得到32位数,再与l[i][32]做异或处理,再把结果赋予r[i][32],再把r的值赋给l,最后将r与l进行合并为64bit数,得到最后的电网移动终端与系统主站之间对明文数据进行传输的des加密结果、并将其在移动终端与系统主站之间进行信息传递。

步骤8、对传递的信息进行解密,依次颠倒步骤解密数据,首先解密子密钥的编码顺序数,s盒逆操作,根据子密钥进行逆变换运算,从而获取明文数据。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1