数据加密的方法和装置制造方法及图纸

技术编号:15767077 阅读:70 留言:0更新日期:2017-07-06 14:10
本发明专利技术涉及信息安全领域,公开了数据加密的方法和装置,该方法包括:将待加密的数据进行分组;对于每组数据分别使用初始密钥进行初始加密,将初始加密后数据作为初始输入以进行多轮加密;在每轮加密中,将输入的数据进行加密置换,使用与本次加密轮数对应的密钥对加密置换后数据进行加密,将加密后数据作为下一轮加密的输入数据。本发明专利技术能够更好的满足移动终端对于加密技术的需求。

Method and apparatus for data encryption

The present invention relates to the field of information security, data encryption method and apparatus is disclosed, the method comprises: to be encrypted data packet; for each data set were used for the initial initial key encryption, the initial encrypted data as initial input for several rounds of encryption; in each round of encryption in the input data encrypt the replacement, replacement of encryption encrypts data using the encryption round number corresponding to the key, the encrypted data as input data to the next round of encryption. The invention can better satisfy the demand of the mobile terminal for encryption technology.

【技术实现步骤摘要】
数据加密的方法和装置
本专利技术涉及信息安全领域,具体地,涉及一种数据加密的方法和装置。
技术介绍
近年来,密码学理论研究及实际应用得到大力的发展,设计出大量具有高安全可靠性且性能较好的分组密码同时应用于密码领域,新的密码算法的研究设计工作极大的促进了密码学及密码应用在各个领域的应用,对国家安全、企业知识产权保护以及个人隐私等信息安全工作起到积极的保障作用。然而,随着大数据、云计算、物联网以及移动互联网的发展以及无线网络在生活的普及应用,新的应用场景对移动终端的安全提出了更高的要求,针对移动终端的灵活便捷、携带方便的特点来看,普适性的分组密码如DES、3DES、SM4等算法由于其计算复杂性较高,而移动终端属于资源受限类型的设备,在速率方面有一定的影响。因此,需要提供一种能够满足移动终端需求的加密算法。
技术实现思路
本专利技术的目的是提供一种数据加密的方法和装置,以解决或者至少部分的解决上述技术问题。为了实现上述目的,本专利技术提供一种数据加密的方法,该方法包括:将待加密的数据进行分组;对于每组数据分别使用初始密钥进行初始加密,将初始加密后数据作为初始输入以进行多轮加密;在每轮加密中,将输入的数据进行加密置换,使用与本次加密轮数对应的密钥对加密置换后数据进行加密,将加密后数据作为下一轮加密的输入数据。优选地,所述方法还包括:将待解密的数据进行分组;对于每组数据分别使用与最后一轮加密对应的密钥进行初始解密,将初始解密后数据作为初始输入以进行多轮解密;在每轮解密中,将输入的数据进行解密置换,使用与本次解密轮数对应的密钥对解密置换后数据进行解密,将解密后数据作为下一轮解密输入数据。优选地,所述方法还包括:对配置的密钥进行扩展,按加密所需密钥个数将扩展后密钥进行分段,各段密钥分别与初始加密和各轮加密中所用密钥对应。优选地,所述将输入的数据进行加密置换,包括:使用加密置换表对输入的数据进行S盒加密置换;使用加密置换表对S盒加密置换后数据进行P置换。优选地,所述方法还包括:产生预设数量字节的随机数,利用随机数产生初始加密置换表和/或初始解密置换表,将初始加密置换表和/或初始解密置换表进行多次交替置换,生成用于加密置换的加密置换表和/或用于解密置换的解密置换表。根据本专利技术的另一方面,还公开了一种数据加密的装置,该装置包括:分组模块,用于将待加密的数据进行分组;初始加密模块,用于对于每组数据分别使用初始密钥进行初始加密,将初始加密后数据作为初始输入数据输入加密模块;所述加密模块用于在每轮加密中,将输入的数据进行加密置换,使用与本次加密轮数对应的密钥对加密置换后数据进行加密,将加密后数据作为下一轮加密的输入数据。优选地,所述装置还包括:初始解密模块和解密模块;所述分组模块还用于将待解密的数据进行分组;所述初始解密模块用于对于每组数据分别使用与最后一轮加密对应的密钥进行初始解密,将初始解密后数据作为初始输入数据输入所述解密模块;所述解密模块用于在每轮解密中,将输入的数据进行解密置换,使用与本次解密轮数对应的密钥对解密置换后数据进行解密,将解密后数据作为下一轮解密输入数据。优选地,所述分组模块还用于对配置的密钥进行扩展,按加密所需密钥个数将扩展后密钥进行分段,各段密钥分别与初始加密和各轮加密中所用密钥对应。优选地,所述加密模块用于使用加密置换表对输入的数据进行S盒加密置换;使用加密置换表对S盒加密置换后数据进行P置换。优选地,所述装置还包括:生成模块,用于产生预设数量字节的随机数,利用随机数产生初始加密置换表和/或初始解密置换表,将初始加密置换表和/或初始解密置换表进行多次交替置换,生成用于加密置换的加密置换表和/或用于解密置换的解密置换表。通过上述技术方案,将待加密的数据进行分组,对于每组数据分别使用初始密钥进行初始加密,将初始加密后数据作为初始输入以进行多轮加密;在每轮加密中,将输入的数据进行加密置换,使用与本次加密轮数对应的密钥对加密置换后数据进行加密,将加密后数据作为下一轮加密的输入数据。如此,能够提供一种安全性较高,运算量较少的加密技术方案,进而能够更好的满足移动终端对于加密技术的需求。本专利技术的其它特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本专利技术,但并不构成对本专利技术的限制。在附图中:图1是根据本专利技术一实施例的数据加密的方法的流程图;图2是根据本专利技术一实施例的数据解密的方法的流程图;图3是根据本专利技术一实施例的数据加密的装置的结构图;图4是根据本专利技术一实施例的数据加密的装置的结构图;以及图5是根据本专利技术一实施例的数据加密的装置的结构图。具体实施方式以下结合附图对本专利技术的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本专利技术,并不用于限制本专利技术。图1是根据本专利技术一实施例的数据加密的方法的流程图。如图1所示,本专利技术可包括如下步骤。在步骤S110中,将待加密的数据进行分组。举例而言,将明文消息编码表示成明文序列,划分成长度为m的分组,例如划分为64位的分组。在后续步骤中,将每分组分别在密钥的作用下变换成等长的输出密文序列。其中,密钥可通过扩展方式使支持64、80、96、112、128位长度的密钥,分组迭代轮数可选择10、11、12、13以及14次。在一实施例中,所述方法还包括:对配置的密钥进行扩展,按加密所需密钥个数将扩展后密钥进行分段,各段密钥分别与初始加密和各轮加密中所用密钥对应。例如,L字节长度的密钥将被扩展到8(r+1)字节,扩展后的密钥为K0|K1|...|Ki|...|Kr=k0|k1|...|ki|...k8r+7,这里每个Ki均为8字节长度,0≤i≤r;每个ki均有一个字节,0≤i≤8r+7,r为进行加密时的迭代轮数。因此密钥K为8、10、12、14和16字节,分组迭代轮数r可选择10、11、12、13以及14次。在一实施例中,所述方法还可包括:产生预设数量字节的随机数,利用随机数产生初始加密置换表和/或初始解密置换表,将初始加密置换表和/或初始解密置换表进行多次交替置换,生成加密置换表和/或解密置换表。举例而言,加密置换表和解密置换表通过伪随机置换生成,引入迭代Logistic(逻辑)映射,首先产生256字节的不重复数,不重复数的范围是0-30000,加密置换表S[256]和解密置换表S-1[256]是通过多次交替置换得到新的256字节的伪随机置换表,交替置换过程为:T:S[T(j)]=T(j+1),S[T(255)]=T(0);S-1[T(j+1)]=T(j),S-1[T(0)]=T(255);其中0≤j≤254。在步骤S120中,对于每组数据分别使用初始密钥进行初始加密,将初始加密后数据作为初始输入以进行多轮加密。在步骤S130中,在每轮加密中,将输入的数据进行加密置换,使用与本次加密轮数对应的密钥对加密置换后数据进行加密,将加密后数据作为下一轮加密的输入数据。在一实施例中,所述将输入的数据进行加密置换包括:使用加密置换表对输入的数据进行S盒加密置换;使用加密置换表对S盒加密置换后数据进行P置换。例如,在初始加密过程中,使用初始密钥K0对数据进行异或处理,初始密文其本文档来自技高网...
数据加密的方法和装置

【技术保护点】
一种数据加密的方法,该方法包括:将待加密的数据进行分组;对于每组数据分别使用初始密钥进行初始加密,将初始加密后数据作为初始输入以进行多轮加密;在每轮加密中,将输入的数据进行加密置换,使用与本次加密轮数对应的密钥对加密置换后数据进行加密,将加密后数据作为下一轮加密的输入数据。

【技术特征摘要】
1.一种数据加密的方法,该方法包括:将待加密的数据进行分组;对于每组数据分别使用初始密钥进行初始加密,将初始加密后数据作为初始输入以进行多轮加密;在每轮加密中,将输入的数据进行加密置换,使用与本次加密轮数对应的密钥对加密置换后数据进行加密,将加密后数据作为下一轮加密的输入数据。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:将待解密的数据进行分组;对于每组数据分别使用与最后一轮加密对应的密钥进行初始解密,将初始解密后数据作为初始输入以进行多轮解密;在每轮解密中,将输入的数据进行解密置换,使用与本次解密轮数对应的密钥对解密置换后数据进行解密,将解密后数据作为下一轮解密输入数据。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:对配置的密钥进行扩展,按加密所需密钥个数将扩展后密钥进行分段,各段密钥分别与初始加密和各轮加密中所用密钥对应。4.根据权利要求1至3任一所述的方法,其特征在于,所述将输入的数据进行加密置换,包括:使用加密置换表对输入的数据进行S盒加密置换;使用加密置换表对S盒加密置换后数据进行P置换。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:产生预设数量字节的随机数,利用随机数产生初始加密置换表和/或初始解密置换表,将初始加密置换表和/或初始解密置换表进行多次交替置换,生成用于加密置换的加密置换表和/或用于解密置换的解密置换表。6.一种数据加密的装置,该装置包括:分组模块,用于将待加密的数据进...

【专利技术属性】
技术研发人员:王国文
申请(专利权)人:航天信息股份有限公司
类型:发明
国别省市:北京,11

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

1