一种秩距离密码的安全检测方法、装置、设备和介质与流程

文档序号:37638321发布日期:2024-04-18 17:57阅读:12来源:国知局
一种秩距离密码的安全检测方法、装置、设备和介质与流程

本发明涉及信息安全,特别是涉及一种秩距离密码的安全检测方法、装置、设备和介质。


背景技术:

1、随着量子计算技术不断发展,传统密码如公钥加密算法(rivest-shamir-adleman,rsa)、椭圆曲线密码(elliptic curve cryptography,ecc)的安全性面临严重威胁,使得寻找安全、高效、抗量子计算攻击的后量子密码算法迫在眉睫。在后量子密码领域,秩距离密码因具有安全性高、公钥尺寸小等优点而成为颇具前景的备选方案。

2、加比杜林(gabidulin)码是一类重要的秩距离码,具有很强的纠错性能,可用于进一步降低公钥量,因而被广泛应用于密码算法的设计中。侧信道攻击是一种利用密码设备运行过程泄露的侧信道信息,来恢复密钥或明文信息的攻击方法。侧信道攻击显著提升了密码分析效率,对密码系统的实现安全性造成严重威胁。

3、因此,如何发现秩距离密码的安全漏洞,从而提升秩距离密码的安全性,是本领域技术人员需要解决的问题。


技术实现思路

1、本发明实施例的目的是提供一种秩距离密码的安全检测方法、装置、设备和介质,可以解决秩距离密码的安全性低的问题。

2、为解决上述技术问题,本发明实施例提供一种秩距离密码的安全检测方法,所述方法包括:

3、获取加密端发送给解密端的合法密文;其中,所述合法密文为所述加密端利用公钥和错误向量对明文进行加密得到的密文;

4、基于秩距离密码在解密过程产生的故障信息,确定出所述错误向量的秩支撑;

5、根据所述合法密文的校验式与所述错误向量的校验式相等的原则,确定出所述错误向量;其中,所述错误向量的校验式依赖于所述错误向量的秩支撑;

6、利用所述错误向量对所述合法密文进行解密,以得到所述明文;

7、根据从获取所述合法密文到得到所述明文所产生的计算量,确定出所述秩距离密码的安全等级。

8、一方面,所述基于秩距离密码在解密过程产生的故障信息,确定出所述错误向量的秩支撑包括:

9、利用随机生成的具有秩错误的干扰向量对所述合法密文进行修改,以得到非法密文;

10、在所述非法密文被所述解密端成功解密的情况下,记录所述秩错误;直至所述秩错误的个数达到错误向量的秩重量,则基于所有所述秩错误,构建所述错误向量的秩支撑。

11、一方面,所述利用随机生成的具有秩错误的干扰向量对所述合法密文进行修改,以得到非法密文包括:

12、根据公开参数中包含的公开码的码长,从扩域中随机选取第一元素,从基域中随机选取与所述公开码的码长数量相等的第二元素;

13、根据所述第一元素以及各所述第二元素,构建出所述干扰向量;

14、将所述合法密文与所述干扰向量相加,以得到所述非法密文。

15、一方面,所述根据所述第一元素以及各所述第二元素,构建出所述干扰向量包括:

16、将各所述第一元素与其对应的各所述第二元素进行相乘,将各乘积值作为所述干扰向量的各元素。

17、一方面,所述在所述非法密文被所述解密端成功解密的情况下,记录所述秩错误;直至所述秩错误的个数达到错误向量的秩重量,则基于所有所述秩错误,构建所述错误向量的秩支撑包括:

18、将所述非法密文传输至所述解密端,以便于所述解密端对所述非法密文进行解密处理;

19、在所述解密端对所述非法密文解密失败的情况下,返回所述利用随机生成的具有秩错误的干扰向量对所述合法密文进行修改,以得到非法密文的步骤;

20、在所述解密端对所述非法密文解密成功的情况下,将所述第一元素作为所述秩错误,并记录所述秩错误;

21、判断所述秩错误的数量是否达到所述错误向量的秩重量;

22、在所述秩错误的数量未达到所述错误向量的秩重量的情况下,返回所述利用随机生成的具有秩错误的干扰向量对所述合法密文进行修改,以得到非法密文的步骤;

23、在所述秩错误的数量达到所述错误向量的秩重量的情况下,将所有所述秩错误在基域上张成的线性空间作为所述错误向量的秩支撑。

24、一方面,所述在所述解密端对所述非法密文解密成功的情况下,将所述第一元素作为所述秩错误,并记录所述秩错误包括:

25、在将所述非法密文传输至所述解密端后,判断预设时间内是否检测到所述解密端通过公开信道向所述加密端反馈的解密失败的响应信息;

26、在所述预设时间内未检测到所述解密端通过公开信道向所述加密端反馈的解密失败的响应信息的情况下,记录所述秩错误。

27、一方面,在所述解密端对所述非法密文解密成功的情况下,将所述第一元素作为所述秩错误,并记录所述秩错误之前,还包括:

28、选取第一变量和第二变量;其中,初始化状态下所述第一变量为空集合,所述第二变量取值为0;所述第二变量用于表征所述秩错误的数量;

29、所述基于所有所述秩错误,构建所述错误向量的秩支撑包括:

30、将所有所述秩错误在基域上张成的线性空间赋值给所述第一变量,并将所述第一变量在所述基域上的维数作为所述第二变量的取值。

31、一方面,所述根据所述合法密文的校验式与所述错误向量的校验式相等的原则,确定出所述错误向量包括:

32、根据所述公钥以及公开参数包含的公开码的码长、公开码的维数,确定出所述公开码的校验矩阵;

33、依据所述合法密文以及所述公开码的校验矩阵,确定出所述合法密文的校验式;

34、按照所述公开参数包含的错误向量的秩重量以及所述公开码的码长,构造基域上的待定矩阵;

35、根据所述错误向量的秩支撑在所述基域上的第一组基向量、所述待定矩阵以及所述校验矩阵,构建所述错误向量的校验式;

36、按照所述合法密文的校验式中各分量与所述错误向量的校验式中各分量相等的原则,确定出所述待定矩阵中各元素的取值;

37、根据所述待定矩阵中各元素的取值以及所述错误向量的秩支撑在所述基域上的第一组基向量,确定出所述错误向量。

38、一方面,所述根据所述错误向量的秩支撑在所述基域上的第一组基向量、所述待定矩阵以及所述校验矩阵,构建所述错误向量的校验式包括:

39、选取所述错误向量的秩支撑在所述基域上的第一组基向量;

40、基于所述第一组基向量、所述待定矩阵以及所述校验矩阵,确定出所述错误向量的校验式中各第一分量。

41、一方面,所述基于所述第一组基向量、所述待定矩阵以及所述校验矩阵,确定出所述错误向量的校验式中各第一分量包括:

42、将所述第一组基向量、所述待定矩阵以及所述校验矩阵进行向量-矩阵相乘运算,以得到所述错误向量的校验式中各第一分量。

43、一方面,所述按照所述合法密文的校验式中各分量与所述错误向量的校验式中各分量相等的原则,确定出所述待定矩阵中各元素的取值包括:

44、选取扩域在所述基域上的第二组基向量;

45、基于所述合法密文的校验式在所述扩域上的多个第二分量与所述错误向量的校验式中相匹配的各第一分量对应相等的关系,构建校验式的第一等式方程组;其中,多个第二分量的个数与所述合法密文的校验式的长度相同;

46、将所述第一等式方程组中各所述第一分量的系数转换为在所述基域上分解后的第一系数,以得到各所述第二分量在所述基域上进行分解后的第二系数与所述待定矩阵中各元素的第二等式方程组;

47、根据所述第一系数以及各所述第二分量在所述基域上进行分解后的第二系数,确定出所述第二等式方程组中所述待定矩阵中各元素的取值。

48、一方面,所述基于所述合法密文的校验式在所述扩域上的多个第二分量与所述错误向量的校验式中相匹配的各第一分量对应相等的关系,构建校验式的第一等式方程组包括:

49、调用设定的第一等式方程组,对多个所述第二分量与所述错误向量的校验式中相匹配的各第一分量进行分析,以得到所述校验式的第一等式方程组;其中,所述第一等式方程组如下:

50、

51、其中,n表示所述公开码的码长,k表示所述公开码的维数,t表示错误向量的秩重量,s1,...,sn-k表示(n-k)个第二分量,(β1,β2,……,βt)表示所述第一组基向量,eih表示所述待定矩阵中第i行第h列的元素,hjh(1≤j≤n-k,1≤h≤n)表示校验矩阵中第j行第h列的元素。

52、一方面,所述根据所述第一系数以及各所述第二分量在所述基域上进行分解后的第二系数,确定出所述第二等式方程组中所述待定矩阵中各元素的取值包括:

53、调用第二等式方程组,对多个所述第二分量以及所述基域上的第一系数进行分析,以得到所述第二等式方程组中所述待定矩阵中各元素的取值;其中,所述第二等式方程组如下:

54、

55、其中,uijh表示βihjh根据所述第二组基向量在所述基域上的分解后的所述第一系数,s1,...,sn-k根据所述第二组基向量将表示各所述第二分量在所述基域上进行分解后的第二系数。

56、一方面,所述根据所述公钥以及公开参数包含的公开码的码长、公开码的维数,确定出所述公开码的校验矩阵包括:

57、依据所述公开码的码长、所述公开码的维数,从扩域上选取满秩矩阵;

58、在所述公钥与所述满秩矩阵的转置的乘积为零的情况下,将所述满秩矩阵作为所述公开码的校验矩阵。

59、一方面,所述利用所述错误向量对所述合法密文进行解密,以得到所述明文包括:

60、根据所述合法密文以及所述错误向量,确定出公开码中的码字;

61、利用所述公钥对所述公开码中的码字进行解码,以得到所述明文。

62、一方面,所述根据从获取所述合法密文到得到所述明文所产生的计算量,确定出所述秩距离密码的安全等级包括:

63、统计从获取所述合法密文到得到所述明文所产生的计算量;

64、根据计算量范围与安全等级的对应关系列表,确定出所述计算量匹配的安全等级。

65、一方面,在所述根据计算量范围与安全等级的对应关系列表,确定出所述计算量匹配的安全等级之后,还包括:

66、判断所述安全等级是否属于多项式模式;

67、在所述安全等级不属于多项式模式的情况下,调整公开参数的取值;其中,所述公开参数包括公开码的码长、公开码的维数以及所述错误向量的秩重量。

68、一方面,还包括:

69、在所述安全等级属于多项式模式的情况下,展示安全等级低的提示信息。

70、本发明实施例还提供了一种秩距离密码的安全检测装置,适用于检测端,所述装置包括获取单元、第一确定单元、第二确定单元、解密单元和第三确定单元;

71、所述获取单元,用于获取加密端发送给解密端的合法密文;其中,所述合法密文为所述加密端利用公钥和错误向量对明文进行加密得到的密文;

72、所述第一确定单元,用于基于秩距离密码在解密过程产生的故障信息,确定出所述错误向量的秩支撑;

73、所述第二确定单元,用于根据所述合法密文的校验式与所述错误向量的校验式相等的原则,确定出所述错误向量;其中,所述错误向量的校验式依赖于所述错误向量的秩支撑;

74、所述解密单元,用于利用所述错误向量对所述合法密文进行解密,以得到所述明文;

75、所述第三确定单元,用于根据从获取所述合法密文到得到所述明文所产生的计算量,确定出所述秩距离密码的安全等级。

76、本发明实施例还提供了一种秩距离密码的安全检测设备,包括:

77、存储器,用于存储计算机程序;

78、处理器,用于执行所述计算机程序以实现如上述秩距离密码的安全检测方法的步骤。

79、本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述秩距离密码的安全检测方法的步骤。

80、由上述技术方案可以看出,获取加密端发送给解密端的合法密文;其中,合法密文为加密端利用公钥和错误向量对明文进行加密得到的密文。基于秩距离密码在解密过程产生的故障信息,确定出错误向量的秩支撑;根据合法密文的校验式与错误向量的校验式相等的原则,确定出错误向量。利用错误向量对合法密文进行解密,以得到明文;根据从获取合法密文到得到明文所产生的计算量,确定出秩距离密码的安全等级。本发明的有益效果在于,考虑到侧信道攻击的攻击复杂度仅与相应有限域的大小有关,远远低于传统的基于纯粹数学分析的攻击,极大提高了密码分析效率,因此本方案采用侧信道攻击的方式,通过秩距离密码在解密过程产生的故障信息,来确定出错误向量的秩支撑,从而发现秩距离密码的安全漏洞。通过基于校验式相等的原则,利用代数方法刻画合法密文与错误向量之间的相关性,从而将明文恢复问题转化为等式求解问题,实现对合法密文的解密,根据破解合法密文所产生的计算量,以此来评估秩距离密码的安全性,为秩距离密码的安全实现和应用提供了理论支撑和实践指导,从而提升秩距离密码的安全性。

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