System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及信息安全,特别是涉及一种数据加解密方法、装置、设备和计算机可读存储介质。
技术介绍
1、集成电路芯片(integrated circuit chip,ic)是将晶体管、电阻、电容等大量微电子元器件形成的集成电路放置在一块塑基上做成的芯片。随着集成电路技术的发展,对ic芯片的攻击手段也呈现出多样化的趋势。攻击者可以通过探测ic芯片电路,或利用ic嵌入式软件接口等方式来实施攻击,破坏ic芯片的敏感数据信息或滥用其安全功能。
2、对ic芯片的攻击主要包括侧信道攻击。攻击者可通过采用接触式或非接触式的信号测量,得到与ic芯片正在执行的操作有关的信息,进而采用信号处理和统计分析等技术来获得密钥等敏感信息,通过对获取的信息加以利用,进而猜测用户信息和关键数据,造成安全隐患。
3、目前针对于侧信道攻击,采用的防护措施是增加保护电路。由检测电阻、信号检测单元和信号干扰单元构成抵抗侧信道攻击的保护电路。信号检测单元对检测电阻两端的电压进行比较,在信号检测单元检测到加密单元不工作时,通过信号干扰单元模拟加密单元工作时的能量变化,使得检测电阻两端的能量消耗波形随机化,从而实现防止侧信道攻击的功能。但是该方式增加了硬件电路,增加了芯片的面积和成本。
4、可见,如何在不明显增加硬件成本的情况下提升集成电路芯片的安全性,是本领域技术人员需要解决的问题。
技术实现思路
1、本专利技术实施例的目的是提供一种数据加解密方法、装置、设备和计算机可读存储介质,可以解决在
2、为解决上述技术问题,本专利技术实施例提供一种数据加解密方法,包括:
3、在获取到携带有密码算法类型的密钥生成指令的情况下,生成与所述密码算法类型所对应的密钥长度相同的初始混淆参数;
4、根据所述初始混淆参数以及初始密钥,构造第一次迭代的混淆密钥;
5、按照所述密码算法类型所对应的密钥生成规则以及混淆规则,对上一次迭代的混淆密钥进行处理以生成本次迭代的混淆密钥,直至迭代次数达到设定阈值,将所述初始密钥以及每次迭代对应的密钥存储至设定的存储空间;其中,所述本次迭代的混淆密钥包括本次迭代的混淆参数和本次迭代的轮密钥;所述混淆规则由所述密钥生成规则变换得到;
6、在获取到数据加解密指令的情况下,从所述存储空间中获取对应的目标密钥;
7、利用所述目标密钥对待处理数据进行加解密处理。
8、一方面,所述在获取到数据加解密指令的情况下,从所述存储空间中获取对应的目标密钥包括:
9、在获取到数据加解密指令的情况下,判断所述数据加解密指令是否与设定的指令格式匹配;
10、在所述数据加解密指令与设定的指令格式匹配的情况下,从所述存储空间中读取与所述数据加解密指令携带的密码算法类型匹配的目标密钥;
11、在所述加解密指令与设定的指令格式不匹配的情况下,从所述存储空间中读取与所述数据加解密指令携带的密码算法类型匹配的目标密钥;根据所述目标密钥及其对应的混淆参数,生成最终的目标密钥。
12、一方面,所述根据所述目标密钥及其对应的混淆参数,生成最终的目标密钥包括:
13、将所述目标密钥及其对应的混淆参数进行异或运算,以得到最终的目标密钥。
14、一方面,所述密码算法类型为sm4国密对称密码算法;
15、所述根据所述初始混淆参数以及初始密钥,构造第一次迭代的混淆密钥包括:
16、依据设定的比特数将所述初始混淆参数划分为多个混淆子参数;
17、依据所述比特数将所述初始密钥划分为多个初始子密钥;
18、按照初始子密钥和混淆子参数相邻的方式,对多个所述初始子密钥以及多个所述混淆子参数进行拼接,以得到第一次迭代的混淆密钥。
19、一方面,所述按照所述密码算法类型所对应的密钥生成规则以及混淆规则,对上一次迭代的混淆密钥进行处理以生成本次迭代的混淆密钥包括:
20、将所述上一次迭代的混淆密钥中前32比特的初始子密钥和前32比特混淆子参数作为第一混淆子密钥;将所述上一次迭代的混淆密钥中除所述第一混淆子密钥外的剩余数据作为第二混淆子密钥;
21、将所述第二混淆子密钥与固定参数进行异或运算,以得到第一混淆密钥;其中,所述第一混淆密钥包括第一密钥和第一混淆参数;
22、利用sm4国密对称密码算法的s盒对所述第一密钥进行非线性变换,以得到第二密钥;
23、利用sm4国密对称密码算法的s盒的转置对所述第一混淆参数进行非线性变换,以得到第二混淆参数;
24、将所述第二密钥、所述第二密钥左移13比特后的数据和所述第二密钥左移23比特后的数据进行异或运算,以得到第三密钥;
25、将所述第二混淆参数、所述第二混淆参数左移13比特后的数据和所述第二混淆参数左移23比特后的数据进行异或运算,以得到第三混淆参数;
26、将所述第三密钥、所述第三混淆参数以及所述第一混淆子密钥进行异或运算,以得到本次迭代的轮混淆密钥;
27、将所述第二混淆子密钥与所述本次迭代的轮混淆密钥拼接作为本次迭代的混淆密钥。
28、一方面,所述将所述第三密钥、所述第三混淆参数以及所述第一混淆子密钥进行异或运算,以得到本次迭代的轮混淆密钥包括:
29、将所述第三密钥与所述第一混淆子密钥包括的初始子密钥进行异或运算,以得到本次迭代的轮密钥;
30、将所述第三混淆参数与所述第一混淆子密钥包括的混淆子参数进行异或运算,以得到本次迭代的混淆参数。
31、一方面,所述密码算法类型为三重数据加密算法;
32、所述根据所述初始混淆参数以及初始密钥,构造第一次迭代的混淆密钥包括:
33、从所述初始密钥中提取出密钥位对应的有效密钥;
34、从所述初始混淆参数中提取出与所述有效密钥的位数相同的有效混淆参数;
35、将所述有效密钥与所述有效混淆参数合并作为第一次迭代的混淆密钥。
36、一方面,所述按照所述密码算法类型所对应的密钥生成规则以及混淆规则,对上一次迭代的混淆密钥进行处理以生成本次迭代的混淆密钥包括:
37、基于设定的第一置换数组,对上一次迭代的混淆密钥中包括的有效密钥进行置换,以得到第一有效密钥;对所述第一有效密钥循环左移,依次得到每次迭代的第二有效密钥;基于设定的第二置换数组,依次对每次迭代的所述第二有效密钥进行置换,以得到每次迭代的轮密钥;
38、基于所述第一置换数组的逆序数组,对上一次迭代的混淆密钥中包括的有效混淆参数进行置换,以得到第一有效混淆参数;对所述第一有效混淆参数循环右移,依次得到每次迭代的第二有效混淆参数;基于所述第二置换数组的逆序数组,依次对每次迭代的所述第二有效混淆参数进行置换,以得到每次迭代的混淆参数。
39、一方面,本文档来自技高网...
【技术保护点】
1.一种数据加解密方法,其特征在于,包括:
2.根据权利要求1所述的数据加解密方法,其特征在于,所述在获取到数据加解密指令的情况下,从所述存储空间中获取对应的目标密钥包括:
3.根据权利要求2所述的数据加解密方法,其特征在于,所述根据所述目标密钥及其对应的混淆参数,生成最终的目标密钥包括:
4.根据权利要求1所述的数据加解密方法,其特征在于,所述密码算法类型为SM4国密对称密码算法;
5.根据权利要求4所述的数据加解密方法,其特征在于,所述按照所述密码算法类型所对应的密钥生成规则以及混淆规则,对上一次迭代的混淆密钥进行处理以生成本次迭代的混淆密钥包括:
6.根据权利要求5所述的数据加解密方法,其特征在于,所述将所述第三密钥、所述第三混淆参数以及所述第一混淆子密钥进行异或运算,以得到本次迭代的轮混淆密钥包括:
7.根据权利要求1所述的数据加解密方法,其特征在于,所述密码算法类型为三重数据加密算法;
8.根据权利要求7所述的数据加解密方法,其特征在于,所述按照所述密码算法类型所对应的密钥生成规则以及混
9.根据权利要求1所述的数据加解密方法,其特征在于,所述密码算法类型为三重数据加密算法;
10.根据权利要求9所述的数据加解密方法,其特征在于,所述按照所述密码算法类型所对应的密钥生成规则以及混淆规则,对上一次迭代的混淆密钥进行处理以生成本次迭代的混淆密钥包括:
11.根据权利要求1所述的数据加解密方法,其特征在于,所述密码算法类型为高级加密标准算法;
12.根据权利要求11所述的数据加解密方法,其特征在于,所述按照所述密码算法类型所对应的密钥生成规则以及混淆规则,对上一次迭代的混淆密钥进行处理以生成本次迭代的混淆密钥包括:
13.根据权利要求1所述的数据加解密方法,其特征在于,在所述根据所述初始混淆参数以及初始密钥,构造第一次迭代的混淆密钥之前,还包括:
14.根据权利要求13所述的数据加解密方法,其特征在于,在所述根据所述初始混淆参数以及初始密钥,构造第一次迭代的混淆密钥之前,还包括:
15.根据权利要求14所述的数据加解密方法,其特征在于,还包括:
16.根据权利要求14所述的数据加解密方法,其特征在于,所述依据所述子序列数量和所述初始混淆参数中非零值的占比,确定出所述初始混淆参数的分布值包括:
17.根据权利要求1所述的数据加解密方法,其特征在于,还包括:
18.根据权利要求1所述的数据加解密方法,其特征在于,还包括:
19.根据权利要求17或18所述的数据加解密方法,其特征在于,还包括:
20.一种数据加解密装置,其特征在于,包括生成单元、构造单元、混淆处理单元、获取单元和加解密单元;
21.一种数据加解密设备,其特征在于,包括:
22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至19任意一项所述数据加解密方法的步骤。
...【技术特征摘要】
1.一种数据加解密方法,其特征在于,包括:
2.根据权利要求1所述的数据加解密方法,其特征在于,所述在获取到数据加解密指令的情况下,从所述存储空间中获取对应的目标密钥包括:
3.根据权利要求2所述的数据加解密方法,其特征在于,所述根据所述目标密钥及其对应的混淆参数,生成最终的目标密钥包括:
4.根据权利要求1所述的数据加解密方法,其特征在于,所述密码算法类型为sm4国密对称密码算法;
5.根据权利要求4所述的数据加解密方法,其特征在于,所述按照所述密码算法类型所对应的密钥生成规则以及混淆规则,对上一次迭代的混淆密钥进行处理以生成本次迭代的混淆密钥包括:
6.根据权利要求5所述的数据加解密方法,其特征在于,所述将所述第三密钥、所述第三混淆参数以及所述第一混淆子密钥进行异或运算,以得到本次迭代的轮混淆密钥包括:
7.根据权利要求1所述的数据加解密方法,其特征在于,所述密码算法类型为三重数据加密算法;
8.根据权利要求7所述的数据加解密方法,其特征在于,所述按照所述密码算法类型所对应的密钥生成规则以及混淆规则,对上一次迭代的混淆密钥进行处理以生成本次迭代的混淆密钥包括:
9.根据权利要求1所述的数据加解密方法,其特征在于,所述密码算法类型为三重数据加密算法;
10.根据权利要求9所述的数据加解密方法,其特征在于,所述按照所述密码算法类型所对应的密钥生成规则以及混淆规则,对上一次迭代的混淆密钥进行处理以生成本次迭代的混淆密钥包括:
11.根据权利要求...
【专利技术属性】
技术研发人员:苏振宇,徐峥,
申请(专利权)人:苏州元脑智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。