【技术实现步骤摘要】
一种数据加密方法、装置及可读存储介质
[0001]本申请涉及信息安全领域,特别是涉及一种数据加密方法、装置及可读存储介质。
技术介绍
[0002]随着信息技术的发展,信息安全越来越被重视,对于数据存储和传输的安全性要求也越来越高。
[0003]现有技术中,数据加密过程中容易受到旁路攻击,目前常用的抗旁路攻击的数据加密方法为在传输的通道中加入随机掩码,来消除密钥和功耗之间的相关性,但该方法仅在密码算法级别进行防护,且攻击者仅需攻击该类方案一条路线上的多点,即可破解信息,因此安全性较低。
[0004]鉴于上述技术,寻找一种安全性高的数据加密方法是本领域技术人员亟待解决的问题。
技术实现思路
[0005]本申请的目的是提供一种数据加密方法、装置及可读存储介质,以便于解决目前常用的抗旁路攻击的数据加密方法为在传输的通道中加入随机掩码,来消除密钥和功耗之间的相关性,但该方法仅在密码算法级别进行防护,且攻击者仅需攻击该类方案一条路线上的多点,即可破解信息,因此安全性较低的问题。
[0006]为解决上述技术问题,本申请提供一种数据加密方法,应用于数据加密设备,数据加密设备包括至少3条分组加密算法通路,分组加密算法为多轮迭代的加密算法,包括:
[0007]获取每一轮的随机明文掩码与随机密钥掩码;
[0008]根据原始明文与第一轮随机明文掩码异或得到第一掩码明文,根据原始密钥与第一轮随机密钥掩码异或得到第一掩码密钥;
[0009]随机选择一条通路作为第一通路,将第一掩码明 ...
【技术保护点】
【技术特征摘要】 【专利技术属性】
1.一种数据加密方法,其特征在于,应用于数据加密设备,所述数据加密设备包括至少3条分组加密算法通路,所述分组加密算法为多轮迭代的加密算法,包括:获取每一轮的随机明文掩码与随机密钥掩码;根据原始明文与第一轮随机明文掩码异或得到第一掩码明文,根据原始密钥与第一轮随机密钥掩码异或得到第一掩码密钥;随机选择一条通路作为第一通路,将所述第一掩码明文与所述第一掩码密钥作为所述第一通路的输入数据进行第一轮加密运算;选择所述第一通路以外的任意一条通路作为第二通路,将每一轮所述随机明文掩码与所述随机密钥掩码对应地作为所述第二通路的每一轮的输入数据进行对应轮的加密运算;将所述第二通路的每一轮的输出数据及下一轮对应的所述随机明文掩码与所述随机密钥掩码对所述第一通路每一轮的输出数据进行掩码运算,掩码运算结果作为所述第一通路下一轮的输入数据;所述第一通路最终输出的第一密文、第一密钥分别与所述第二通路最终输出的第二密文、第二密钥进行异或运算,得到明文加密结果及密钥加密结果。2.根据权利要求1所述的数据加密方法,其特征在于,所述将所述第二通路的每一轮的输出数据及下一轮对应的所述随机明文掩码与所述随机密钥掩码对所述第一通路每一轮的输出数据进行掩码运算,掩码运算结果作为所述第一通路下一轮的输入数据,包括:将所述第一通路的每一轮的输出结果分别与下一轮对应的所述随机明文掩码、所述随机密钥掩码进行异或运算,得到第一异或结果;将所述第一异或结果与对应的所述第二通路的输出结果进行异或运算,得到第二异或结果,将所述第二异或结果作为所述第一通路的下一轮的输入数据。3.根据权利要求1所述的数据加密方法,其特征在于,当所述第一通路输出所述第一密文、所述第一密钥,且所述第二通路输出所述第二密文、所述第二密钥之后,还包括:选择所述第一通路及所述第二通路以外的任意两条通路作为第三通路与第四通路,将所述第一密文、所述第一密钥作为第三通路的输入数据进行解密运算,将所述第二密文、所述第二密钥作为第四通路的输入数据进行解密运算;将所述第三通路的解密结果与所述第四通路的解密结果进行异或运算,得到检验明文与检验密钥;判断所述检验明文与所述原始明文是否一致;若一致,则判断为无错误注入;若不一致,则判断为有错误注入。4.根据权利要求3所述的数据加密方法,其特征在于,所述将所述第一掩码明文与所述第一掩码密钥作为所述第一通路的输入数据进行第一轮加密运算之前,还包括:获取第一随机数据组作为第一通路的输入数据进行伪运算;当所述第一通路结束伪运算后,进入所述将所述第一掩码明文与所述第一掩码密钥作为所述第一通路的输入数据进行第一轮加密运算的步骤;另外,所述将每一轮所述随机明文掩码与所述随机密钥掩码对应地作为所述第二通路的每一轮的输入数据进行对应轮的加密运算之前,还包括:获取第二随机数据组作为第二通路的输入数据进行伪运算;
技术研发人员:师晓云,华力,袁涛,陈子荷,朱晓伟,赵昕烨,郭知样,
申请(专利权)人:成都国科微电子有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。