数据处理方法和装置与流程

文档序号:17088433发布日期:2019-03-13 23:08阅读:137来源:国知局
数据处理方法和装置与流程
本发明涉及数据处理领域,具体而言,涉及一种数据处理方法和装置。
背景技术
:当前大多高强度加密算法(des,3des,aes)加密待加密字节长度均为8*n(n≥1),即8的倍数,在进行相应的加密计算时计算量较大。而在嵌入式实际应用中,传输的数据长度往往并不大,如简单动作指令所需的通信数据长度可在10字节内表达清楚,同时,嵌入式应用中设备的性能资源也较差。因此如果采用以上加密算法,则需要将待加密内容填充至特定长度(如8的整数倍),空耗通讯及系统性能资源。以当前嵌入式行业中常用的3des加密算法为例,该方案采用多次des加密,通过转换、移位等操作以达到高强度加密的目的。其缺陷有如下几点:1.需加密待加密字节为8的整数倍;2.运算量大;3.需较大内存空间。由此,该方案会空耗设备的运算资源,并具有较长的运算时间,结合嵌入式应用中相应资源紧张,且时效要求高的特点,该方案并不能完全适应嵌入式系统应用。针对现有技术中加密算法的计算量较大导致浪费计算资源的问题,目前尚未提出有效的解决方案。技术实现要素:本发明实施例提供了一种数据处理方法和装置,以至少解决现有技术中针对较短长度数据的加密算法因计算量较大而导致浪费计算资源的技术问题。根据本发明实施例的一个方面,提供了一种数据处理方法,包括:获取待加密字节的多个目标参数;对多个目标参数和待加密字节进行第一逻辑运算,得到第一中间加密结果;根据第一中间加密结果中每一位所处的当前位置,重新分配每一位的位置;对重新分配位置后的第一中间加密结果向第一方向进行移位操作,得到第二中间加密结果;对多个目标参数和第二中间加密结果进行第二逻辑运算,得到待加密字节的加密结果进一步地,根据第一中间加密结果中每一位所处的当前位置,重新分配每一位的位置,包括:将第一中间加密结果中的低四位地址内容换至2*n地址,将第一中间加密结果中的高四位换至2*(n-4)-1地址,其中,n为第一中间加密结果中每一位所处的当前位置。进一步地,解密端对加密结果进行解密,其中,解密端对加密结果进行解密的步骤包括:对加密结果和多个目标参数进行第三逻辑运算,得到第一中间解密结果,并调整第一中间解密结果中每一位数据的位置,得到第二中间解密结果;对第二中间解密结果和多个目标参数进行第四逻辑运算,得到待加密字节。进一步地,对第一中间解密结果向第二方向进行移位操作,其中,第二方向与第一方向相反;根据移位后的第一中间加密结果中每一位所处的当前位置,重新分配每一位的位置,得到第二中间解密结果。进一步地,根据移位后的第一中间加密结果中每一位所处的当前位置,重新分配每一位的位置,包括:将移位后的第一中间加密结果中,当前位置为奇数的内容换至(n+1)/2+4,当前位置为偶数地址的内容换至n/2地址,其中,n为移位后的第一中间解密结果中每一位所处的当前位置。进一步地,根据待加密字节在数据中的位置确定目标参数中的第一目标参数;根据待加密字节在数据中的位置和数据的预设密钥确定目标参数中的第二目标参数。进一步地,获取待加密字节在数据中的位置对应的位置参数和第一预设值;确定位置参数对第一预设值取余的结果为第一目标参数。进一步地,获取数据的预设密钥、待加密字节在数据中的位置对应的位置参数和第二预设值,其中,第二预设值为预设密钥的字节数;将位置参数对第二预设值取余,并根据取余的结果在预设密钥中查找到字节密钥;确定字节密钥为第二目标参数。进一步地,第一逻辑运算和第二逻辑运算为异或运算。进一步地,第三逻辑运算和第四逻辑运算为异或运算。根据本发明实施例的另一方面,还提供了一种数据处理装置,包括:获取模块,用于获取待加密字节的多个目标参数;第一逻辑运算模块,用于对多个目标参数和待加密字节进行第一逻辑运算,得到第一中间加密结果;分配模块,用于根据第一中间加密结果中每一位所处的当前位置,重新分配每一位的位置;移位模块,用于对重新分配位置后的第一中间加密结果向第一方向进行移位操作,得到第二中间加密结果;第二逻辑运算模块,用于对多个目标参数和第二中间加密结果进行第二逻辑运算,得到待加密字节的加密结果。根据本发明实施例的另一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述任意一项的数据处理方法。根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述任意一项的数据处理方法。在本发明实施例中,获取待加密字节的多个目标参数,对多个目标参数和待加密字节进行第一逻辑运算,得到第一中间加密结果,根据第一中间加密结果中每一位所处的当前位置,重新分配每一位的位置,对重新分配位置后的第一中间加密结果向第一方向进行移位操作,得到第二中间加密结果,对多个目标参数和第二中间加密结果进行第二逻辑运算,得到待加密字节的加密结果。上述方案以字节型数据为基础进行加密运算,从而适应嵌入式通讯数据的特殊性,解决了现有技术中针对较短长度数据的加密算法因计算量较大而导致浪费计算资源的技术问题,进而达到大幅度降低加密过程中性能资源损耗及通讯中无效数据所占用的通讯资源损耗的目的。附图说明此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是根据本发明实施例的数据处理方法的流程图;图2是根据本发明实施例的一种获取第一中间加密结果的示意图;图3是根据本发明实施例的一种获取待加密字节的加密结果的示意图;图4是根据本发明实施例的一种获取第一中间解密结果的示意图;图5是根据本发明实施例的一种解密得到待加密字节的示意图;以及图6是根据本申请实施例的一种数据处理装置的示意图。具体实施方式为了使本
技术领域
的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的待加密字节,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。实施例1根据本发明实施例,提供了一种数据处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。图1是根据本发明实施例的数据处理方法的流程图,如图1所示,该方法包括如下步骤:步骤s102,获取待加密字节的多个目标参数,其中,待加密字节为预设数据中的一个或多个字节。具体的,字节是一种用于计量存储容量的计量单元,字节型数据用一个字节来存储,可以用8位二进制数表示。在上述步骤中,待加密字节为预设数据中第一个或多个字节,字节的长度无需为8的倍数,也无需对待加密字节进行填充;对象为待加密字节,即上述步骤获取的是待加密字节的目标参数。在一种可选的实施例中,待加密字节具有预设的密钥,待加密字节的目标参数可以根据待加密字节所属的数据的密钥获取。步骤s104,对多个目标参数和待加密字节进行第一逻辑运算,得到第一中间加密结果。步骤s106,根据第一中间加密结果中每一位所处的当前位置,重新分配每一位的位置。具体的,上述每一位用于指示第一加密结果中的每一位,重新分配每一位的位置,可以是按照预设的规则,根据每一位当前的位置来进行位置的调整。在一种可选的实施例中,将第一中间加密结果中的低四位地址内容换至2*n地址,将第一中间加密结果中的高四位换至2*(n-4)-1地址,其中,n为第一中间加密结果中每一位所处的当前位置。步骤s108,对重新分配位置后的第一中间加密结果向第一方向进行移位操作,得到第二中间加密结果。步骤s1010,对多个目标参数和第二中间加密结果进行第二逻辑运算,得到待加密字节的加密结果。具体的,上述第二逻辑运算可以与第一逻辑运算相同,待加密字节的加密结果为最终传输至解密端的数据,解密端根据加密结果进行解密从而得到原始的待加密字节。由上可知,本申请上述实施例获取待加密字节的多个目标参数,对多个目标参数和待加密字节进行第一逻辑运算,得到第一中间加密结果,根据第一中间加密结果中每一位所处的当前位置,重新分配每一位的位置,对重新分配位置后的第一中间加密结果向第一方向进行移位操作,得到第二中间加密结果,对多个目标参数和第二中间加密结果进行第二逻辑运算,得到待加密字节的加密结果。上述方案以字节型数据为基础进行加密运算,从而适应嵌入式通讯数据的特殊性,解决了现有技术中针对较短长度数据的加密算法因计算量较大而导致浪费计算资源的技术问题,进而达到大幅度降低加密过程中性能资源损耗及通讯中无效数据占用的通讯资源损耗的目的。此处需要说明的是,本申请上述方案可应用于涉及小量数据加密的处理过程的设备中,例如安防及家电领域,常见的可应用产品可以包括:空调及电视等家用电器摇控器的通信数据加密、安防类无线传输数据加密、智能家居类控制产品的传输数据加密及红外收发设备间的通讯数据加密等。用通过低性能的主控芯片实现数据的高强度加密,提高了数据的安全性,相应的降低了产品成本。同时,提高了加密过程的效率,提高了控制过程中的实时性。可选的,根据本申请上述实施例,在得到待加密字节的加密结果之后,上述方法还包括:步骤s1010,解密端对加密结果进行解密,其中,解密端对加密结果进行解密的步骤包括:步骤s1012,对加密结果和多个目标参数进行第三逻辑运算,得到第一中间解密结果,并调整第一中间解密结果中每一位数据的位置,得到第二中间解密结果。具体的,解密端具有与加密端对应的解密算法。在上述步骤中,目标参数并不是用于对加密结果再次进行加密,而用于作为参数对加密结果进行解密。具体的,上述第三逻辑运算可以与第一逻辑运算和第二逻辑运算相同。调整第一中间结果的位置可以包括移位和换位操作,与步骤中104中的方法相对应。步骤s1014,对第二中间解密结果和多个目标参数进行第四逻辑运算,得到待加密字节。具体的,上述第四逻辑运算可以与第一逻辑运算、第二逻辑运算和第三逻辑运算相同。上述解密端的解密方法与步骤s102至步骤s108中加密端的加密方法相对应,通过上述解密方法,能够得到原始的待加密字节。可选的,调整第一中间解密结果中每一位数据的位置,得到第二中间解密结果,包括:步骤s10121,对第一中间解密结果向第二方向进行移位操作,其中,第二方向与第一方向相反。步骤s10123,根据移位后的第一中间加密结果中每一位所处的当前位置,重新分配每一位的位置,得到第二中间解密结果。在一种可选的实施例中,将移位后的第一中间加密结果中,当前位置为奇数的内容换至(n+1)/2+4,当前位置为偶数地址的内容换至n/2地址,其中,n为移位后的第一中间解密结果中每一位所处的当前位置。可选的,根据本申请上述实施例,获取待加密字节的多个目标参数,包括:步骤s1021,根据待加密字节在数据中的位置确定目标参数中的第一目标参数。在上述步骤中,由于数据中每个字节的位置不同,因此使用待加密字节的位置作为目标参数,能够防止不同的待加密字节具有相同加密结果,保证了待加密字节与加密结果一一对应的关系。步骤s1023,根据待加密字节在所述数据中的位置和数据的预设密钥确定目标参数中的第二目标参数。同理,使用待加密字节在数据中的位置与数据预设密钥确定第三目标参数,能够得到唯一的,且一一对应的第三目标参数。可选的,根据本申请上述实施例,根据待加密字节在数据中的位置确定目标参数中的第一目标参数,包括:步骤s10211,获取待加密字节在数据中的位置对应的位置参数和第一预设值。步骤s10213,确定位置参数对第一预设值取余的结果为第一目标参数。在一种可选的实施例中,结合表一所示的数据,以内容b为待加密字节进行说明,内容b为0xc5,在该数据中的位置为2,设置第一预设值为16,2对16取余得到第一目标参数为2,即00000010。表一内容abcde......地址12345......可选的,根据本申请上述实施例,根据数据的预设密钥和位置确定目标参数中的第二目标参数,包括:步骤s10231,获取数据的预设密钥、待加密字节在数据中的位置对应的位置参数和第二预设值,其中,第二预设值为预设密钥的字节数。步骤s10233,将位置参数对第二预设值取余,并根据取余的结果在预设密钥中查找到字节密钥。步骤s10235,确定字节密钥为第三目标参数。在一种可选的实施例中,仍以待加密字节为表一中的内容b为例,表一所示出的数据的预设密钥为6e7d05aa642e,预设密钥为6字节,内容b的位置对应的位置参数为2,内容b的位置对应的位置参数2对第二预设值6取余得到2,因此可以在预设密钥中查找第二个字节作为字节密钥,即第二目标参数为0x7d。可选的,根据本申请上述实施例,第一逻辑运算和第二逻辑运算为异或运算。可选的,根据本申请上述实施例,第三逻辑运算和第四逻辑运算为异或运算。在一种可选的实施例中,以表一所示的数据为例,待加密字节b为0xc5,数据的预设密钥为6e7d05aa642e。通过上述实施例提供的方法对内容b进行加密。首先,获取待加密字节的第二中间加密结果,可以使用公式bres=bsec⊕bn_16⊕bda0,其中,bres为待加密字节的第二中间加密结果,bda0为待加密字节0xc5,bn_16为第一目标参数2,bsec为第二目标参数0x7d,在该实施例中,第一逻辑运算为异或运算,将待加密字节、第一目标参数和第二目标参数进行异或运算,得到第二中间加密结果0xba,具体运算过程如图2所示。然后对第一中间加密结果进行调整位置的操作,该操作包括换位和移位。换位:由1开始从低位开始编号地址,低四位地址内容换至2*n地址。高四位换至2*(n-4)-1地址,换位后的结果如表二所示,按换位后地址重新排列字节内容,得到新的内容值为(11001101)。表二内容10111010地址87654321换后地址75318642移位:将换位所得数据进行左循环位移3个位,处理后即为01101110,即第二中间加密结果为0x6e。最后,将第二中间加密结果01101110作为对象,与第一目标参数2和第二目标参数0x7d进行异或,具体如图3所示。通过本实施例的上述步骤,可以得到内容b(0xc5)的加密结果为0x11。下面,对上述实施例对应的解码过程进行描述。首先,取得加密结果的连个目标参数,其中,bda即为b的加密结果0x11,第一目标参数bn_16即为2%16,值为2,第二目标参数bsec从所提供的6字节加密密钥6e7d05aa642e选取第二个字节内容,即为0x7d。对加密结果和两个目标参数进行异或,得到第二中间解密结果0x6e。具体计算过程如图4所示。然后,将流程一所得数据进行右循环位移3个位,处理后即为11001101,再由1开始从低位开始编号地址,将奇数地址n的内容换至(n+1)/2+4地址,偶数地址m的内容换至m/2地址,该换位操作可以如表三所示,得到第二中间解密结果10111010。表三内容11001101地址87654321换后地址48372615最后,将第二中间解密结果10111010作为对象,与第一目标参数2和第二目标参数0x7d进行异或,具体如图5所示。通过本实施例的上述步骤,可以得到加密结果对应的原内容b为0xc5。实施例2根据本发明实施例,提供了一种数据处理装置,图6是根据本申请实施例的一种数据处理装置的示意图,结合图6所示,该装置包括:获取模块60,用于获取待加密字节的多个目标参数。第一逻辑运算模块62,用于对所述多个目标参数和所述待加密字节进行第一逻辑运算,得到第一中间加密结果。分配模块64,用于根据第一中间加密结果中每一位所处的当前位置,重新分配每一位的位置。移位模块66,用于对重新分配位置后的第一中间加密结果向第一方向进行移位操作,得到第二中间加密结果。第二逻辑运算模块68,用于对所述多个目标参数和所述第二中间加密结果进行第二逻辑运算,得到所述待加密字节的加密结果。实施例3根据本发明实施例,提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述任意一项的数据处理方法。实施例4根据本发明实施例,提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述任意一项的数据处理方法。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1