一种数据加密方法、解密方法及其装置、设备制造方法及图纸

技术编号:34340704 阅读:59 留言:0更新日期:2022-07-31 03:51
本发明专利技术公开了一种数据加密方法、解密方法及其装置、设备,涉及信息保护技术领域,用于解决现有技术中采用分组模式加密时,无法应用于多进制工作场景、且无法保留原数据格式的技术问题,加密方法包括:将待加密明文按分组长度N分成T个明文组;根据获取的参数f,获得加密参数R;迭代执行:获取第i

A data encryption method, decryption method and its device and equipment

【技术实现步骤摘要】
一种数据加密方法、解密方法及其装置、设备


[0001]本专利技术涉及信息保护
,特别涉及一种数据加密方法、解密方法及其装置、设备。

技术介绍

[0002]目前,在信息
中,有大量的信息数据需要传输及保存,而数据加密是计算机系统对信息进行保护的一种最可靠的办法,它利用密码技术对信息进行加密,提高了信息系统及数据的安全性和保密性,防止秘密数据被外部破译,从而起到保护信息的安全的作用。
[0003]目前,有关分组模式的分组密码工作模式常见的有密文分组链接(Cipher Block Chaining,CBC)、电子密本(Electronic Code Book,ECB)等工作模式,分组加密是对N比特的明文输入和L比特的加密密钥进行处理,生成S比特的密文输出,因此,要求参与运算的数据为二进制流,无法适用于某些其它进制的场景。
[0004]而在实际使用过程中,二进制无法满足某些特殊应用的需要,比如数值型个人识别信息,包括手机号码、出生日期、银行卡号、付款价格等信息,该类数据属于十进制的信息,并非二进制,因此,在加密时,不适宜采用上述工作模式对其加密。
[0005]且,该类数据存储时具有一定的格式存储要求,但基于该种分组密码工作模式使用传统的加密算法加密时通常会扩展数据,使数据长度和类型发生变化,将会破坏原数据的格式,使得加密后的数据无法在原有的数据库或节点中存储,而且可能会破坏已有的业务系统的功能,因此需要修改数据库结构或应用程序来适应这些变化,成本非常高。
[0006]而现有的保留格式加密算法由于待加密的参数多数为多进制,无法采用分组加密方式来进行加密,且保留格式加密模式的运算量过于复杂,较普通的分组密码工作模式相比,性能下降了很多倍。因此,如何利用分组密码工作模式的性能优点,还能适应于格式数据加密的需要,可适用于长数据加密,并且将数据加密后却不破坏其固有的格式、类型、长度,以确保现有的业务系统、数据库存储结构尽可能少的改动,是一个需要解决的问题。

技术实现思路

[0007]本专利技术实施例公开了一种数据加密方法、解密方法及其装置、设备,用于解决现有技术中采用分组模式加密时,无法应用于多进制工作场景、且无法保留原数据格式的技术问题。
[0008]第一方面,本专利技术实施例提供了一种分组模式加密方法,所述方法包括:
[0009]将待加密明文按分组长度N分成T个明文组;
[0010]根据获取的参数f,获得加密参数R,所述加密参数R的长度与所述分组长度N相同,所述加密参数R与所述明文组属于同一字符集合;
[0011]迭代执行:获取第i

1组的密文组C
i
‑1,将所述密文组C
i
‑1与所述加密参数R,采用第二加密方式,获得隐秘扰码V;所述隐秘扰码V与第i组的明文组P
i
,采用第三加密方式,获得
第i组的密文组C
i

[0012]若无法获取第i

1分组的密文组C
i
‑1时,则设定所述第i

1组的密文组C
i
‑1为默认值;
[0013]其中,1≤i≤T,所述T为所述待加密明文的明文组的数量,所述i为大于等于1的整数,所述N为大于等于1的整数,所述第二加密方式和所述第三加密方式均采用格式保留加密算法,使获得的所述密文组与所述明文组属于同一字符集合,及所述密文组的长度与所述明文组的长度相同,所述第二加密方式与所述第三加密方式彼此相同/不同。
[0014]本申请专利技术实施例的技术方案,使得加密后的密文与加密前的明文的长度和字符相同,实现了对敏感数据的加密,不需要更改原有的数据库结构即可以保存加密数据;而本专利技术充分利用分组密码工作模式的性能优点,将待加密的数据分组,可以适用于待加密数据量大的情形节省了资源开销;且,本专利技术额外增加了隐秘因子R,在生成当前组的密文组后,由隐秘因子R与当前的密文组通过第二加密方式生成了隐秘扰码V,利用隐秘扰码V参与下一组明文的加密过程,破译者无法像CBC模式那样直接获取参与下一组明文加密运算的参数,防止破译者获取明文组与密文组间的对应,使破译者不能得到有利于开展密码分析的必备素材,进而可一定程度上保障较小分组情形的信息安全,提高了加密的安全性;且,密码分析需要明密对,通常需要很多明密对,而采用本模式,攻击者不能得到明密对,攻击者不能获得有效数据,就无法开展密码分析。
[0015]在一些示例性的实施方式中,所述第二加密方式和/或所述第三加密方式所采用加密算法为异或运算、字符模加运算、字符模减运算中任意一种;
[0016]其中,所述字符模加运算符合以下公式:
[0017]Y1=(A+B)%m,
[0018]所述字符模减运算符合以下公式:
[0019]Y2=(A

B+m)%m,
[0020]其中,Y1表示字符模加后的运算结果,Y2表示字符模减后的运算结果,A、B属于同一字符集合中的任一字符,且表示参与运算的参数,m表示所述字符集合中字符的数量,%表示取m的余数。
[0021]本专利技术的实施例,即使分组后出现相同的明文组,如明文组C1与C3相同,但经过该加密方法后,彼此间获得的密文仍然不同,使破译者无法根据密文的格式推断原明文的格式特征,加密后的密文与明文相较,其长度未发生变化,与明文同属于同一字符集合,因此,加密后获得的密文与明文可以采用同一数据结构进行保存,不需要对相关的数据库做出重大的改变。字符模加、字符模减运算与异或运算相较,其可适用于任何的格式数据场景,省略了进制转换的过程,并可根据实际需要自行定义任意的字符集合以满足实际应用的需要,实用性强,加密效果好,不仅适合普通的二进制比特流数据,还适宜保留格式类数据。
[0022]在一些示例性的实施方式中,所述方法还包括:
[0023]获取密钥;
[0024]在采用第二加密方式和/或第三加密方式之后,还包括:
[0025]根据所述密钥,对所述第二加密方式和/或所述第三加密方式产生的加密结果再次加密。
[0026]通过在第二加密方式和/或在第三加密方式后,再通过密钥对第二加密方式和/或
第三加密方式产生的加密结果采用保留格式算法再次加密,可以看出,当加密结果经过密钥对其加密后,使产生的加密结果变得不可预测,对于破译者来说,破解的难度大大提高,被破解的概率小,从而保证了加密后数据的安全性。
[0027]在一些示例性的实施方式中,所述密钥包括第一密钥K1;
[0028]以所述第一密钥K1为输入参数,由约定的第一计算函数计算出第二密钥K2、第三密钥K3;
[0029]或,所述密钥还包括第二密钥K2、第三密钥K3;
[0030]或,第二密钥K2、第三密钥K3与所述第一密钥K1相同;
[0031]所述根据所述密钥,对所述第二加密方式和/或所述第三加密方式产生的加密结果再次加密,具体包括本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据加密方法,其特征在于,包括:将待加密明文按分组长度N分成T组明文组;根据获取的参数f,获得加密参数R,所述加密参数R的长度与所述分组长度N相同,所述加密参数R与所述明文组属于同一字符集合;迭代执行:获取第i

1组的密文组C
i
‑1,将所述密文组C
i
‑1与所述加密参数R,采用第二加密方式,获得隐秘扰码V;所述隐秘扰码V与第i组的明文组P
i
,采用第三加密方式,获得第i组的密文组C
i
;若无法获取第i

1分组的密文组C
i
‑1时,则设定所述第i

1组的密文组C
i
‑1为默认值/约定值,设定的所述密文组C
i
‑1的长度与所述分组长度N相同,与所述明文组属于同一字符集合;其中,1≤i≤T,所述T为所述待加密明文的明文组的数量,所述i为大于等于1的整数,所述N为大于等于1的整数,所述第二加密方式和所述第三加密方式均采用格式保留加密算法,使获得的所述密文组与所述明文组属于同一字符集合,及所述密文组的长度与所述明文组的长度相同,所述第二加密方式与所述第三加密方式彼此相同/不同。2.根据权利要求1所述的方法,其特征在于,还包括:获取密钥;在采用第二加密方式和/或第三加密方式之后,还包括:根据所述密钥,对所述第二加密方式和/或所述第三加密方式产生的加密结果采用保留格式加密算法再次加密。3.根据权利要求1所述的方法,其特征在于,所述第二加密方式和/或所述第三加密方式所采用加密算法为异或运算、字符模加运算、字符模减运算中任意一种;其中,所述字符模加运算符合以下公式:Y1=(A+B)%m,所述字符模减运算符合以下公式:Y2=(A

B+m)%m,其中,Y1表示字符模加后的运算结果,Y2表示字符模减后的运算结果,A、B属于同一字符集合中的任一字符,且表示参与运算的参数,m表示所述字符集合中字符的数量,%表示取m的余数。4.一种数据解密方法,其特征在于,包括:获取待解密密文的长度S及分组长度N,确定分成T组密文组;根据获取的参数f,获得加密参数R,所述加密参数R的长度与所述分组长度N相同,所述加密参数R与所述密文组属于同一字符集合;迭代执行:获取第i

1组的密文组C
i
‑1,根据所述密文组C
i
‑1与所述加密参数R,采用第二加密方式,获得隐秘扰码V;根据所述隐秘扰码V与所述第i组的密文组C
i
,采用与所述第三加密方式相对应的第三解密方式,获得第i组的明文组P
i
;若无法获取第i

1分组的密文组C
i
‑1时,确定所述第i

1组的密文组C
i
‑1为预先确定的默认值,设定的所述密文组C
i
‑1的长度与所述分组长度N相同,与所述明文组属于同一字符集合;其中,1≤i≤T,所述T为所述待解密密文的密文组的数量,所述i为大于等于1的整数,
所述N为大于等于1的整数,所述第二加密方式和所述第三加密方式采用格式保留加密算法,所述第二加密方式与所述第三加密方式彼此相同/不同。5.根据权利要求4所述的方法,其特征在于,所述第二加密方式和/或所述第三加密方式所采用的加密算法为异或运算、字符模加运算、字符模减运算中任意一种;其中,所述字符模加运算符合以下公式:Y1=(A+B)%m...

【专利技术属性】
技术研发人员:张玉安蒋红宇安晓江
申请(专利权)人:北京海泰方圆科技股份有限公司
类型:发明
国别省市:

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

1