CN116938454B - 一种密钥处理方法、设备、介质及系统 - Google Patents
一种密钥处理方法、设备、介质及系统 Download PDFInfo
- Publication number
- CN116938454B CN116938454B CN202311190945.XA CN202311190945A CN116938454B CN 116938454 B CN116938454 B CN 116938454B CN 202311190945 A CN202311190945 A CN 202311190945A CN 116938454 B CN116938454 B CN 116938454B
- Authority
- CN
- China
- Prior art keywords
- vector
- ciphertext
- key
- sub
- parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 25
- 239000013598 vector Substances 0.000 claims abstract description 242
- 239000011159 matrix material Substances 0.000 claims abstract description 118
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 96
- 238000005538 encapsulation Methods 0.000 claims abstract description 43
- 238000000034 method Methods 0.000 claims description 63
- 230000006870 function Effects 0.000 claims description 46
- 238000012795 verification Methods 0.000 claims description 41
- 238000009795 derivation Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 20
- 238000004364 calculation method Methods 0.000 claims description 16
- 238000004806 packaging method and process Methods 0.000 claims description 15
- 230000007246 mechanism Effects 0.000 abstract description 12
- 238000004891 communication Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000011084 recovery Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/08—Randomization, e.g. dummy operations or using noise
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了信息安全技术领域内的一种密钥处理方法、设备、介质及系统。为了降低密钥封装机制的公钥量,本发明在扩域中选取具有较小秩重量的第一向量、第二向量和满秩的第三向量,并结合由预选取的正规元生成的正规基向量来生成公钥和私钥。由所述第一向量、所述第二向量生成的循环矩阵以及所述第三向量用于隐藏由所述正规基向量生成的极大秩距离码的代数结构,有效提高了安全性;所述公钥的主要部分为扩域上的两个向量,有效降低了公钥量。
Description
技术领域
本发明涉及信息安全技术领域,特别涉及一种密钥处理方法、设备、介质及系统。
背景技术
目前,在公钥密码和对称密码结合的混合加密系统中,通过公钥密码构造密钥封装机制,并以此为基础在通信双方之间建立会话密钥,是实现混合加密的主流技术路线。
因此,如何设计安全高效的密钥封装机制是本领域技术人员需要解决的问题。其中,密钥封装机制公钥量的大小以及能否抵抗潜在的密钥恢复攻击构成了问题的关键。
发明内容
有鉴于此,本发明的目的在于提供一种密钥处理方法、设备、介质及系统,以在提升系统的安全性的同时降低密钥封装机制的公钥量。其具体方案如下:
第一方面,本发明提供了一种密钥处理方法,应用于解封端,包括:
利用预选取的正规元生成正规基向量;
在预设的扩域中随机确定第一向量和第二向量;所述第一向量和所述第二向量的秩重量为预设值;
根据所述第一向量生成第一循环矩阵,根据所述第二向量生成第二循环矩阵;
根据所述正规基向量、所述第一循环矩阵和在所述扩域中随机确定的第三向量生成第一参数;所述第三向量为满秩向量;
根据所述第三向量和所述第二循环矩阵生成第二参数;
将所述第一向量、所述第二向量和在所述扩域中随机确定的第四向量组合为解封端的私钥,将所述第一参数、所述第二参数和预计算的第三参数组合为所述解封端的公钥。
可选地,所述利用预选取的正规元生成正规基向量,包括:
选取所述扩域在基域上的所述正规元;
逐次计算所述正规元的弗罗贝尼乌斯幂,得到所述正规基向量。
可选地,所述逐次计算所述正规元的弗罗贝尼乌斯幂,得到所述正规基向量,包括:
在预设的正整数集合中选择目标数值n;
以所述正规元为底数,以q i为指数计算所述正规元的第i次弗罗贝尼乌斯幂,q为所述基域所含元素个数,i=n-1,n-2,…,0;
将n次计算得到的结果按序组成所述正规基向量。
可选地,所述根据所述第一向量生成第一循环矩阵,根据所述第二向量生成第二循环矩阵,包括:
在预设的正整数集合中选择目标数值n作为阶数;
由所述第一向量生成n阶循环矩阵,得到所述第一循环矩阵;
由所述第二向量生成n阶循环矩阵,得到所述第二循环矩阵。
可选地,所述根据所述正规基向量、所述第一循环矩阵和在所述扩域中随机确定的第三向量生成第一参数,包括:
按照第一公式计算得到所述第一参数;所述第一公式为:g’=(g+u)O-1;
其中,g’为所述第一参数;g为所述正规基向量,g=(α[n-1],α[n-2],…,α),α为所述正规元;u为所述第三向量;O-1为第一循环矩阵O的逆矩阵。
可选地,所述根据所述第三向量和所述第二循环矩阵生成第二参数,包括:
按照第二公式计算得到所述第二参数;所述第二公式为:u’=uP-1;
其中,u’为所述第二参数;u为所述第三向量;P-1为第二循环矩阵P的逆矩阵。
可选地,所述第三参数的计算公式为:,t为所述第三参数;n、k、λ1、λ2均为预设的正整数。
可选地,所述利用预选取的正规元生成正规基向量之前,还包括:
确定安全级别;
根据所述安全级别确定系统参数、密钥导出函数和哈希函数;所述系统参数包括:预设的正整数集合、扩域和基域;
公开所述系统参数、所述密钥导出函数和所述哈希函数。
可选地,所述确定安全级别,包括:
计算安全指标值;
根据所述安全指标值确定所述安全级别。
第二方面,本发明提供了一种密钥处理方法,应用于封装端,包括:
获取解封端的公钥;所述公钥按照前述任一项所述的方法生成;
在扩域中随机确定密钥生成向量和用于隐藏所述密钥生成向量的干扰向量;
对所述干扰向量和所述密钥生成向量进行哈希计算,得到第一子密文;
根据所述公钥生成偏循环矩阵,根据所述偏循环矩阵、所述密钥生成向量和所述干扰向量生成第二子密文和第三子密文;
将所述第一子密文、所述第二子密文和所述第三子密文组合为封装密文并发送所述封装密文至所述解封端。
可选地,所述对所述干扰向量和所述密钥生成向量进行哈希计算,得到第一子密文,包括:
按照第五公式计算得到所述第一子密文;所述第五公式为:c0=H(x‖e1‖e2);
其中,c0为所述第一子密文;H表示哈希函数;x为所述密钥生成向量;e1和e2为所述干扰向量,e1、e2的秩重量均为t;‖表示字符的顺次连接。
可选地,所述根据所述公钥生成偏循环矩阵,包括:
由所述公钥中的第一参数g’生成k×n阶的偏循环矩阵;
由所述公钥中的第二参数u’生成k×n阶的偏循环矩阵;
相应地,所述根据所述偏循环矩阵、所述密钥生成向量和所述干扰向量生成第二子密文和第三子密文,包括:
按照第六公式计算得到所述第二子密文和所述第三子密文;所述第六公式包括:c1=xCirn,k(g’)+e1,c2=xCirn,k(u’)+e2;
其中,c1为所述第二子密文;c2为所述第三子密文;x为所述密钥生成向量;Cirn,k(g’)为由所述公钥中的第一参数g’生成的k×n阶的偏循环矩阵;Cirn,k(u’)为由所述公钥中的第二参数u’生成的k×n阶的偏循环矩阵;e1和e2为所述干扰向量,e1、e2的秩重量均为t。
可选地,还包括:
在预设的正整数集合中确定密钥参数;
利用预设的密钥导出函数对所述密钥生成向量和所述密钥参数进行计算,得到真会话密钥。
第三方面,本发明提供了一种密钥处理方法,应用于解封端,包括:
接收封装端发送的封装密文;封装密文由前述相应方法得到;
解析所述封装密文得到第一子密文、第二子密文和第三子密文;
验证所述第一子密文、所述第二子密文和所述第三子密文;
若验证通过,则计算真会话密钥;否则,计算伪会话密钥。
可选地,所述验证所述第一子密文、所述第二子密文和所述第三子密文,包括:
根据所述第一循环矩阵和所述第二子密文计算第一验证值;
根据所述第二循环矩阵和所述第三子密文计算第二验证值;
利用所述第一验证值和所述第二验证值进行译码,得到译码结果;
若所述译码结果满足预设条件,则计算干扰向量预测值和生成向量预测值;
根据所述干扰向量预测值和所述生成向量预测值计算得到第一子密文预测值;
若所述第一子密文预测值与所述第一子密文相等,则验证通过;
若所述第一子密文预测值与所述第一子密文不等或所述译码结果不满足预设条件,则验证不通过。
可选地,所述根据所述第一循环矩阵和所述第二子密文计算第一验证值,包括:
按照第三公式计算得到所述第一验证值;所述第三公式为:E=c1O;E为所述第一验证值;c1为所述第二子密文;O为所述第一循环矩阵。
可选地,所述根据所述第二循环矩阵和所述第三子密文计算第二验证值,包括:
按照第四公式计算得到所述第二验证值;所述第四公式为:F=c2P;F为所述第二验证值;c2为所述第三子密文;P为所述第二循环矩阵。
可选地,所述译码结果满足预设条件,包括:所述译码结果的秩重量不大于预设阈值。
可选地,所述干扰向量预测值包括e1’和e2’,e1’=c1-x’Cirn,k(g’),e2’=c2-x’Cirn,k(u’);c1为所述第二子密文;c2为所述第三子密文;x’为所述生成向量预测值;Cirn,k(g’)为由第一参数g’生成的k×n阶的偏循环矩阵;Cirn,k(u’)为由第二参数u’生成的k×n阶的偏循环矩阵。
可选地,所述计算真会话密钥,包括:
在预设的正整数集合中确定密钥参数;
利用预设的密钥导出函数对所述生成向量预测值和所述密钥参数进行计算,得到所述真会话密钥。
可选地,所述计算伪会话密钥,包括:
在预设的正整数集合中确定密钥参数;
利用预设的密钥导出函数对所述第四向量和所述密钥参数进行计算,得到所述伪会话密钥。
第四方面,本发明提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的密钥处理方法。
第五方面,本发明提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的密钥处理方法。
第六方面,本发明提供了密钥处理系统,包括封装端和解封端,所述封装端和所述解封端用于执行前述任一项所述的相关方法。
通过以上方案可知,本发明提供了一种密钥处理方法,包括:利用预选取的正规元生成正规基向量;所述正规基向量为:由所述正规基向量生成的k×n阶的偏循环矩阵的第一行;在预设的扩域中随机确定第一向量和第二向量;所述第一向量和所述第二向量的秩重量为预设值;根据所述第一向量生成第一循环矩阵,根据所述第二向量生成第二循环矩阵;根据所述正规基向量、所述第一循环矩阵和在所述扩域中随机确定的第三向量生成第一参数;所述第三向量为满秩向量;根据所述第三向量和所述第二循环矩阵生成第二参数;将所述第一向量、所述第二向量和在所述扩域中随机确定的第四向量组合为解封端的私钥,将所述第一参数、所述第二参数和预计算的第三参数组合为所述解封端的公钥。
可见,本发明的有益效果为:在扩域中选取具有较小秩重量的第一向量、第二向量和满秩的第三向量,并结合由预选取的正规元生成的正规基向量来生成公钥和私钥。由第一向量和第二向量生成的循环矩阵以及由第三向量生成的偏循环矩阵用于隐藏由正规基向量生成的极大秩距离码的代数结构,有效提高了安全性;本发明系统的公钥为扩域上的两个向量,有效降低了公钥量。此外,本发明系统的安全性以秩距离码一般译码问题的困难性为基础,能够抵抗量子计算攻击。
相应地,本发明提供的一种密钥处理设备、介质及系统,也同样具有上述技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明公开的一种密钥处理方法流程图;
图2为本发明公开的另一种密钥处理方法流程图;
图3为本发明公开的又一种密钥处理方法流程图;
图4为本发明公开的一种数据传输过程示意图;
图5为本发明公开的一种密钥处理系统示意图;
图6为本发明公开的一种电子设备示意图;
图7为本发明提供的一种服务器结构图;
图8为本发明提供的一种终端结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,在公钥密码和对称密码结合的混合加密系统中,通过公钥密码构造密钥封装机制,并以此为基础在通信双方之间建立会话密钥,是实现混合加密的主流技术路线。而密钥封装机制的公钥量的大小以及能否抵抗已知的密钥恢复攻击是其设计的关键。其中,通过牺牲计算效率和性能来提升密钥安全性和抗攻击力的密钥封装机制比较常见。而本发明提供了一种密钥处理方案,能够在降低密钥计算复杂度及公钥量的同时提升密钥安全性和抗攻击力。
参见图1所示,本发明实施例公开了一种密钥处理方法,包括:
S101、利用预选取的正规元生成正规基向量。
其中,由正规基向量g生成的k×n阶的偏循环矩阵G=Cirn,k(g)能够为译码和公钥量的降低提供帮助,原因在于,包括:以G为生成矩阵的极大秩距离码具有高效的译码算法和较强的纠错能力;利用G的偏循环结构可以构造具有偏循环结构的公钥,从而有效地降低公钥量。
其中,生成的正规基向量能够用于构造摩尔型偏循环矩阵。摩尔型矩阵由一个向量生成,比如g,由g生成的k×n阶摩尔矩阵定义为:第j行为g的第j-1次Frobenius幂,j=1,2,…,k。Gabidulin码也是通过摩尔型矩阵定义的,只不过要求生成摩尔型矩阵的向量是满秩的。
本实施例可以应用于解封端,也就是数据接收端,也可以应用于密钥生成端或密钥管理端。在生成自身的公私钥之前,需要先确定系统参数、计算所用的函数等。因此在一种实施方式中,解封端、密钥管理端或密钥生成端利用预选取的正规元生成正规基向量之前,还包括:确定安全级别;根据安全级别确定系统参数、密钥导出函数和哈希函数;系统参数包括:正整数集合、扩域R q n 和基域R q ;公开系统参数、密钥导出函数和哈希函数。正整数集合中包括正整数n、k、λ1、λ2、Z,q为素数幂,也即基域所含元素个数;q n 为扩域所含元素个数;Z为一个正整数。密钥导出函数的输入为任意长度的字符串及非负整数Z,输出为Z比特的字符串。密钥导出函数满足所谓的熵平滑性质,即在输入服从高熵分布的情况下,输出结果在长度为Z比特的向量空间上是均匀分布的。哈希函数的输入为任意长度的字符串,输出为固定长度的比特串。哈希函数满足所谓的哈希函数稳固性,即原像稳固性、第二原像稳固性和抗碰撞性。
其中,扩域R q n 也用表示,基域R q 也用/>表示,/>。
其中,确定安全级别,包括:计算安全指标值,/>=128、192、256等;根据安全指标值确定安全级别。/>的取值越大,计算复杂度越高,安全级别也越高,安全指标值本身能够表明安全强度。安全级别或安全指标值用于确定系统参数。加密方案达到某个安全级别(如128),是指通过本实施例计算出来的数值不小于2128。因此,安全级别决定了参数的选取。
在一种实施方式中,利用预选取的正规元生成正规基向量,包括:选取扩域在基域上的正规元α;逐次计算正规元α的弗罗贝尼乌斯幂,得到正规基向量。其中,逐次计算正规元α的弗罗贝尼乌斯幂,得到正规基向量,包括:在预设的正整数集合中选择目标数值n;以正规元α为底数,以q i为指数计算正规元的第i次弗罗贝尼乌斯(Frobenius)幂,q为所述基域所含元素个数,i=n-1,n-2,…,0;将n次计算得到的结果按序组成正规基向量。正规基向量g=(α[n-1],α[n-2],…,α)。
S102、在预设的扩域中随机确定第一向量和第二向量。
在本实施例中,S101和S102的执行顺序可以互换,互换后不影响本实施例的实现。第一向量和第二向量的秩重量为预设值,如:第一向量的秩重量为预设正整数λ1,第二向量的秩重量为预设正整数λ2。秩重量定义为相应向量的所有分量在基域上所张成的线性空间在基域上的维数,也即相应向量的所有分量在基域上的最大线性无关组所含元素的个数。
S103、根据第一向量生成第一循环矩阵,根据第二向量生成第二循环矩阵。
在扩域R q n 中随机选择第一向量m1和第二向量m2后,由第一向量m1生成n阶循环矩阵O=Cirn(m1);由第二向量m2生成n阶循环矩阵P=Cirn(m2)。因此在一种实施方式中,根据第一向量生成第一循环矩阵,根据第二向量生成第二循环矩阵,包括:在预设的正整数集合中选择目标数值n作为阶数;由第一向量生成n阶循环矩阵,得到第一循环矩阵O;由第二向量生成n阶循环矩阵,得到第二循环矩阵P。
S104、根据正规基向量、第一循环矩阵和在扩域中随机确定的第三向量生成第一参数;根据第三向量和第二循环矩阵生成第二参数。
其中,第三向量为满秩向量。本实施例中的S101-S105用于进行解封端的公私钥生成。在一种实施方式中,根据正规基向量、第一循环矩阵和在扩域中随机确定的第三向量生成第一参数,包括:按照第一公式计算得到第一参数;第一公式为:g’=(g+u)O-1;其中,g’为第一参数;g为正规基向量,g=(α[n-1],α[n-2],…,α),α为正规元;u为第三向量;O-1为第一循环矩阵O的逆矩阵。
在一种实施方式中,根据第三向量和第二循环矩阵生成第二参数,包括:按照第二公式计算得到第二参数;第二公式为:u’=uP-1;其中,u’为第二参数;u为第三向量;P-1为第二循环矩阵P的逆矩阵。
S105、将第一向量、第二向量和在扩域中随机确定的第四向量组合为解封端的私钥,将第一参数、第二参数和预计算的第三参数组合为解封端的公钥。
在本实施例中,将第一向量m1、第二向量m2和在扩域中随机确定的第四向量s组合为解封端的私钥(m1,m2,s),将第一参数g’、第二参数u’和预计算的第三参数t组合为解封端的公钥(g’,u’,t)。其中,第三参数的计算公式为:,t为第三参数;n、k、λ1、λ2均为预设的正整数;/>为向下取整符号。
在本实施例中,解封端还和封装端进行会话密钥的共享,真会话密钥由封装端生成,解封端根据真会话密钥的封装密文自主生成真会话密钥或伪会话密钥。真会话密钥用于解封端和封装端之间的数据传输,如:其中一端用真会话密钥加密要传输的数据,得到数据密文,然后将数据密文发送至对端;对端使用真会话密钥解密数据密文得到明文,由此实现对称加密。伪会话密钥用于迷惑攻击者,防止攻击者通过观察解封端的异常反应获取有价值的信息。因此在一种实施方式中,解封端还接收封装端发送的封装密文;解析封装密文得到第一子密文、第二子密文和第三子密文;验证第一子密文、第二子密文和第三子密文;若验证通过,则计算真会话密钥;否则,计算伪会话密钥。
可见,本实施例在扩域中随机确定秩重量较小的第一向量和第二向量,并结合极大秩距离码来进行公私钥生成。秩重量较小的第一向量和第二向量用于隐藏极大秩距离码的代数结构,不至于因密钥计算复杂度降低造成密钥安全性和抗攻击力降低,因此本发明能够在降低密钥计算复杂度的同时提升密钥安全性和抗攻击力。例如:本发明可以抵抗量子计算攻击。
下面对本发明实施例提供的另一种密钥处理方法进行介绍,下文描述的另一种密钥处理方法与本文描述的其他实施例可以相互参照。
请参见图2,本实施例提供了一种密钥处理方法,应用于封装端,包括:
S201、获取解封端的公钥。
在本实施例中,按照前述实施例提供的方法生成解封端的此公钥(g’,u’,t)后,封装端接收解封端或密钥生成端发送的此公钥。并且,扩域R q n 、基域R q 、包括正整数n、k、λ1、λ2、Z的正整数集合、密钥导出函数和哈希函数已公布在封装端。因此封装端可以在扩域R q n 中确定密钥生成向量x、干扰向量e1和e2,e1、e2的秩重量均为t。封装端具体为数据发送端。
本实施例中的S201-S204用于进行密钥封装。
S202、在扩域中随机确定密钥生成向量和用于隐藏密钥生成向量的干扰向量。
S203、对干扰向量和密钥生成向量进行哈希计算,得到第一子密文;根据公钥生成偏循环矩阵,根据偏循环矩阵、密钥生成向量和干扰向量生成第二子密文和第三子密文。
在一种实施方式中,对干扰向量和密钥生成向量进行哈希计算,得到第一子密文,包括:按照第五公式计算得到第一子密文;第五公式为:c0=H(x‖e1‖e2);其中,c0为第一子密文;H表示哈希函数;x为密钥生成向量;e1和e2为干扰向量,e1、e2的秩重量均为t;‖表示字符的顺次连接。
在一种实施方式中,所述根据所述公钥生成偏循环矩阵,包括:由所述公钥中的第一参数g’生成k×n阶的偏循环矩阵;由所述公钥中的第二参数u’生成k×n阶的偏循环矩阵;相应地,所述根据所述偏循环矩阵、所述密钥生成向量和所述干扰向量生成第二子密文和第三子密文,包括:按照第六公式计算得到第二子密文和第三子密文;第六公式包括:c1=xCirn,k(g’)+e1,c2=xCirn,k(u’)+e2;其中,c1为第二子密文;c2为第三子密文;x为密钥生成向量;Cirn,k(g’)为由公钥中的第一参数g’生成的k×n阶的偏循环矩阵;Cirn,k(u’)为由公钥中的第二参数u’生成的k×n阶的偏循环矩阵;e1和e2为干扰向量,e1、e2的秩重量均为t。
S204、将第一子密文、第二子密文和第三子密文组合为封装密文并发送封装密文至解封端。
在本实施例中,封装端将第一子密文c0、第二子密文c1和第三子密文c2组合为封装密文(c0,c1,c2)并发送封装密文至解封端,可使得解封端对(c0,c1,c2)进行验证,并计算真会话密钥或伪会话密钥,具体过程可参照前述实施例的相关介绍,本实施例在此不再赘述。
在一种实施方式中,封装端还在预设的正整数集合中确定密钥参数Z;利用预设的密钥导出函数对密钥生成向量x和密钥参数Z进行计算,得到真会话密钥。
可见,封装端能够基于解封端的公钥实现会话密钥的封装,并使解封端对封装密文进行验证后,进行会话密钥的计算,由此可实现会话密钥在两端的共享,为后续利用会话密钥进行对称加密提供前提基础。
下面对本发明实施例提供的又一种密钥处理方法进行介绍,下文描述的一种密钥处理方法与本文描述的其他实施例可以相互参照。
请参见图3,本实施例提供了一种密钥处理方法,应用于解封端,包括:
S301、接收封装端发送的封装密文。
S302、解析封装密文得到第一子密文、第二子密文和第三子密文。
S303、验证第一子密文、第二子密文和第三子密文。
S304、若验证通过,则计算真会话密钥。
S305、若验证未通过,则计算伪会话密钥。
本实施例中的S301-S305用于进行密钥解封装。
其中,验证第一子密文、第二子密文和第三子密文,包括:根据第一循环矩阵和第二子密文计算第一验证值;根据第二循环矩阵和第三子密文计算第二验证值;利用第一验证值和第二验证值进行译码,得到译码结果;若译码结果满足预设条件,则计算干扰向量预测值和生成向量预测值;根据干扰向量预测值和生成向量预测值计算得到第一子密文预测值;若第一子密文预测值与第一子密文相等,则验证通过;若第一子密文预测值与第一子密文不等或译码结果不满足预设条件,则验证不通过。在一种实施方式中,译码结果满足预设条件,包括:译码结果的秩重量不大于预设阈值,预设阈值为;/>为向下取整符号。
其中,译码的目标是:将给定向量拆分成两个部分,使得一部分为给定秩距离码中的码字,另一部分的秩重量满足可译码条件,即不超过给定秩距离码的译码能力。最后,根据第一部分(码字)计算信息向量,恢复原始信息。具体的,计算E-F=xCirn,k(g)+e1O-e2P,可见,对E-F的差值进行译码即是:计算xCirn,k(g)或e1O-e2P,中间值e1O-e2P的秩重量理论上不超过。
其中,由于量子计算攻击无法有效解决哈希函数的求逆和随机线性码的译码问题,因此本实施例将密钥生成向量(即x)及干扰向量(即e1、e2)的信息隐藏于第一子密文、第二子密文、第三子密文中,可有效抵抗量子计算攻击。
其中,根据第一循环矩阵和第二子密文计算第一验证值,包括:按照第三公式计算得到第一验证值;第三公式为:E=c1O;E为第一验证值;c1为第二子密文;O为第一循环矩阵。其中,根据第二循环矩阵和第三子密文计算第二验证值,包括:按照第四公式计算得到第二验证值;第四公式为:F=c2P;F为第二验证值;c2为第三子密文;P为第二循环矩阵。
在一种实施方式中,干扰向量预测值包括e1’和e2’,e1’=c1-x’Cirn,k(g’),e2’=c2-x’Cirn,k(u’);c1为第二子密文;c2为第三子密文;x’为生成向量预测值;Cirn,k(g’)为由第一参数g’生成的k×n阶的偏循环矩阵;Cirn,k(u’)为由第二参数u’生成的k×n阶的偏循环矩阵。
在一种实施方式中,计算真会话密钥,包括:在预设的正整数集合中确定密钥参数Z;利用预设的密钥导出函数对生成向量预测值x’和密钥参数Z进行计算,得到真会话密钥。
在一种实施方式中,计算伪会话密钥,包括:在预设的正整数集合中确定密钥参数;利用预设的密钥导出函数对第四向量s和密钥参数Z进行计算,得到伪会话密钥。当然,伪会话密钥也可以根据其他参数进行计算,伪会话密钥与真会话密钥不同。
可见,解封端能够基于进行会话密钥密文的解封装,以使解封端和封装端进行会话密钥的共享,真会话密钥由封装端生成,解封端根据真会话密钥的封装密文自主生成真会话密钥或伪会话密钥。真会话密钥用于解封端和封装端之间的数据传输,如:其中一端用真会话密钥加密要传输的数据,得到数据密文,然后将数据密文发送至对端;对端使用真会话密钥解密数据密文得到明文,由此实现对称加密。伪会话密钥用于迷惑攻击者,防止攻击者通过观察解封端的异常反应获取有价值的信息。
在一种示例中,解封端通过执行步骤1.1至步骤1.3进行参数公布:
步骤1.1:根据预设的安全级别选取正整数n、k、λ1、λ2、Z及有限域R q 、R q n 。
步骤1.2:选取密钥导出函数KDF(Key Derivation Function)并公开,使得KDF的输出长度满足对称密码的安全要求。
步骤1.3:选取用于检测主动攻击的哈希函数H并公开,使得H的输出长度满足哈希函数的安全要求。
在一种示例中,解封端通过执行步骤2.1至步骤2.10进行公私钥生成:
步骤2.1:选取R q n 在R q 上的正规元α,使得α,α[1],…α[n-2],α[n-1]构成R q n 在R q 上的一组基。其中,α[i]=α qi表示α的第i次Frobenius幂,i=n-1,n-2,…,0;令正规基向量g=(α[n-1],α[n-2],…,α),以获取Gabidulin码偏循环形式的生成矩阵。
步骤2.2:利用步骤2.1的输出构造G=Cirn,k(g),其为由g生成的k×n阶偏循环矩阵,即:G的第1行为g,其余各行由前1行向右循环移动1位得到。
步骤2.3:均匀随机选取R q n 上的n维向量m1、m2,使得m1、m2的秩重量分别为λ1、λ2。
步骤2.4:由m1生成n阶循环矩阵O=Cirn(m1);由m2生成n阶循环矩阵P=Cirn(m2)。O的第1行为m1,其余各行为前1行向右循环移动1位得到;P的第1行为m2,其余各行为前1行向右循环移动1位得到。
步骤2.5:随机选取R q n 上的n维向量u,使得u的秩重量为n。
步骤2.6:利用步骤2.1、2.4、2.5的输出计算公钥第一部分g’=(g+u)O-1。
步骤2.7:利用步骤2.4、2.5的输出计算公钥第二部分u’=uP-1。
步骤2.8:随机选取R q n 上的k维向量s,用于异常情况出现时生成伪会话密钥。
步骤2.9:输出私钥(m1,m2,s)及公钥(g’,u’,t),。
步骤2.10:发布公钥(g’,u’,t),秘密地保存私钥(m1,m2,s)。
在一种示例中,封装端通过执行步骤3.1至步骤3.6进行密钥封装,并输出真会话密钥及封装密文:
步骤3.1:获取解封端的公钥及公开参数后,均匀随机选取R q n 上的k维向量x,后续用于生成会话密钥,称x为密钥生成向量。
步骤3.2:利用密钥生成向量x和密钥导出函数KDF计算真会话密钥K=KDF(x,Z)。
步骤3.3:均匀随机选取R q n 上的n维干扰向量e1和e2,使得e1和e2的秩重量为t,后续用于隐藏密钥生成向量。
步骤3.4:利用哈希函数计算第一子密文,得到c0=H(x‖e1‖e2)。
步骤3.5:计算密文其他部分,第二子密文:c1=xCirn,k(g’)+e1,第三子密文:c2=xCirn,k(u’)+e2。
步骤3.6:保存会话密钥K,发送封装密文c=(c0,c1,c2)至解封端。
在一种示例中,解封端通过执行步骤4.1至步骤4.4进行密钥解封装,以实现会话密钥的共享:
步骤4.1:获得输出的封装密文后,计算E=c1O,F=c2P;对E-F的差值进行译码。若译码成功执行,设译码输出的生成向量预测值为x’,进而计算e1’=c1-x’Cirn,k(g’),e2’=c2-x’Cirn,k(u’),然后执行步骤4.2-4.3。若译码执行失败,则输出K=KDF(s,Z),并终止算法运行。
步骤4.2:计算c0 ’=H(x’‖e1’‖e2’)。其中,符号‖表示字符串的顺次连接。
步骤4.3:如果第一子密文预测值c0 ’等于第一子密文c0,则判定封装密文没有被恶意篡改;否则,判定封装密文被恶意篡改。
步骤4.4:若封装密文没有被恶意篡改,则输出真会话密钥K=KDF(x’,Z);否则,输出伪会话密钥K=KDF(s,Z)。
上述示例包括系统初始化、密钥生成、密钥封装、密钥解封装等四个多项式时间算法。系统初始化:解封端根据预设的安全级别,选取系统参数、密钥导出函数和哈希函数。密钥生成:解封端根据系统参数构造公钥密码系统并发布公钥信息。密钥封装:封装方根据解封端发布的公钥以及密钥导出函数和哈希函数构建密钥封装系统,选取密钥生成向量并计算会话密钥,将会话密钥的封装密文发送给解封端。密钥解封装:解封端从封装方接收会话密钥的封装密文,利用自己的私钥执行解封装操作以获取会话密钥。可见,封装方用于根据解封端发布的系统参数和公钥,构建密钥封装系统,生成会话密钥并将会话密钥的封装密文发送给解封端。而解封端用于根据预设的安全级别,对系统进行初始化(如选取系统参数等),构造公钥密码系统,从封装方接收数据并执行解封装操作,以获取会话密钥。
本实施例基于Gabidulin码提出了一种抗量子计算攻击的公钥加密方法,具有公钥量小、安全性高等优点。其次,本实施例提出了一种抗量子计算攻击的密钥封装方法,同样地该方法具有公钥量小、安全性高等优点,且解封装算法不存在执行失败的情况。同时,通过哈希函数检测数据传输过程潜在的主动攻击,增强了密码系统的可靠性。该方案提出的密钥封装方法因采用了循环结构而显著地减小了公钥量,扩展了密码系统的应用场景;其次,因采用满秩向量u和取自扩域的向量m1、m2扰乱了Gabidulin码的代数结构,而提高了系统抵抗密钥恢复攻击的能力,增强了密码系统的安全性。
本实施例首先通过密钥导出函数和密钥生成向量生成会话密钥,然后利用上述公钥密码算法加密密钥生成向量,最后利用哈希函数的稳固性检测数据传输过程中潜在的主动攻击。本发明提出的密钥封装方法和系统具有公钥量小、安全性高、抗量子计算攻击等特性,能够有效扩展密码系统的应用场景。
请参见图4,按照本发明实现的混合加密系统的数据传输过程如图3所示,具体包括:封装方利用解封端的公钥得到会话密钥,此会话密钥用于加密明文得到密文;密文到达接收端后,解封端用自己的私钥生成会话密钥,用生成的会话密钥解密密文得到明文。其中,封装方和解封端之间每构建一个新的会话,便按照本发明生成新的会话密钥,由此可使会话密钥适时更新,进一步提高数据传输安全性。
需要说明的是,g、m1、m2、u、g’、u’、s、x、e1、e2、c0、c1、c2、c、E、F、e1’、e2’、x’、c0 ’均为向量,可简化计算过程。扩域R q n 可以看作基域R q 上的n维线性空间。若α,α[1],…α[n-2],α[n-1]构成R q n 在R q 上的一组基,则称α为R q n 在R q 上的正规元,并称这组基为正规基。其中,α[i]=α qi表示α的第i次Frobenius幂。向量u=(u1,u2,…,un)∈的秩重量定义为由u1,u2,…,un在R q 上所张成的线性空间在R q 上的维数,也即u1,u2,…,un在R q 上的最大线性无关组所含元素的个数。g=(α[n-1],α[n-2],…,α)称为正规基向量。G=Cirn,k(g)构成偏循环矩阵,可以生成Gabidulin码。任取u=(u1,u2,…,un)∈/>,使得u的秩重量为n。令U=Cirn,k(u)构成偏循环矩阵,G+U也构成偏循环矩阵。令O为循环可逆矩阵,则O-1为循环可逆矩阵。G’=(G+U)O-1=Cirn,k[(g+u)O-1]也为偏循环矩阵,即G’的第2行至第k行可以由第1行通过向右循环移动1位至k-1位得到。因此,只需公开G’的第1行作为公钥即可,即g’=(g+u)O-1。
参照前述,采用正规基向量构造生成矩阵具有偏循环结构的Gabidulin码,后续可以选取偏循环矩阵U及循环可逆矩阵O,以构造具有偏循环结构的G’。公开G’的第1行作为公钥,而不是公开或发送整个矩阵,从而极大地减少公钥量。O或P从扩域上选取且具有较小秩重量的益处:从扩域上选取是为了抵抗已知的密钥恢复攻击;限制秩重量是为了后续解封装算法中的译码操作考虑。如果O或P的秩重量较大,则差值E-F中干扰向量e1O-e2P的秩重量将超出Gabidulin码的译码能力,导致译码失败,进而无法执行解封装操作。
令g=(α[n-1],α[n-2],…,α)∈为正规基向量,则g*∈/>为正规基向量当且仅当存在R q 上的循环可逆矩阵Q使得g*=gQ。对于任意的非负整数i及α∈R q n ,有α[i+n]=α[i]。因此,若α为R q n 在R q 上的正规元,则α[i]同样为正规元。不管正规元如何选取,正规基向量是何种形式,本质上是没有区别的。事实上,用于生成Gabidulin码的正规基向量g可以公开,同时不影响系统的安全性。
下面对本发明实施例提供的一种密钥处理系统进行介绍,下文描述的一种密钥处理系统与本文描述的其他实施例可以相互参照。
请参见图5,本发明提供了一种密钥处理系统,包括封装端和解封端,所述封装端和所述解封端用于执行前述任一项所述的相关方法。具体的,封装端可以用于执行会话密钥封装方法,解封端可以用于执行会话密钥解封方法和密钥生成方法。
在一种示例中,密钥处理系统还可以包括密钥生成端或密钥管理端。密钥生成端或密钥管理端可以执行密钥生成方法,那么解封端就不用执行密钥生成方法,只需等待密钥生成端或密钥管理端发送系统参数、密钥导出函数和哈希函数;系统参数包括:正整数集合、扩域R q n 和基域R q 。正整数集合中包括正整数n、k、λ1、λ2、Z,q为素数幂,也即基域所含元素个数;q n 为扩域所含元素个数;Z为一个正整数。
需要说明的是,相互通信的两个端互为封装端和解封端。例如:在A和B相互通信的过程中,A主动发信息给B时,A为封装端,B为解封端。但如果B主动发信息给A,那么B为封装端,A为解封端。
下面对本发明实施例提供的一种电子设备进行介绍,下文描述的一种电子设备与本文描述的其他实施例可以相互参照。
参见图6所示,本发明实施例公开了一种电子设备,包括:
存储器601,用于保存计算机程序;
处理器602,用于执行所述计算机程序,以实现上述任意实施例公开的方法。
进一步的,本发明实施例还提供了一种电子设备。其中,上述电子设备既可以是如图7所示的服务器50,也可以是如图8所示的终端60。图7和图8均是根据一示例性实施例示出的电子设备结构图,图中的内容不能被认为是对本发明的使用范围的任何限制。
图7为本发明实施例提供的一种服务器的结构示意图。该服务器50,具体可以包括:至少一个处理器51、至少一个存储器52、电源53、通信接口54、输入输出接口55和通信总线56。其中,所述存储器52用于存储计算机程序,所述计算机程序由所述处理器51加载并执行,以实现前述任一实施例公开的密钥处理中的相关步骤。
本实施例中,电源53用于为服务器50上的各硬件设备提供工作电压;通信接口54能够为服务器50创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本发明技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口55,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器52作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统521、计算机程序522及数据523等,存储方式可以是短暂存储或者永久存储。
其中,操作系统521用于管理与控制服务器50上的各硬件设备以及计算机程序522,以实现处理器51对存储器52中数据523的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序522除了包括能够用于完成前述任一实施例公开的密钥处理方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据523除了可以包括应用程序的更新信息等数据外,还可以包括应用程序的开发商信息等数据。
图8为本发明实施例提供的一种终端的结构示意图,该终端60具体可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
通常,本实施例中的终端60包括有:处理器61和存储器62。
其中,处理器61可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器61可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器61也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器61可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器61还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器62可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器62还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器62至少用于存储以下计算机程序621,其中,该计算机程序被处理器61加载并执行之后,能够实现前述任一实施例公开的由终端侧执行的密钥处理方法中的相关步骤。另外,存储器62所存储的资源还可以包括操作系统622和数据623等,存储方式可以是短暂存储或者永久存储。其中,操作系统622可以包括Windows、Unix、Linux等。数据623可以包括但不限于应用程序的更新信息。
在一些实施例中,终端60还可包括有显示屏63、输入输出接口64、通信接口65、传感器66、电源67以及通信总线68。
本领域技术人员可以理解,图8中示出的结构并不构成对终端60的限定,可以包括比图示更多或更少的组件。
下面对本发明实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与本文描述的其他实施例可以相互参照。
一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的密钥处理方法。其中,可读存储介质为计算机可读存储介质,其作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统、计算机程序及数据等,存储方式可以是短暂存储或者永久存储。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的可读存储介质中。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (21)
1.一种密钥处理方法,其特征在于,包括:
利用预选取的正规元生成正规基向量;
在预设的扩域中随机确定第一向量和第二向量;所述第一向量和所述第二向量的秩重量为预设值;
根据所述第一向量生成第一循环矩阵,根据所述第二向量生成第二循环矩阵;
按照第一公式计算得到第一参数;所述第一公式为:g’=(g+u)O-1;其中,g’为所述第一参数;g为所述正规基向量,g=(α[n-1],α[n-2],…,α),α为所述正规元;u为在所述扩域中随机确定的第三向量;O-1为第一循环矩阵O的逆矩阵;所述第三向量为满秩向量;
按照第二公式计算得到第二参数;所述第二公式为:u’=uP-1;其中,u’为所述第二参数;u为所述第三向量;P-1为第二循环矩阵P的逆矩阵;
将所述第一向量、所述第二向量和在所述扩域中随机确定的第四向量组合为解封端的私钥,将所述第一参数、所述第二参数和预计算的第三参数组合为所述解封端的公钥;所述第三参数的计算公式为:,t为所述第三参数;n、k、λ1、λ2均为预设的正整数。
2.根据权利要求1所述的方法,其特征在于,所述利用预选取的正规元生成正规基向量,包括:
选取所述扩域在基域上的所述正规元;
逐次计算所述正规元的弗罗贝尼乌斯幂,得到所述正规基向量。
3.根据权利要求2所述的方法,其特征在于,所述逐次计算所述正规元的弗罗贝尼乌斯幂,得到所述正规基向量,包括:
在预设的正整数集合中选择目标数值n;
以所述正规元为底数,以q i为指数计算所述正规元的第i次弗罗贝尼乌斯幂,q为所述基域所含元素个数,i=n-1,n-2,…,0;
将n次计算得到的结果按序组成所述正规基向量。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一向量生成第一循环矩阵,根据所述第二向量生成第二循环矩阵,包括:
在预设的正整数集合中选择目标数值n作为阶数;
由所述第一向量生成n阶循环矩阵,得到所述第一循环矩阵;
由所述第二向量生成n阶循环矩阵,得到所述第二循环矩阵。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述利用预选取的正规元生成正规基向量之前,还包括:
确定安全级别;
根据所述安全级别确定系统参数、密钥导出函数和哈希函数;所述系统参数包括:预设的正整数集合、扩域和基域;
公开所述系统参数、所述密钥导出函数和所述哈希函数。
6.根据权利要求5所述的方法,其特征在于,所述确定安全级别,包括:
计算安全指标值;
根据所述安全指标值确定所述安全级别。
7.一种密钥处理方法,其特征在于,应用于封装端,包括:
获取解封端的公钥;所述公钥按照权利要求1至6任一项所述的方法生成;
在扩域中随机确定密钥生成向量和用于隐藏所述密钥生成向量的干扰向量;
对所述干扰向量和所述密钥生成向量进行哈希计算,得到第一子密文;
根据所述公钥生成偏循环矩阵,根据所述偏循环矩阵、所述密钥生成向量和所述干扰向量生成第二子密文和第三子密文;
将所述第一子密文、所述第二子密文和所述第三子密文组合为封装密文并发送所述封装密文至所述解封端。
8.根据权利要求7所述的方法,其特征在于,所述对所述干扰向量和所述密钥生成向量进行哈希计算,得到第一子密文,包括:
按照第五公式计算得到所述第一子密文;所述第五公式为:c0=H(x‖e1‖e2);
其中,c0为所述第一子密文;H表示哈希函数;x为所述密钥生成向量;e1和e2为所述干扰向量;‖表示字符的顺次连接。
9.根据权利要求7所述的方法,其特征在于,所述根据所述公钥生成偏循环矩阵,包括:
由所述公钥中的第一参数g’生成k×n阶的偏循环矩阵;
由所述公钥中的第二参数u’生成k×n阶的偏循环矩阵;
相应地,所述根据所述偏循环矩阵、所述密钥生成向量和所述干扰向量生成第二子密文和第三子密文,包括:
按照第六公式计算得到所述第二子密文和所述第三子密文;所述第六公式包括:c1=xCirn,k(g’)+e1,c2=xCirn,k(u’)+e2;
其中,c1为所述第二子密文;c2为所述第三子密文;x为所述密钥生成向量;Cirn,k(g’)为由所述公钥中的第一参数g’生成的k×n阶的偏循环矩阵;Cirn,k(u’)为由所述公钥中的第二参数u’生成的k×n阶的偏循环矩阵;e1和e2为所述干扰向量。
10.根据权利要求7所述的方法,其特征在于,还包括:
在预设的正整数集合中确定密钥参数;
利用预设的密钥导出函数对所述密钥生成向量和所述密钥参数进行计算,得到真会话密钥。
11.一种密钥处理方法,其特征在于,应用于解封端,包括:
接收封装端发送的封装密文;所述封装密文按照权利要求7至10任一项所述的方法生成;
解析所述封装密文得到第一子密文、第二子密文和第三子密文;
验证所述第一子密文、所述第二子密文和所述第三子密文;
若验证通过,则计算真会话密钥;否则,计算伪会话密钥。
12.根据权利要求11所述的方法,其特征在于,所述验证所述第一子密文、所述第二子密文和所述第三子密文,包括:
根据所述第一循环矩阵和所述第二子密文计算第一验证值;
根据所述第二循环矩阵和所述第三子密文计算第二验证值;
利用所述第一验证值和所述第二验证值进行译码,得到译码结果;
若所述译码结果满足预设条件,则计算干扰向量预测值和生成向量预测值;
根据所述干扰向量预测值和所述生成向量预测值计算得到第一子密文预测值;
若所述第一子密文预测值与所述第一子密文相等,则验证通过;
若所述第一子密文预测值与所述第一子密文不等或所述译码结果不满足预设条件,则验证不通过。
13.根据权利要求12所述的方法,其特征在于,所述根据所述第一循环矩阵和所述第二子密文计算第一验证值,包括:
按照第三公式计算得到所述第一验证值;所述第三公式为:E=c1O;E为所述第一验证值;c1为所述第二子密文;O为所述第一循环矩阵。
14.根据权利要求12所述的方法,其特征在于,所述根据所述第二循环矩阵和所述第三子密文计算第二验证值,包括:
按照第四公式计算得到所述第二验证值;所述第四公式为:F=c2P;F为所述第二验证值;c2为所述第三子密文;P为所述第二循环矩阵。
15.根据权利要求12所述的方法,其特征在于,所述译码结果满足预设条件,包括:所述译码结果的秩重量不大于预设阈值。
16.根据权利要求12所述的方法,其特征在于,所述干扰向量预测值包括e1’和e2’,e1’=c1-x’Cirn,k(g’),e2’=c2-x’Cirn,k(u’);c1为所述第二子密文;c2为所述第三子密文;x’为所述生成向量预测值;Cirn,k(g’)为由第一参数g’生成的k×n阶的偏循环矩阵;Cirn,k(u’)为由第二参数u’生成的k×n阶的偏循环矩阵。
17.根据权利要求12所述的方法,其特征在于,所述计算真会话密钥,包括:
在预设的正整数集合中确定密钥参数;
利用预设的密钥导出函数对所述生成向量预测值和所述密钥参数进行计算,得到所述真会话密钥。
18.根据权利要求11所述的方法,其特征在于,所述计算伪会话密钥,包括:
在预设的正整数集合中确定密钥参数;
利用预设的密钥导出函数对所述第四向量和所述密钥参数进行计算,得到所述伪会话密钥。
19.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至18任一项所述的方法。
20.一种可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至18任一项所述的方法。
21.一种密钥处理系统,其特征在于,包括封装端和解封端,所述封装端用于执行权利要求7至10任一项所述的方法;所述解封端用于执行权利要求1至6任一项和/或11至18任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311190945.XA CN116938454B (zh) | 2023-09-15 | 2023-09-15 | 一种密钥处理方法、设备、介质及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311190945.XA CN116938454B (zh) | 2023-09-15 | 2023-09-15 | 一种密钥处理方法、设备、介质及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116938454A CN116938454A (zh) | 2023-10-24 |
CN116938454B true CN116938454B (zh) | 2024-01-23 |
Family
ID=88386481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311190945.XA Active CN116938454B (zh) | 2023-09-15 | 2023-09-15 | 一种密钥处理方法、设备、介质及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116938454B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107947915A (zh) * | 2017-11-10 | 2018-04-20 | 西安电子科技大学 | 基于压缩感知的匿名叛逆者追踪方法 |
CN111817853A (zh) * | 2019-09-24 | 2020-10-23 | 中国人民武装警察部队海警学院 | 一种后量子安全的签密算法 |
CN112564907A (zh) * | 2021-03-01 | 2021-03-26 | 北京信安世纪科技股份有限公司 | 密钥生成方法及装置、加密方法及装置、解密方法及装置 |
CN113315628A (zh) * | 2021-04-09 | 2021-08-27 | 中国科学院信息工程研究所 | 密钥封装方法、装置、设备及存储介质 |
CN114095170A (zh) * | 2022-01-20 | 2022-02-25 | 北京信安世纪科技股份有限公司 | 数据处理方法、装置、系统及计算机可读存储介质 |
CN115499117A (zh) * | 2022-11-17 | 2022-12-20 | 深圳市迪博企业风险管理技术有限公司 | 区块链交易网络的密钥对生成方法及数据传输方法 |
CN116192157A (zh) * | 2023-01-19 | 2023-05-30 | 西安电子科技大学 | 降低qc-ldpc码生成矩阵密度的实现方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012139919A2 (en) * | 2011-04-09 | 2012-10-18 | Universität Zürich | Method and apparatus for public-key cryptography based on error correcting codes |
JP5966877B2 (ja) * | 2012-11-20 | 2016-08-10 | 富士通株式会社 | 復号方法、復号プログラム、復号装置、および鍵生成方法 |
-
2023
- 2023-09-15 CN CN202311190945.XA patent/CN116938454B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107947915A (zh) * | 2017-11-10 | 2018-04-20 | 西安电子科技大学 | 基于压缩感知的匿名叛逆者追踪方法 |
CN111817853A (zh) * | 2019-09-24 | 2020-10-23 | 中国人民武装警察部队海警学院 | 一种后量子安全的签密算法 |
CN112564907A (zh) * | 2021-03-01 | 2021-03-26 | 北京信安世纪科技股份有限公司 | 密钥生成方法及装置、加密方法及装置、解密方法及装置 |
CN113315628A (zh) * | 2021-04-09 | 2021-08-27 | 中国科学院信息工程研究所 | 密钥封装方法、装置、设备及存储介质 |
CN114095170A (zh) * | 2022-01-20 | 2022-02-25 | 北京信安世纪科技股份有限公司 | 数据处理方法、装置、系统及计算机可读存储介质 |
CN115499117A (zh) * | 2022-11-17 | 2022-12-20 | 深圳市迪博企业风险管理技术有限公司 | 区块链交易网络的密钥对生成方法及数据传输方法 |
CN116192157A (zh) * | 2023-01-19 | 2023-05-30 | 西安电子科技大学 | 降低qc-ldpc码生成矩阵密度的实现方法 |
Non-Patent Citations (2)
Title |
---|
基于编码的特殊数字签名与混合加密算法研究;王陆平;中国博士学位论文全文数据库信息科技辑;全文 * |
最大秩距离码的构造与应用;高哲;中国优秀硕士学位论文全文数据库基础科学辑;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116938454A (zh) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11784801B2 (en) | Key management method and related device | |
KR102412616B1 (ko) | 대수적 조작으로부터 데이터를 보호하는 방법 | |
JP5629823B2 (ja) | 非対称カオス暗号化 | |
CN111492616B (zh) | 用于基于晶格的密码学的可配置设备 | |
KR102397579B1 (ko) | 부채널 분석 방지를 위한 화이트박스 암호 방법 및 장치 | |
US10826694B2 (en) | Method for leakage-resilient distributed function evaluation with CPU-enclaves | |
CN111404952B (zh) | 变电站数据加密传输方法、装置、计算机设备和存储介质 | |
KR102393942B1 (ko) | 비밀 키에 대한 정족수 설계를 수행하는 장치 및 방법 | |
JP7183242B2 (ja) | 格子ベースの暗号鍵生成方法及び電子署名方法 | |
CN113169860A (zh) | 用于对密文进行非多项式计算的装置和方法 | |
US20220085999A1 (en) | System and method to optimize decryption operations in cryptographic applications | |
CN112054896B (zh) | 白盒加密方法、装置、终端及存储介质 | |
US20220085998A1 (en) | System and method to generate prime numbers in cryptographic applications | |
KR102443255B1 (ko) | 래티스를 기반으로 하는 암호키 생성 방법 및 전자서명 방법 | |
EP3709561A1 (en) | Method for generating a digital signature of an input message | |
US20230153070A1 (en) | Parallel generation of a random matrix | |
CN110213050A (zh) | 密钥生成方法、装置及存储介质 | |
CN111740821B (zh) | 建立共享密钥的方法及装置 | |
CN116170142B (zh) | 分布式协同解密方法、设备和存储介质 | |
CN116938454B (zh) | 一种密钥处理方法、设备、介质及系统 | |
CN110990896A (zh) | 基于sm2白盒的数字签名装置、方法、存储介质及设备 | |
KR102382952B1 (ko) | 근사 계산에 대한 계산 검증 | |
KR102364047B1 (ko) | 구조화된 행렬들에 기초한 공개키 암호를 위한 방법과 장치 | |
CN113475034B (zh) | 电路编译设备和电路评估设备 | |
KR102160294B1 (ko) | 비밀 키에 대한 정족수 설계를 수행하는 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |