一种基于ARM指令构造数据加解密算法的方法及系统技术方案

技术编号:15767069 阅读:93 留言:0更新日期:2017-07-06 14:08
本发明专利技术公开了一种基于ARM指令构造数据加解密算法的方法及系统,涉及数据加解密技术领域。该方法包括:设置加法运算操作,该加法运算操作基于ARM指令实现加法操作;设置减法运算操作,该减法运算操作基于ARM指令实现减法操作;设置左移运算操作,该左移运算操作基于ARM指令实现数据逻辑左移操作;设置右移运算操作,该右移运算操作基于ARM指令实现数据逻辑右移操作;利用上述设置好的基本运算操作进行随机组合,构造出基于ARM指令的加解密算法。本发明专利技术能有效避免数据加解密算法被恶意破解,提高数据加解密的安全性。

Method and system for constructing data encryption and decryption algorithm based on ARM instruction

The invention discloses a method and a system for constructing a data encryption and decryption algorithm based on ARM instructions, relating to the technical field of data encryption and decryption. The method includes: setting the addition operation, the operation of addition operations based on the ARM instruction to realize the addition operation; set subtraction operation, the subtraction operation based on the ARM instruction to realize the subtraction operation; set the left shift operation, the left shift operation ARM instruction to realize the logic of the data operation based on the left; right set operations, the right operation based on the ARM instruction to realize the logic of the data shift operation; random combination using the above set up the basic operations, construct the encryption algorithm based on ARM instruction. The invention can effectively avoid the data encryption and decryption algorithm being maliciously cracked, and improve the security of data encryption and decryption.

【技术实现步骤摘要】
一种基于ARM指令构造数据加解密算法的方法及系统
本专利技术涉及数据加解密
,具体来讲是一种基于ARM(移动端的CPU处理器)指令构造数据加解密算法的方法及系统。
技术介绍
目前,在移动端程序中都会对比较重要的数据进行加密或者解密。现有的加解密算法大多都采用比较成熟的公开的算法,虽然公开算法本身是安全的,但是带来的问题则是HACK(黑客)也可以获取到同样的加解密算法来对数据进行解密,从而获取到原始的数据。例如,对于直播APP(Application,应用程序)来说,每个房间的观看人数的数据是比较关键的数据,通常的做法是服务器会发送请求验证数据给客户端,客户端回复服务器正确的数据则表明是一个正常的客户端登录到这个房间;如果回复的数据是错误的则认为是一个非法的伪造用户。但实际应用中,此方法的弊端是HACK可以通过直播APP来获取到直播APP回复服务器数据的计算方法,从而可以将功能移植到性能较好的服务器来计算正确的回复数据,而在性能更好的服务器甚至可以同一时间伪造大量的虚假用户登录到房间。由此可见,现有的加解密算法还是可能会遭到HACK的破解,安全性较低,进而使得应用中的某些数据还是可能会被机器程序来利用伪造。因此,如何有效避免数据加解密被恶意破解,提高数据的加解密的安全性,是本领域技术人员亟待解决的问题。
技术实现思路
本专利技术的目的是为了克服上述
技术介绍
的不足,提供一种基于ARM指令构造数据加解密算法的方法及系统,能有效避免数据加解密被恶意破解,提高数据加解密的安全性。为达到以上目的,本专利技术采取的技术方案是:提供一种基于ARM指令构造数据加解密算法的方法,该方法包括以下步骤:S1:设置用于构造加解密算法的加法运算操作,所述加法运算操作基于ARM指令实现加法操作;S2:设置用于构造加解密算法的减法运算操作,所述减法运算操作基于ARM指令实现减法操作;S3:设置用于构造加解密算法的左移运算操作,所述左移运算操作基于ARM指令实现数据逻辑左移操作;S4:设置用于构造加解密算法的右移运算操作,所述右移运算操作基于ARM指令实现数据逻辑右移操作;S5:利用设置好的加法运算操作、减法运算操作、左移运算操作、右移运算操作进行随机组合,构造出加密算法;并根据构造出的加密算法,生成与该加密算法对应的解密算法。本专利技术还提供一种基于ARM指令构造数据加解密算法的系统,该系统包括加法运算设置单元、减法运算设置单元、左移运算设置单元、右移运算设置单元以及加解密算法构造单元。所述加法运算设置单元用于:设置用于构造加解密算法的加法运算操作,该加法运算操作基于ARM指令实现加法操作。所述减法运算设置单元用于:设置用于构造加解密算法的减法运算操作,该减法运算操作基于ARM指令实现减法操作。所述左移运算设置单元用于:设置用于构造加解密算法的左移运算操作,该左移运算操作基于ARM指令实现数据逻辑左移操作。所述右移运算设置单元用于:设置用于构造加解密算法的右移运算操作,该右移运算操作基于ARM指令实现数据逻辑右移操作。所述加解密算法构造单元用于:利用设置好的加法运算操作、减法运算操作、左移运算操作、右移运算操作进行随机组合,构造出加密算法;并根据构造出的加密算法,生成与该加密算法对应的解密算法。本专利技术的有益效果在于:本专利技术通过使用ARM的特殊指令设置(设计)出用于构造加解密算法的基本算术运算操作(加法运算操作、减法运算操作、左移运算操作、右移运算操作);再利用这些基本的算术运算操作进行大量的组合和重复来构造成加解密算法。与现有技术相比,本专利技术设置的基本算术运算操作是基于ARM的特殊指令来实现的,该指令只能运行于ARM的芯片上,从而使得HACK即使获取到了数据的加解密算法,但是由于该算法只能在ARM芯片上运行,而ARM芯片的运算能力有限,所以HACK也没有办法在ARM上同时构造大量的伪造用户登录数据,从而避免了加解密算法被恶意破解。与此同时,本专利技术构造的加解密算法是对基本运算操作的随机组合和任意多条运算的叠加,对于这种基于任意多条运算操作构造的加解密算法,可以不断的去变换其运算数和条数,使得算法可以不断的更新,进一步提高了加解密算法的安全性。附图说明图1为本专利技术实施例中基于ARM指令构造数据加解密算法的方法的流程图;图2为本专利技术实施例中基于ARM指令构造数据加解密算法的系统的结构框图。具体实施方式下面结合附图及具体实施例对本专利技术作进一步的详细描述。本专利技术是一种基于ARM特殊指令来构造数据的加解密算法的方案。其设计思路是:首先,通过使用ARM的特殊指令来设置(设计)用于构造加解密算法的基本算术运算操作,该基本算术运算操作包括:加法运算操作(2个数据相加)、减法运算操作(2个数相减)、左移运算操作(一个数据逻辑左移几位)和右移运算操作(一个数据逻辑右移几位)。然后,利用这些基本的算术运算操作大量的组合和重复来组合成加密算法。同时,根据组合成的加密算法,生成与该加密算法对应的解密算法,该解密算法与加密算法是对等的操作。例如,在加密算法中设置了一条对一个数据相加5的操作,那么相对应的在解密算法中就会设计一条对一个数据减去5的操作,同样的在加密算法中将一个数据左移3位,那么相对应的在解密算法中则将这个数据右移3位等等。通过这种多条逻辑运算叠加在一起形成一套加解密算法。一套加解密算法可以使用十几条甚至几十条逻辑运算叠加,同时可以用同样的操作随机的生成多套加解密算法。基于上述设计思路,参见图1所示,本专利技术实施例提供一种基于ARM指令构造数据加解密算法的方法,包括以下步骤:步骤S1:设置用于构造加解密算法的加法运算操作,该加法运算操作基于ARM指令实现加法操作。实际操作中,步骤S1具体包括以下操作:步骤S101:定义一个宏的加法运算操作符_ADD_(r,x,y),其中参数r存放加法的结果,参数x存放被加数,参数y存放加数,该加法运算操作符完成的运算即是r=x+y操作。步骤S102:为该加法运算操作符_ADD_(r,x,y)设置ARM指令,使得该加法运算操作符_ADD_(r,x,y)按照设置的ARM指令完成加法操作。具体来说,该加法运算操作符_ADD_(r,x,y)按照设置的ARM指令完成加法操作的具体流程为:步骤S102a:执行寄存器切割为半字后执行半字加法;步骤S102b:读取CPSR寄存器的值;步骤S102c:分离出溢出标志;步骤S102d:检查前面的半字加法的结果是否有溢出;步骤S102e:判断标志寄存器中的零标志Z是否等于0;步骤S102f:将溢出计入最终结果。与上述内容对应的ARM指令实现代码可如下:#define_ADD_(r,x,y)__asm____volatile__("uadd16%0,%1,%2"//执行寄存器切割为半字后执行加法"mrslr,cpsr"//读取cpsr寄存器的值"andlr,lr,#0x30000"//分离出溢出标志"tstlr,#0x30000"//检查前面的半字加法是否有溢出"itne"//判断标志寄存器Z是否等于0"addne%0,%0,#0x10000"//将溢出计入最终结果:"=r"(r):"r"(x),"r"(y):"lr");可以理解的是,本实施例中通过提供一个宏的加法运算操作符来实现基于ARM指本文档来自技高网...
一种基于ARM指令构造数据加解密算法的方法及系统

【技术保护点】
一种基于ARM指令构造数据加解密算法的方法,其特征在于,包括以下步骤:S1:设置用于构造加解密算法的加法运算操作,所述加法运算操作基于ARM指令实现加法操作;S2:设置用于构造加解密算法的减法运算操作,所述减法运算操作基于ARM指令实现减法操作;S3:设置用于构造加解密算法的左移运算操作,所述左移运算操作基于ARM指令实现数据逻辑左移操作;S4:设置用于构造加解密算法的右移运算操作,所述右移运算操作基于ARM指令实现数据逻辑右移操作;S5:利用设置好的加法运算操作、减法运算操作、左移运算操作、右移运算操作进行随机组合,构造出加密算法;并根据构造出的加密算法,生成与该加密算法对应的解密算法。

【技术特征摘要】
1.一种基于ARM指令构造数据加解密算法的方法,其特征在于,包括以下步骤:S1:设置用于构造加解密算法的加法运算操作,所述加法运算操作基于ARM指令实现加法操作;S2:设置用于构造加解密算法的减法运算操作,所述减法运算操作基于ARM指令实现减法操作;S3:设置用于构造加解密算法的左移运算操作,所述左移运算操作基于ARM指令实现数据逻辑左移操作;S4:设置用于构造加解密算法的右移运算操作,所述右移运算操作基于ARM指令实现数据逻辑右移操作;S5:利用设置好的加法运算操作、减法运算操作、左移运算操作、右移运算操作进行随机组合,构造出加密算法;并根据构造出的加密算法,生成与该加密算法对应的解密算法。2.如权利要求1所述的基于ARM指令构造数据加解密算法的方法,其特征在于,步骤S1具体包括以下操作:S101:定义一个宏的加法运算操作符;S102:为所述加法运算操作符设置ARM指令,使得所述加法运算操作符按照设置的ARM指令完成加法操作;其中,所述加法运算操作符按照设置的ARM指令完成加法操作的具体流程为:执行寄存器切割为半字后执行半字加法;读取CPSR寄存器的值;分离出溢出标志;检查前面的半字加法的结果是否有溢出;判断标志寄存器中的零标志Z是否等于0;将溢出计入最终结果。3.如权利要求1所述的基于ARM指令构造数据加解密算法的方法,其特征在于,步骤S2具体包括以下操作:S201:定义一个宏的减法运算操作符;S202:为所述减法运算操作符设置ARM指令,使得该减法运算操作符按照设置的ARM指令完成减法操作;其中,所述减法运算操作符按照设置的ARM指令完成减法操作的具体流程为:执行寄存器切割为半字后执行半字减法;读取CPSR寄存器的值;分离出借位标志;检查前面的半字减法的结果是否有借位;判断标志寄存器中的零标志Z是否等于1;将借位计入最终结果。4.如权利要求1所述的基于ARM指令构造数据加解密算法的方法,其特征在于,步骤S3具体包括以下操作:S301:设定执行左移运算操作的进入条件;S302:定义一个宏的左移运算操作符;S303:为所述左移运算操作符设置ARM指令,使得所述左移运算操作符在满足设定的进入条件时按照设置的ARM指令完成数据逻辑左移操作,并在移位后利用空闲指令槽执行一次函数切割。5.如权利要求1所述的基于ARM指令构造数据加解密算法的方法,其特征在于,步骤S4具体包括以下操作:S401:设定执行右移运算操作的进入条件;S402:定义一个宏的右移运算操作符;S403:为所述右移运算操作符设置ARM指令,使得所述右移运算操作符在满足设定的进入条件时按照设置的ARM指令完成数据逻辑右移操作,并在移位后利用空闲指令槽执行一次函数切割。6.一种基于ARM指令构造数据加解密算法的系统,其特征在于:该系统包括加法运算设置单元、减法运算设置单元、左移运算设置单元、右移运算设...

【专利技术属性】
技术研发人员:周志刚胡卫谊
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1