加解密方法、装置、设备及存储介质与流程

文档序号:35576960发布日期:2023-09-24 19:05阅读:70来源:国知局
加解密方法、装置、设备及存储介质与流程

本技术涉及数据处理,涉及但不限于加解密方法、装置、设备及存储介质。


背景技术:

1、随着计算机技术的飞速发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(fintech)转变,但由于金融行业的安全性和实时性要求,也对技术提出了更高的要求。

2、为了满足用户需求,需要查看大数据平台生产数据报表。为了保证生产数据的安全性,需要对数据做加密处理。实际中可以使用国际标准的加密算法高级加密标准(advanced encryption standard,aes)或者中国商密算法(sm4)对数据进行加密,来保证数据的安全。实际中,对于黑盒加密算法,一般是通过轮函数的方式对数据块进行多轮的加密运算,其中一轮的加密可以包括字节替换、行移位、列混淆以及轮密钥加等。可以看出,在白盒环境下(例如在移动端查看相当于白盒环境)黑盒算法没有安全性,黑盒算法需要保证系统、执行环境是绝对安全的,否则,攻击者通过观察算法运行状态提取密钥。

3、为了尽可能的保证数据的安全性,白盒aes加密算法得到了广泛应用。

4、对于白盒aes加密,为了加强密钥算法的安全性,将字节替换、行移位、列混淆以及轮密钥加等转换为查表实现方式,对应的,在加解密过程中通过查表操作实现字节替换、行移位、列混淆以及轮密钥加等,算法运行过程中不会出现原有密钥。

5、这样可以在一定程度上提高加密算法的安全性。但是,实际中,由于aes加密算法的规律性较强、逻辑简单且易逆向推理。所以,攻击者可以通过逆向工程结合侧信道攻击例如,差分计算分析(differential count analysis,dca)、差分错误分析(differentialfalse analysis,dfa)等手段很容易攻破密码算法,从而提取密钥,得到密钥后可以进一步获取系统机密数据,所以数据的安全性较低。


技术实现思路

1、本技术提供一种加解密方法、装置、设备及存储介质,该方案降低了加解密过程中被破解的概率,提高了数据的安全性。

2、本技术的技术方案是这样实现的:

3、第一方面,本技术提供了第一种加解密方法,所述方法包括:

4、将待加密的第一数据块进行矩阵变换,得到第一矩阵;以对所述第一矩阵执行n轮加密处理;在所述n轮加密处理中,前一轮的输出作为后一轮的输入;

5、其中,在所述n轮加密处理中:

6、对于所述n轮中的第一轮,针对所述第一矩阵中的每个元素分别执行:行移位操作、第一表的转换操作;其中,所述第一表是基于真实密钥和伪密钥得到的,所述第一表用于实现轮密钥加操作与第一字节代换操作;

7、对于多个中间轮中的每个所述中间轮,针对所述中间轮的输入矩阵中的每个元素分别执行:第二表的转换操作、行移位操作、第三表的转换操作、第四表的转换操作、所述第一表的转换操作;其中,所述中间轮为所述n轮中除所述第一轮和最后一轮之外的任一轮;所述第二表为所述第一表对应的逆转换表;所述第三表用于实现列混淆功能,所述第四表用于实现异或功能;

8、对于所述n轮中的最后一轮,针对所述最后一轮的输入矩阵中的每个元素分别执行:所述第二表的转换操作、行移位操作、所述第一表的转换操作,得到第二矩阵;以基于所述第二矩阵得到所述第一数据块对应的加密数据。

9、第二方面,本技术提供了第二种加解密方法,所述方法包括:

10、将待解密的第一加密数据块进行矩阵变换,得到第五矩阵;以对所述第五矩阵执行n轮解密处理;在所述n轮解密处理中,前一轮的输出作为后一轮的输入;

11、其中,在所述n轮解密处理中:

12、对于所述n轮中的第一轮,针对所述第五矩阵中的每个元素分别执行:所述第二表的转换操作、逆行移位操作、所述第一表的转换操作;

13、对于多个中间轮中的每个所述中间轮,针对所述中间轮的输入矩阵中的每个元素分别执行:第二表的转换操作、逆行移位操作、第八表的转换操作、第九表的转换操作、所述第一表的转换操作;其中,所述中间轮为所述n轮中除所述第一轮和最后一轮之外的任一轮;所述第八表为所述第四表对应的逆转换表;所述第九表为所述第三表对应的逆转换表;

14、对于所述n轮中的最后一轮,针对所述最后一轮的输入矩阵中的每个元素分别执行:所述第二表的转换操作、逆行移位操作,得到第六矩阵,以基于所述第六矩阵得到所述第一加密数据块对应的解密数据。

15、第三方面,本技术提供了第一种加解密装置,所述装置包括:

16、第一变换单元,用于将待加密的第一数据块进行矩阵变换,得到第一矩阵;以对所述第一矩阵执行n轮加密处理;在所述n轮加密处理中,前一轮的输出作为后一轮的输入;

17、其中,在所述n轮加密处理中:

18、第一处理单元,用于对于所述n轮中的第一轮,针对所述第一矩阵中的每个元素分别执行:行移位操作、第一表的转换操作;其中,所述第一表是基于真实密钥和伪密钥得到的,所述第一表用于实现轮密钥加操作与第一字节代换操作;

19、第二处理单元,用于对于多个中间轮中的每个所述中间轮,针对所述中间轮的输入矩阵中的每个元素分别执行:第二表的转换操作、行移位操作、第三表的转换操作、第四表的转换操作、所述第一表的转换操作;其中,所述中间轮为所述n轮中除所述第一轮和最后一轮之外的任一轮;所述第二表为所述第一表对应的逆转换表;所述第三表用于实现列混淆功能,所述第四表用于实现异或功能;

20、第三处理单元,用于对于所述n轮中的最后一轮,针对所述最后一轮的输入矩阵中的每个元素分别执行:所述第二表的转换操作、行移位操作、所述第一表的转换操作,得到第二矩阵;以基于所述第二矩阵得到所述第一数据块对应的加密数据。

21、第四方面,本技术提供了第二种加解密装置,所述装置包括:

22、第二变换单元,用于将待解密的第一加密数据块进行矩阵变换,得到第五矩阵;以对所述第五矩阵执行n轮解密处理;在所述n轮解密处理中,前一轮的输出作为后一轮的输入;

23、其中,在所述n轮解密处理中:

24、第四处理单元,用于对于所述n轮中的第一轮,针对所述第五矩阵中的每个元素分别执行:所述第二表的转换操作、逆行移位操作、所述第一表的转换操作;

25、第五处理单元,用于对于多个中间轮中的每个所述中间轮,针对所述中间轮的输入矩阵中的每个元素分别执行:第二表的转换操作、逆行移位操作、第八表的转换操作、第九表的转换操作、所述第一表的转换操作;其中,所述中间轮为所述n轮中除所述第一轮和最后一轮之外的任一轮;所述第八表为所述第四表对应的逆转换表;所述第九表为所述第三表对应的逆转换表;

26、第六处理单元,用于对于所述n轮中的最后一轮,针对所述最后一轮的输入矩阵中的每个元素分别执行:所述第二表的转换操作、逆行移位操作,得到第六矩阵,以基于所述第六矩阵得到所述第一加密数据块对应的解密数据。

27、第五方面,本技术还提供了一种电子设备,包括:存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述加解密方法。

28、第六方面,本技术还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述加解密方法。

29、本技术所提供的加解密方法、装置、设备及存储介质,包括:将待加密的第一数据块进行矩阵变换,得到第一矩阵;以对所述第一矩阵执行n轮加密处理;在所述n轮加密处理中,前一轮的输出作为后一轮的输入;其中,在所述n轮加密处理中:对于所述n轮中的第一轮,针对所述第一矩阵中的每个元素分别执行:行移位操作、第一表的转换操作;其中,所述第一表是基于真实密钥和伪密钥得到的,所述第一表用于实现轮密钥加操作与第一字节代换操作;对于多个中间轮中的每个所述中间轮,针对所述中间轮的输入矩阵中的每个元素分别执行:第二表的转换操作、行移位操作、第三表的转换操作、第四表的转换操作、所述第一表的转换操作;其中,所述中间轮为所述n轮中除所述第一轮和最后一轮之外的任一轮;所述第二表为所述第一表对应的逆转换表;所述第三表用于实现列混淆功能,所述第四表用于实现异或功能;对于所述n轮中的最后一轮,针对所述最后一轮的输入矩阵中的每个元素分别执行:所述第二表的转换操作、行移位操作、所述第一表的转换操作,得到第二矩阵;以基于所述第二矩阵得到所述第一数据块对应的加密数据。

30、对于本技术的方案,将n轮加密处理进行了调整,可以看出每轮处理中都包括第一表的转换操作,而第一表是基于真实密钥和伪密钥得到的,所以该加密过程相当于将伪密钥贯穿到了每一轮的加密处理中,这样,即使通过逆向工程进行破解,可以得到每轮的操作的规律,但是无法对真实密钥和伪密钥进行区分,所以,该方案降低了加解密过程中被破解的概率,提高了数据的安全性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1