一种数据加密方法、装置及可读存储介质制造方法及图纸

技术编号:38020930 阅读:8 留言:0更新日期:2023-06-30 10:47
本申请公开一种数据加密方法、装置及可读存储介质,涉及信息安全领域。本申请所提供的数据加密方法,通过设置多条通路产生多种选择可能,防止旁路攻击,且第一通路每一轮的输出数据与第二通路的每一轮的输出数据及下一轮对应的随机明文掩码与随机密钥掩码经过掩码运算后得到第一通路下一轮的输入数据。第一通路在运算过程中始终有掩码保护,每轮操作中引入不同的随机掩码,以抵抗高阶侧信道攻击。攻击者无法通过攻击运算中间点的值来破解密钥,正确输出结果是由两条通路的输出结果异或而成,即使攻击者获得一条通路的输出结果,也无法破解密码运算中的信息,增强了数据的安全性。性。性。

【技术实现步骤摘要】
一种数据加密方法、装置及可读存储介质


[0001]本申请涉及信息安全领域,特别是涉及一种数据加密方法、装置及可读存储介质。

技术介绍

[0002]随着信息技术的发展,信息安全越来越被重视,对于数据存储和传输的安全性要求也越来越高。
[0003]现有技术中,数据加密过程中容易受到旁路攻击,目前常用的抗旁路攻击的数据加密方法为在传输的通道中加入随机掩码,来消除密钥和功耗之间的相关性,但该方法仅在密码算法级别进行防护,且攻击者仅需攻击该类方案一条路线上的多点,即可破解信息,因此安全性较低。
[0004]鉴于上述技术,寻找一种安全性高的数据加密方法是本领域技术人员亟待解决的问题。

技术实现思路

[0005]本申请的目的是提供一种数据加密方法、装置及可读存储介质,以便于解决目前常用的抗旁路攻击的数据加密方法为在传输的通道中加入随机掩码,来消除密钥和功耗之间的相关性,但该方法仅在密码算法级别进行防护,且攻击者仅需攻击该类方案一条路线上的多点,即可破解信息,因此安全性较低的问题。
[0006]为解决上述技术问题,本申请提供一种数据加密方法,应用于数据加密设备,数据加密设备包括至少3条分组加密算法通路,分组加密算法为多轮迭代的加密算法,包括:
[0007]获取每一轮的随机明文掩码与随机密钥掩码;
[0008]根据原始明文与第一轮随机明文掩码异或得到第一掩码明文,根据原始密钥与第一轮随机密钥掩码异或得到第一掩码密钥;
[0009]随机选择一条通路作为第一通路,将第一掩码明文与第一掩码密钥作为第一通路的输入数据进行第一轮加密运算;
[0010]选择第一通路以外的任意一条通路作为第二通路,将每一轮随机明文掩码与随机密钥掩码对应地作为第二通路的每一轮的输入数据进行对应轮的加密运算;
[0011]将第二通路的每一轮的输出数据及下一轮对应的随机明文掩码与随机密钥掩码对第一通路每一轮的输出数据进行掩码运算,掩码运算结果作为第一通路下一轮的输入数据;
[0012]第一通路最终输出的第一密文、第一密钥分别与第二通路最终输出的第二密文、第二密钥进行异或运算,得到明文加密结果及密钥加密结果。
[0013]作为一种优选方案,上述数据加密方法中,将第二通路的每一轮的输出数据及下一轮对应的随机明文掩码与随机密钥掩码对第一通路每一轮的输出数据进行掩码运算,掩码运算结果作为第一通路下一轮的输入数据,包括:
[0014]将第一通路的每一轮的输出结果分别与下一轮对应的随机明文掩码、随机密钥掩
码进行异或运算,得到第一异或结果;
[0015]将第一异或结果与对应的第二通路的输出结果进行异或运算,得到第二异或结果,将第二异或结果作为第一通路的下一轮的输入数据。
[0016]作为一种优选方案,上述数据加密方法中,当第一通路输出第一密文、第一密钥,且第二通路输出第二密文、第二密钥之后,还包括:
[0017]选择第一通路及第二通路以外的任意两条通路作为第三通路与第四通路,将第一密文、第一密钥作为第三通路的输入数据进行解密运算,将第二密文、第二密钥作为第四通路的输入数据进行解密运算;
[0018]将第三通路的解密结果与第四通路的解密结果进行异或运算,得到检验明文与检验密钥;
[0019]判断检验明文与原始明文是否一致;
[0020]若一致,则判断为无错误注入;
[0021]若不一致,则判断为有错误注入。
[0022]作为一种优选方案,上述数据加密方法中,将第一掩码明文与第一掩码密钥作为第一通路的输入数据进行第一轮加密运算之前,还包括:
[0023]获取第一随机数据组作为第一通路的输入数据进行伪运算;
[0024]当第一通路结束伪运算后,进入将第一掩码明文与第一掩码密钥作为第一通路的输入数据进行第一轮加密运算的步骤。
[0025]作为一种优选方案,上述数据加密方法中,将每一轮随机明文掩码与随机密钥掩码对应地作为第二通路的每一轮的输入数据进行对应轮的加密运算之前,还包括:
[0026]获取第二随机数据组作为第二通路的输入数据进行伪运算;
[0027]当第二通路结束伪运算后,进入将每一轮随机明文掩码与随机密钥掩码对应地作为第二通路的每一轮的输入数据进行对应轮的加密运算的步骤。
[0028]作为一种优选方案,上述数据加密方法中,获取每一轮的随机明文掩码与随机密钥掩码,包括:
[0029]获取第一初始掩码、第二初始掩码、第一预设随机数生成算法与第二预设随机数生成算法;
[0030]根据第一预设随机数生成算法与第一初始掩码得到每一轮随机明文掩码;
[0031]根据第二预设随机数生成算法与第二初始掩码得到每一轮随机密钥掩码。
[0032]作为一种优选方案,上述数据加密方法中,获取每一轮的随机明文掩码与随机密钥掩码之前,还包括:
[0033]判断当前的运算状态是否安全模式;
[0034]若是,进入获取每一轮的随机明文掩码与随机密钥掩码的步骤;
[0035]若否,则任意选择一条空闲的通路将原始明文与原始密钥作为输入数据进行加密运算,并得到对应的输出结果。
[0036]作为一种优选方案,上述数据加密方法中,还包括:
[0037]判断第一通路与第二通路的第一轮加密运算是否都结束;
[0038]若是,则第一通路与第二通路进入下一轮的加密运算;
[0039]若否,则将第一轮加密运算已经结束的通路的第一轮加密运算输出结果进行保
存,并执行随机伪操作,直至另一个通路的的第一轮加密运算结束。
[0040]为解决上述技术问题,本申请还提供一种数据加密装置,应用于数据加密设备,数据加密设备包括至少3条分组加密算法通路,分组加密算法为多轮迭代的加密算法,包括:
[0041]随机掩码获取模块,用于获取每一轮的随机明文掩码与随机密钥掩码;
[0042]原始数据异或模块,用于根据原始明文与随机明文掩码异或得到第一掩码明文,根据原始密钥与随机密钥掩码异或得到第一掩码密钥;
[0043]第一运算模块,用于随机选择一条通路作为第一通路,将第一掩码明文与第一掩码密钥作为第一通路的输入数据进行第一轮加密运算;
[0044]第二运算模块,用于选择第一通路以外的任意一条通路作为第二通路,将每一轮随机明文掩码与随机密钥掩码对应地作为第二通路的每一轮的输入数据进行对应轮的加密运算;
[0045]第三运算模块,用于将第二通路的每一轮的输出数据及下一轮对应的随机明文掩码与随机密钥掩码对第一通路每一轮的输出数据进行掩码运算,掩码运算结果作为第一通路下一轮的输入数据;
[0046]输出模块,用于第一通路最终输出的第一密文、第一密钥分别与第二通路最终输出的第二密文、第二密钥进行异或运算,得到明文加密结果及密钥加密结果。
[0047]为解决上述技术问题,本申请还提供一种数据加密装置,包括存储器,用于存储计算本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据加密方法,其特征在于,应用于数据加密设备,所述数据加密设备包括至少3条分组加密算法通路,所述分组加密算法为多轮迭代的加密算法,包括:获取每一轮的随机明文掩码与随机密钥掩码;根据原始明文与第一轮随机明文掩码异或得到第一掩码明文,根据原始密钥与第一轮随机密钥掩码异或得到第一掩码密钥;随机选择一条通路作为第一通路,将所述第一掩码明文与所述第一掩码密钥作为所述第一通路的输入数据进行第一轮加密运算;选择所述第一通路以外的任意一条通路作为第二通路,将每一轮所述随机明文掩码与所述随机密钥掩码对应地作为所述第二通路的每一轮的输入数据进行对应轮的加密运算;将所述第二通路的每一轮的输出数据及下一轮对应的所述随机明文掩码与所述随机密钥掩码对所述第一通路每一轮的输出数据进行掩码运算,掩码运算结果作为所述第一通路下一轮的输入数据;所述第一通路最终输出的第一密文、第一密钥分别与所述第二通路最终输出的第二密文、第二密钥进行异或运算,得到明文加密结果及密钥加密结果。2.根据权利要求1所述的数据加密方法,其特征在于,所述将所述第二通路的每一轮的输出数据及下一轮对应的所述随机明文掩码与所述随机密钥掩码对所述第一通路每一轮的输出数据进行掩码运算,掩码运算结果作为所述第一通路下一轮的输入数据,包括:将所述第一通路的每一轮的输出结果分别与下一轮对应的所述随机明文掩码、所述随机密钥掩码进行异或运算,得到第一异或结果;将所述第一异或结果与对应的所述第二通路的输出结果进行异或运算,得到第二异或结果,将所述第二异或结果作为所述第一通路的下一轮的输入数据。3.根据权利要求1所述的数据加密方法,其特征在于,当所述第一通路输出所述第一密文、所述第一密钥,且所述第二通路输出所述第二密文、所述第二密钥之后,还包括:选择所述第一通路及所述第二通路以外的任意两条通路作为第三通路与第四通路,将所述第一密文、所述第一密钥作为第三通路的输入数据进行解密运算,将所述第二密文、所述第二密钥作为第四通路的输入数据进行解密运算;将所述第三通路的解密结果与所述第四通路的解密结果进行异或运算,得到检验明文与检验密钥;判断所述检验明文与所述原始明文是否一致;若一致,则判断为无错误注入;若不一致,则判断为有错误注入。4.根据权利要求3所述的数据加密方法,其特征在于,所述将所述第一掩码明文与所述第一掩码密钥作为所述第一通路的输入数据进行第一轮加密运算之前,还包括:获取第一随机数据组作为第一通路的输入数据进行伪运算;当所述第一通路结束伪运算后,进入所述将所述第一掩码明文与所述第一掩码密钥作为所述第一通路的输入数据进行第一轮加密运算的步骤;另外,所述将每一轮所述随机明文掩码与所述随机密钥掩码对应地作为所述第二通路的每一轮的输入数据进行对应轮的加密运算之前,还包括:获取第二随机数据组作为第二通路的输入数据进行伪运算;

【专利技术属性】
技术研发人员:师晓云华力袁涛陈子荷朱晓伟赵昕烨郭知样
申请(专利权)人:成都国科微电子有限公司
类型:发明
国别省市:

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

1