一种加解密方法及装置制造方法及图纸

技术编号:24589261 阅读:22 留言:0更新日期:2020-06-21 02:22
本发明专利技术公开了一种加解密方法及装置,涉及信息安全领域。为解决现有技术中加密算法易被破解,安全性较差的问题而发明专利技术。本发明专利技术实施例提供的技术方案包括:轮密钥加、字节替换、行移位、列混淆循环迭代计算,所述列混淆采用随机生成的第一乘法矩阵M1实现。

A method and device of encryption and decryption

【技术实现步骤摘要】
一种加解密方法及装置
本专利技术涉及信息安全领域,尤其涉及一种加解密方法及装置。
技术介绍
随着计算机技术的快速发展,数据安全越来越受到重视,也涌现了大量的加密/解密方法。高级加密标准(AdvancedEncryptionStandard,AES)是对称加密算法实质上的通用标准算法。AES算法的安全性较强,但是对于本地AES加密,在白盒攻击环境下,恶意攻击者可以通过控制内存、反编译程序从代码和设备上获取其密钥,从而无需破解复杂的算法,即可解密机密信息。为了解决信息本地安全存放的问题,现有技术一般使用加密算法将机密信息加密后存储。然而,现有技术中加密算法采用固定参数,容易被破解,安全性较差。
技术实现思路
本专利技术的目的是提供一种加解密方法及装置,能够提高数据安全性。为了实现上述目的,本专利技术实施例提供了一种加密方法,包括:轮密钥加、字节替换、行移位、列混淆循环迭代计算,所述列混淆采用随机生成的第一乘法矩阵M1实现。另一方面,本专利技术实施例提供了一种加密方法,包括:轮密钥加、字节替换、行移位、列混淆循环迭代计算,在所述轮秘钥加、字节替换、行移位、列混淆循环迭代计算后增加第二列混淆,所述第二列混淆采用随机生成的第三乘法矩阵M3实现。另一方面,本专利技术提供一种加密方法,包括:采用上述加密方法时,所述轮密钥加、字节替换和行移位过程预先组合设置为查找表TK盒的形式;和/或所述列混淆过程预先设置为查找表T盒的形式。又一方面,提供一种密钥生成方法,包括:采用上述加密方法进行加密,并将随机生成的所述线性矩阵和常量矩阵、和/或乘法矩阵保存为所述密钥。再一方面,本专利技术提供一种白盒密钥配置方法,包括:随机生成一随机数,作为原始配置密钥;根据白盒算法,将所述原始配置密钥转换为主白盒库;根据预设第一原始密钥及上述加密方法获取第一密钥和第一白盒库;分别获取预设动态链接库的公私钥对(spk,ssk),以及预设应用程序的公私钥对(upk,usk);根据所述预设应用程序私钥usk对所述预设应用程序进行签名,得到所述预设应用程序的签名信息;根据所述预设动态链接库私钥ssk对所述预设动态链接库进行签名,得到所述预设动态链接库的签名信息;通过所述预设动态链接库存储数据1,所述数据1包括由所述第一密钥加密的ssk、所述主白盒库、所述第一白盒库、由所述第一密钥加密的所述预设应用程序公钥upk以及所述预设动态链接库的签名信息;通过所述预设应用程序存储数据2,所述数据2包括所述预设应用程序的签名信息、所述预设动态链接库公钥spk以及由所述主白盒库加密的第一密钥。再一方面,本专利技术实施例提供一种加解密装置,包括:数据获取模块,用于获取随机数;加解密模块,与所述数据获取模块相连,用于根据所述随机数生成原始密钥,并根据上述的加密方法获得加密密钥和加密库,以及利用所述加密密钥和加密库进行加解密。再一方面,提供一种采用加解密装置进行加解密的方法,包括:所述加解密模块接收用户输入的加解密请求;所述签名模块根据所述第二存储模块存储的所述预设动态链接库公钥spk对所述预设动态链接库的签名信息进行验签,验签通过执行下一步;所述加解密模块根据所述第一存储模块存储的主白盒库对所述第二存储模块存储的由所述主白盒库加密的第一密钥解密获得第一密钥,通过所述第一密钥对所述第一存储模块存储的由所述第一密钥加密的预设应用程序公钥upk解密获取所述预设应用程序公钥upk;所述签名模块根据所述预设应用程序公钥upk对所述预设动态链接库的签名信息进行验签,验签通过,由所述加解密模块利用所述加密密钥和加密库执行所述加解密请求。本专利技术实施例提供的技术方案,通过采用第一乘法矩阵M1实现的列混淆进行循环迭代计算,从而实现加密过程。由于第一乘法矩阵M1是随机生成的,因此本专利技术实施例提供的加密方法不易被破解,解决了现有技术中加密算法参数固定易被破解,安全性较差的问题。附图说明图1为本专利技术实施例一提供的加密方法的流程图;图2为本专利技术实施例二提供的加密方法的流程图;图3为本专利技术实施例三提供的密钥生成方法的流程图;图4为本专利技术实施例四提供的白盒密钥配置方法的流程图;图5为本专利技术实施例五提供的加解密装置的结构示意图一;图6为本专利技术实施例五提供的加解密装置的结构示意图二;图7为本专利技术实施例六提供的采用加解密装置进行加解密的方法的流程图;具体实施方式为使本专利技术的上述目的、特征和优点能够更加明显易懂,在下面的具体实施方式中,将对本专利技术作进一步详细的说明。实施例一如图1所示,本专利技术实施例提供一种加密方法,包括:步骤101,获取待加密数据。步骤102,对待加密数据,进行轮密钥加、字节替换、行移位、采用随机生成的第一乘法矩阵M1实现的列混淆循环迭代计算,得到该待加密数据对应的密文。在本实施例中,步骤102中第一乘法矩阵M1的结构与现有AES算法中列混淆的乘法矩阵的结构相似,在此不再一一赘述。在本实施例中,字节替换可以与现有的AES算法的字节替换相似,为了提高加密方法的安全性,该字节替换还可以第一保密S盒实现,其中,所述预设第一保密S盒由随机生成的线性矩阵A1和常量矩阵B1构造而成。在本实施例中,轮密钥加、字节替换、行移位、列混淆的形式,可以与现有AES算法中轮密钥加、字节替换、行移位和列混淆的形式相同。为了提高加解密速度及安全级别,该轮密钥加、字节替换、行移位可以预先组合设置为查找表TK盒的形式;和/或所述列混淆过程预先设置为查找表T盒的形式,构成一种白盒加密方法。其中,轮密钥加、字节替换和行移位预先设置为查找表TK盒的形式的过程可以包括:原始密钥经轮密钥加、字节替换和行移位过程组合运算,将该原始密钥转换成TK盒;列混淆过程预先设置为查找表T盒的形式,包括:对列混淆过程进行预先运算,得到T盒。具体的,以AES128为例,TK盒为:TKr[x]=S(x∧ShiftRows(kr-1))r=1…9;=S(x∧ShiftRows(kr-1))∧krr=10其原理为,对轮密钥加、字节替换和行移位过程组合运算而形成TK盒。其中,^为异或运算,k为轮秘钥,r为循环迭代计算轮次,x为00-FF的任意字节。T盒为:其中,x为00-FF的任意字节,代表列混淆采用的乘法矩阵的每一列,由于乘法矩阵已知,则可以提前计算好4个T盒。本实施例提供的白盒加密方法,全程不出现原始密钥,增强了原始密钥的保密性,可有效避免白盒攻击;而且,极大地简化了计算过程,提高了加解密效率,且占用存储空间较小。进一步地,本实施例提供的白盒加密方法,采用随机生成的线性矩阵和常量矩阵、和/或乘法矩阵参与计算,安全性更高,可满足用户动态更新密钥的需求。特别的,为了提高安全性,采用上述查找表TK盒和/或T盒时,还可以根据chow白盒AES算法,增加输入输出编码、混乱双射,对查找表进行安全增强。<本文档来自技高网...

【技术保护点】
1.一种加密方法,包括轮密钥加、字节替换、行移位、列混淆循环迭代计算,其特征在于,所述列混淆采用随机生成的第一乘法矩阵M1实现。/n

【技术特征摘要】
1.一种加密方法,包括轮密钥加、字节替换、行移位、列混淆循环迭代计算,其特征在于,所述列混淆采用随机生成的第一乘法矩阵M1实现。


2.根据权利要求1所述的加密方法,其特征在于,在所述轮秘钥加、字节替换、行移位、采用所述第一乘法矩阵M1实现的列混淆循环迭代计算后增加二次列混淆,所述二次列混淆采用随机生成的第二乘法矩阵M2实现。


3.一种加密方法,包括轮密钥加、字节替换、行移位、列混淆循环迭代计算,其特征在于,在所述轮秘钥加、字节替换、行移位、列混淆循环迭代计算后增加第二列混淆,所述第二列混淆采用随机生成的第三乘法矩阵M3实现。


4.根据权利要求1-3中任意一项所述的加密方法,其特征在于,所述字节替换采用预设第一保密S盒实现,其中,所述预设第一保密S盒由随机生成的线性矩阵A1和常量矩阵B1构造而成。


5.根据权利要求1-4中任意一项所述的加密方法,其特征在于,在所述轮密钥加、字节替换、行移位、列混淆循环迭代计算后第一字节替换混淆,所述第一字节替换混淆采用预设第二保密S盒实现,其中,所述预设第二保密S盒由随机生成的线性矩阵A2和常量矩阵B2构造而成。


6.一种加密方法,其特征在于,采用权利要求1-5中任意一项所述的加密方法时,
所述轮密钥加、字节替换和行移位过程预先组合设置为查找表TK盒的形式;和/或
所述列混淆过程预先设置为查找表T盒的形式。


7.根据权利要求6所述的加密方法,其特征在于,根据chow白盒AES算法,增加输入输出编码、混乱双射,对查找表进行安全增强。


8.一种密钥生成方法,其特征在于,采用权利要求1至7中任意一项所述的加密方法进行加密,并将随机生成的所述线性矩阵和常量矩阵、和/或乘法矩阵保存为所述密钥。


9.一种白盒密钥配置方法,其特征在于,包括:
随机生成一随机数,作为原始配置密钥;
根据白盒算法,将所述原始配置密钥转换为主白盒库;
根据预设第一原始密钥及权利要求6或7提供的加密方法获取第一密钥和第一白盒库;
分别获取预设动态链接库的公私钥对(spk,ssk),以及预设应用程序的公私钥对(upk,usk);
根据所述预设应用程序私钥usk对所述预设应用程序进行签名,得到所述预设应用程序的签名信息;
根据所述预设动态链接库私钥ssk对所述预设动态链接库进行签名,得到所述预设动态链接库的签名信息;
通过所述预设动态链...

【专利技术属性】
技术研发人员:程威
申请(专利权)人:北京思源理想控股集团有限公司
类型:发明
国别省市:北京;11

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

1