CN102164032A - 抗量子攻击的非确定的公钥密码构造方法 - Google Patents

抗量子攻击的非确定的公钥密码构造方法 Download PDF

Info

Publication number
CN102164032A
CN102164032A CN2011101301430A CN201110130143A CN102164032A CN 102164032 A CN102164032 A CN 102164032A CN 2011101301430 A CN2011101301430 A CN 2011101301430A CN 201110130143 A CN201110130143 A CN 201110130143A CN 102164032 A CN102164032 A CN 102164032A
Authority
CN
China
Prior art keywords
overbar
matrices
centerdot
matrix
satisfy
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.)
Pending
Application number
CN2011101301430A
Other languages
English (en)
Inventor
赵永哲
赵博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jilin University
Original Assignee
Jilin University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jilin University filed Critical Jilin University
Priority to CN2011101301430A priority Critical patent/CN102164032A/zh
Publication of CN102164032A publication Critical patent/CN102164032A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

抗量子攻击的非确定的公钥密码构造方法,属于信息安全、密码技术、计算机技术领域,是信息安全的核心技术。本发明对传统确定的公钥密码技术进行了扩展,引入了非确定公钥密码的概念,并给出了具体的实现方案N-HFMS。以本发明所给出的方法、方案、技术为基础,可实现各种具体的信息安全应用,比如数据加/解密、密钥约定、数字签名、安全协议、认证中心(CA)、公钥基础设施(PKI)等。此外,由于N-HFMS公钥密码方案是基于NP完全问题来构造的,因而具有抵抗量子攻击的潜力。

Description

抗量子攻击的非确定的公钥密码构造方法
一、技术领域
公开密钥加密方法(简称公钥加密方法或公钥加密方案)属于密码技术和计算机技术领域,是信息安全和可信计算的核心技术之一。
二、背景技术
近年来,由于量子信息尤其是量子计算研究的迅速发展,现代密码学(相对于量子密码学亦称为经典密码学)的安全性受到了严重的挑战。如果量子计算机成为现实,则它能以多项式时间攻击所有能够转换为广义离散傅里叶变换的公钥密码,如RSA、DH、ECC等。量子时代我们用什么(公钥)密码?这是摆在我们面前的一个十分紧迫的任务,国际上关于抗量子计算的密码的研究最近几年非常热,已经召开了两次后量子密码(Post-Quantum Cryptography)国际会议。后量子密码研究的主要目标是研究对于量子攻击免疫的密码,即抗量子计算的密码。
经典密码学的安全性是建立在数学复杂度的基础之上,而量子密码学的安全性则建立在量子力学中量子态的不可克隆、测不准等物理原理之上。虽然量子计算机能破解许多经典密码,但并不是说它能攻破所有的经典密码,比如密码学家普遍认为量子计算机是无法破解NP完全问题的。目前针对抗量子计算的公钥密码研究主要集中在三个方面:一是基于量子的密码、二是基于DNA的密码、第三类就是基于量子计算机不擅长计算的哪些数学问题所构建的密码。第三类密码仍属于经典密码学的范畴,只不过所基于的数学问题与传统公钥密码不同而已。目前主要有如下几个研究方向:
(1)基于MQ(Multivariate Quadratic)问题的公钥密码
(2)基于格的公钥密码
(3)基于编码理论的公钥密码
(4)基于Merkle认证树的公钥密码
(5)基于辨群的公钥密码
其中基于MQ的公钥密码(MPKC)由于对计算能力要求不高并且具有较高的加密效率而成为研究的热点。从上世纪80年代开始,经过了二十余年的研究,目前已经提出了许多MPKC方案。但这些方案目前来看均谈不上成熟,而且多数都由国外申请了专利,因此研究我们自己的抗量子计算的公钥密码至关重要,本发明正是对该方面的一个突破。
本发明首先引入了“非确定的公钥密码(Nondeterministic PKC)”的概念,简记为NPKC。NPKC与现有确定的PKC(简记为DPKC)的区别在于,DPKC可为由其生成的每一对(公钥,私钥)明确指定一个明文空间PS,且PS中任一明文经公钥加密后均能由对应的私钥解密。但NPKC则无法为其所生成的(公钥,私钥)明确指定这样的明文空间,而只能指定一个超明文空间PS,但不确保PS中的明文经公钥加密后均能由对应的私钥解密。按上述定义,目前所提出的用于加密的公钥密码方案均为确定的公钥密码方案,因此本发明所提出的非确定的公钥加密方案属于对公钥密码技术的创新。
由于NPKC不能保证100%解密,所以人们更关心的是其解密成功率。设NPKC为其生成的(公钥,私钥)=(PK,SK)所指定的明文空间为PS,令PS中经PK加密后能被SK解密的明文所构成的集合为
Figure BSA00000499351500021
则NPKC关于(PK,SK)的解密成功率为:
Figure BSA00000499351500022
特别的,当Δ(PK,SK)=1时,对于(PK,SK)而言,NPKC则上升为DPKC。
鉴于公钥密码通常并不直接用于对消息加密,而是用于约定会话密钥,所以当解密成功率足够大时(比如>50%),NPKC仍具有实用价值。此外,由于私钥的拥有者都不能确保解密,那么不知道私钥的人想要解密就更加困难。从这个意义上说,NPKC可望获得比DPKC更高的安全强度。
为了实现NPKC,本发明首先给出了有限域上BMQ问题的定义,并证明了BMQ问题是NP完全的。然后基于BMQ问题提出了一种具体的NPKC实现方案N-HFMS。为了对N-HFMS的解密成功率进行分析,又对Euler函数
Figure BSA00000499351500023
的定义进行了扩展,引入了“扩展的Euler函数”,即ζ(x)函数。并证明了若干关于ζ(x)的定理,以及ζ(x)的求值公式。最后利用ζ(x)对N-HFMS的解密成功率进行了精确的估量,并在理论上证明了N-HFMS的可行性。
由于本发明所涉及的主要背景知识和专业术语大多由发明人首次提出,并且尚未公开发表,故下面用较大的篇幅对本发明所涉及的主要术语、理论、背景知识进行介绍。
2.1基本符号、术语、定理
Figure BSA00000499351500024
Figure BSA00000499351500031
定义1.
Figure BSA00000499351500032
记A的特征多项式为PA(x)=|xI-A|。
定义2.记Fq[A]={p(A)|p(x)∈Fq[x]}。
定义3.
Figure BSA00000499351500034
记VS(T)={a1T1+…+akTk|ai∈Fq},称VS(T)为矩阵集合T所生成的矩阵空间。
定义4.
Figure BSA00000499351500035
定义
Figure BSA00000499351500036
并记
Figure BSA00000499351500037
的秩为
定义5.
Figure BSA00000499351500039
定义S的秩为
Figure BSA000004993515000310
的秩,并记之为Rank(S)。
定义6. A ⊆ F q n × m , B ⊆ F q m × k ,
Figure BSA000004993515000312
定义7. x ∈ F q n , y ∈ F q m , x ⊗ y = ( x 1 y 1 , . . . , x 1 y m , . . . , x n y 1 , . . . , x n y m ) ∈ F q n · m .
Cayley-Hamilton定理.
Figure BSA000004993515000315
则PA(A)=0。
定理1.
Figure BSA000004993515000316
则Fq[A]=VS({A0,…,An-1})。
定理2.
Figure BSA000004993515000318
当且仅当存在λ∈Fq\{0},使(a=λc)^(b=λ-1d)。
2.2遍历矩阵及其性质
定义8.
Figure BSA000004993515000319
任取
Figure BSA000004993515000320
Figure BSA000004993515000321
恰好取遍则称A为Fq上的遍历矩阵(Ergodic Matrix)。
定理3.
Figure BSA000004993515000323
则下列命题等价:
1)A为遍历矩阵。
2)任取
Figure BSA000004993515000324
恰好取遍
Figure BSA000004993515000326
3)任取
Figure BSA000004993515000327
Figure BSA000004993515000328
恰好取遍
Figure BSA000004993515000329
4)AT为遍历矩阵。
5)A的周期=(qn-1)。
6)PA(x)为Fq[x]中的n次本原多项式。
定理4.
Figure BSA000004993515000330
为遍历矩阵,则
Figure BSA000004993515000331
且(Fq[A],+,×)恰好做成有限域GF(qn)。
定义9.
Figure BSA000004993515000332
为遍历矩阵,若Fq[A]=Fq[B],则称A和B等价。
易证,若
Figure BSA000004993515000333
为遍历矩阵,则中恰有
Figure BSA000004993515000335
个与之等价的遍历矩阵,且它们均落在Fq[A]中。
定义10.记
Figure BSA00000499351500041
中遍历矩阵的数量为NEM(Fq,n),若对等价的遍历矩阵不加区分,则记中互不等价之遍历矩阵的数量为NDEM(Fq,n)。
定理5(遍历矩阵的计数定理).
Figure BSA00000499351500043
2) N DEM ( F q , n ) = ( q n - q ) · ( q n - q 2 ) · . . . · ( q n - q n - 1 ) n
2.3
Figure BSA00000499351500045
中非奇异矩阵所占比例
Figure BSA00000499351500046
中非奇异矩阵所占的比例为Δn(Fq),则有:
Δ n ( F q ) = | GL n ( F q ) | q n 2 = ( q n - 1 ) · ( q n - q ) · . . . · ( q n - q n - 1 ) q n 2
= ( q - 1 ) · ( q 2 - 1 ) · . . . · ( q n - 1 ) q · q 2 · . . . · q n ⇒ Δ n + 1 ( F q ) = Δ n ( F q ) · ( q n + 1 - 1 ) q n + 1
可知Δn(Fq)随n的增加严格递减,且当q较大时,
Figure BSA00000499351500049
随n的增加快速趋近于1,因此Δn(Fq)的递减速度亦随n的增加快速趋近于0。表1给出了Δn(Fq)随(q,n)的变化情况:
表1
由表1可知,当n确定后,Δn(Fq)随q递增。且当q≥128时,可保证Δn(Fq)>99%。
2.4MPKC
MPKC即“基于多变元的公钥密码(Multivariate-based PKCs)”,其安全性是基于有限域上多变元d次方程组求解问题。当d≥2时,该问题已被证明是NP完全的。而当d=2时,该问题即为MQ问题。密码学界普遍认为量子计算机是无法攻破NP完全问题的,所以MPKC作为传统公钥密码(RSA、ECC、ElGmal等)的一个可能的替代者引起了人们极大的兴趣。自Matsumoto & Imai首次提出C*方案以来,经过了二十余年的研究,目前已提出许多比较知名的MPKC方案,为了减少公钥的尺寸,所提出的方案均是基于MQ问题来构造的,并且都是确定的。各MPKC方案的区别主要体现在中心映射φ(x)的构造方式上,本发明所提出的公钥密码方案N-HFMS从分类上亦属于MPKC,因此N-HFMS亦具有抵抗量子攻击的潜力。另外,不同于已有的MPKC方案,N-HFMS是非确定的。
2.5BMQ问题
所谓BMQ问题,即有限域上二等分多变元二次方程组(Bisectional Multivariate Quadraticeuqations)求解问题,其定义如下:
BMQ问题.E为Fq上有m个方程、2n个变元的方程组,其每个方程的形式如下:
Σ i = 1 n Σ j = 1 n α ij x i y j = β ij,β∈Fq为确定值)
要求E的解x=(x1,…,xn), y = ( y 1 , . . . , y n ) ∈ F q n .
显然,BMQ问题是MQ问题的一个特例,不同在于BMQ方程的变元被分成了数量相同的两组,且每个方程中仅含二次式,每个二次式又是这两组变元各选其一的乘积。而一般MQ方程中除了二次式,还有一次式。此外,Fq上的MQ方程组可能有唯一的非零解。但当q>2时,若(x,y)≠(0,0)是BMQ方程组E的一个非零解,则对,(λx,λ-1y)也必是E的解。称(x,y)与(λx,λ-1y)等价,因此当E有非零解时,可推出E至少有(q-1)个相互等价的解。此外,亦能证明BMQ问题也是NP完全的,即有:
定理6.Fq上的BMQ问题是NP完全的。
2.6HFMS方案
所谓HFMS,即“隐藏域上矩阵集合的公钥密码(Hidden Field Matrix-Set PKC)”。它是基于有限域上BMQ问题的困难性、以及矩阵代数和向量空间理论所构造的一种公钥密码。基于不同的约束条件,HFMS又可分为确定(D-HFMS)和非确定(N-HFMS)两种。
2.6.1D-HFMS
D-HFMS需要满足如下约束条件的矩阵集合(A,B,C):
A = { A 1 , . . . , A n } ⋐ F q 2 × n 线性无关(Rank(A)=n)
B = { B 1 , . . . , B n } ⋐ F q n × n 线性无关、 C = { C 1 , . . . , C n } ⋐ F q n × n 线性无关,且:
Figure BSA00000499351500057
③Rank(A·B)=2n
设矩阵集合(A,B,C)满足上述约束条件,任取a∈VS(A)\{0}、b∈VS(B)\{0},则存在唯一的x,
Figure BSA00000499351500061
使
Figure BSA00000499351500062
Figure BSA00000499351500063
称x和y分别为“a关于A”以及“b关于B”的“坐标”。令t=ab,则由可联立出Fq上的BMQ方程组:
E(A,B,t): [ A 1 B 1 ‾ . . . A 1 B n ‾ . . . A n B 1 ‾ . . . A n B n ‾ ] x 1 y 1 . . . x 1 y n . . . x n y 1 . . . x n y n = t → = t [ 1,1 ] . . . t [ 1 , n ] t [ 2,1 ] . . . t [ 2 , n ]
Figure BSA00000499351500066
则由Rank(A·B)=2n知
Figure BSA00000499351500067
即E(A,B,t)中方程与变元的数量相同。让(x,y)遍取
Figure BSA00000499351500068
并代入E(A,B,t),则所得到的t必遍取(VS(A)·VS(B))\{0}。反之,让t遍取(VS(A)·VS(B))\{0},则E(A,B,t)的解(x,y)亦遍取
Figure BSA00000499351500069
由于方程与变元的数量相同,所以直接求解E(A,B,t)是困难的,但在(A,B,C)已知的情况下,求解E(A,B,t)却是容易的,解法如下:
①令 t = ab = ( Σ i = 1 n x i A i ) ( Σ j = 1 n y j B j ) , t ≠ 0 ⇒ b ∈ V S ( B ) \ { 0 } ⇒ b 非奇异
②令
Figure BSA000004993515000612
由a=tb-1可联立方程组E(A,C,t):
Figure BSA000004993515000613
③解出E(A,C,t)的一组非零解(注:虽然(x,z)=(0,0)是E(A,C,t)的解,但由
Figure BSA000004993515000615
故只考虑E(A,C,t)的非零解)
④计算
Figure BSA000004993515000616
再对b-1用高斯消元法求逆得b
⑤计算b关于B的坐标 y ∈ F q n \ { 0 } , 使 b = Σ j = 1 n y j B j
⑥(x,y)即为E(A,B,t)的一个解,反复调用③~⑤可求出E(A,B,t)的全部解。若E(A,C,t)恰有(q-1)组非零解,则由(x,y)可快速求出E(A,B,t)的全部解:
{(λx,λ-1y)|λ∈Fq\{0}}
可利用未知(A,B,C)时求解E(A,B,t)的困难性,以及已知(A,B,C)时求解E(A,B,t)的容易性来构造陷门,并实现D-HFMS方案如下:
①随机选择满足约束条件的矩阵集合(A,B,C)
②由(A,B)生成中心映射(BMQ方程组):
φ = φ 1 ( x , y ) . . . φ 2 n ( x , y ) = [ A 1 B 1 ‾ . . . A 1 B n ‾ . . . A n B 1 ‾ . . . A n B n ‾ ] x 1 y 1 . . . x 1 y n . . . x n y 1 . . . x n y n
③对φ做仿射或线性变换:ρ=TоφоS
④以(Fq,ρ)为公钥,(A,B,C,T,S)为私钥
D-HFMS是确定的,因为可对其中心映射φ(x,y)明确指定明文空间
Figure BSA00000499351500072
且任一明文(x,y)∈PS
Figure BSA00000499351500073
加密后均可由对应的私钥解密。
2.6.2N-HFMS
不难发现,D-HFMS的陷门是基于任意矩阵b∈VS(B)\{0}皆非奇异并且b-1∈VS(C)\{0}来实现的,如此可将求解BMQ方程组E(A,B,t)归约为求解2n元一次方程组E(A,C,t),而后者为简单问题。基于此,我们可将N-HFMS的约束条件进一步弱化为:
A = { A 1 , . . . , A n } ⋐ F q 2 × n 线性无关
B = { B 1 , . . . , B n } ⋐ F q n × n 线性无关、 C = { C 1 , . . . , C n } ⋐ F q n × n 线性无关,且:
Figure BSA00000499351500077
③Rank(A·B)=2n
N-HFMS的约束条件②不再要求VS(B)\{0}中的矩阵皆非奇异,而仅要求VS(B)\{0}中的非奇异矩阵的逆皆在VS(C)\{0}中。设(A,B,C)满足上述约束条件,则可通过与D-HFMS类似的方法实现N-HFMS方案。任取t=ab∈(VS(A)·VS(B))\{0},若b∈GLn(Fq),则E(A,B,t)仍可通过E(A,C,t)来求解。反之,若
Figure BSA00000499351500078
则无法由E(A,C,t)来求解E(A,B,t)。设基于(A,B,C)所实现的N-HFMS实例为N-HFMS(A,B,C),并令:
Figure BSA00000499351500079
则SB由B唯一确定,且
Figure BSA000004993515000710
。当SB={0}时,则N-HFMS(A,B,C)关于明文空间
Figure BSA000004993515000711
是确定的。当
Figure BSA000004993515000712
时,尽管在理论上可为N-HFMS(A,B,C)指定明文空间
Figure BSA00000499351500081
但Shallit等人已经证明了由B求SB是NP完全问题。退一步说,即使由B可求出SB,但由于B为私钥,所以只有私钥的拥有者才能确定SB,对于局外人而言,只能为N-HFMS(A,B,C)指定超明文空间因此当
Figure BSA00000499351500083
时,N-HFMS(A,B,C)的中心映射φ(x,y)关于明文空间
Figure BSA00000499351500084
是非确定的。
2.7ζ函数
定义11.m(x)∈Fq[x]\{0},记并称之为Fq[x]在模m(x)下的“完全剩余系”。
定义12.m(x)∈Fq[x]\{0},记中与m(x)互素之多项式所构成的集合为
Figure BSA00000499351500087
并称之为Fq[x]在模m(x)下的“简化剩余系”。
定义13.m(x)∈Fq[x]\{0},记
Figure BSA00000499351500088
中与m(x)互素之多项式的个数为ζ(m(x)),即:
Figure BSA00000499351500089
由定义可知ζ(x)实际上是Euler函数
Figure BSA000004993515000810
(x)在Fq[x]上的扩展,故称ζ为“扩展的Euler函数”。与关于
Figure BSA000004993515000811
(x)的相关定理的证明方法类似,易证关于ζ(x)的下列定理,
定理7(扩展的Fermat-Euler定理).m(x)∈Fq[x]\Fq,若f(x)∈Fq[x]与m(x)互素,则有:
f(x)ζ(m(x))≡1(mod m(x))
定理8(扩展的中国剩余定理).m1(x),…,mk(x)∈Fq[x]\Fq两两互素,对于任意取定的 a i ( x ) ∈ F q [ x ] m i ( x ) ( i = 1 , . . . , k ) , 同余方程组:
f ( x ) ≡ a 1 ( x ) ( mod m 1 ( x ) ) . . . f ( x ) ≡ a k ( x ) ( mod m k ( x ) ) - - - ( I )
在模 m ( x ) = Π i = 1 k m i ( x ) 下有唯一解 f ( x ) ∈ F q [ x ] m ( x ) .
定理9(扩展的遍历定理).m1(x),…,mk(x)∈Fq[x]\Fq两两互素,令
Figure BSA00000499351500091
则:
1)让(a1(x),a2(x),…,ak(x))取遍则同余方程组(I)的解f(x)恰好取遍
Figure BSA00000499351500093
2)让(a1(x),a2(x),…,ak(x))取遍
Figure BSA00000499351500094
则同余方程组(I)的解f(x)恰好取遍
由定理9立得,
定理10.若m1(x),…,mk(x)∈Fq[x]\Fq两两互素,则
Figure BSA00000499351500096
定理11.
Figure BSA00000499351500097
p1(x),p2(x),…,pk(x)为互不相同的不可约多项式(相差λ∈Fq\{0}倍的两个多项式p(x)和λ·p(x)视为相同),则:
ζ ( f ( x ) ) = q deg ( f ( x ) ) · ( q deg ( p 1 ( x ) ) - 1 q deg ( p 1 ( x ) ) ) · ( q deg ( p 2 ( x ) ) - 1 q deg ( p 2 ( x ) ) ) · . . . · ( q deg ( p k ( x ) ) - 1 q deg ( p k ( x ) ) )
证明:任取不可约多项式p(x)∈Fq[x]和β≥1,则与p(x)β互素当且仅当p(x)不整除f(x)。而
Figure BSA000004993515000910
中能被p(x)整除的多项式恰为q(β-1)·deg(p(x))个,由此推出:
ζ ( p ( x ) β ) = q β · deg ( p ( x ) ) - q ( β - 1 ) · deg ( p ( x ) ) = q deg ( p ( x ) β ) · ( q deg ( p ( x ) ) - 1 q deg ( p ( x ) ) )
由定理10,立得: ζ ( f ( x ) ) = q deg ( f ( x ) ) · ( q deg ( p 1 ( x ) ) - 1 q deg ( p 1 ( x ) ) ) · ( q deg ( p 2 ( x ) ) - 1 q deg ( p 2 ( x ) ) ) · . . . · ( q deg ( p k ( x ) ) - 1 q deg ( p k ( x ) ) ) , 定理证毕。
2.8Fq[M]中非奇异矩阵的计数
定义14.
Figure BSA000004993515000913
记RM=Rank({M0,…,Mn-1}),并记UM=Fq[M]中非奇异矩阵的数量。
由定义,对于
Figure BSA000004993515000914
Fq[M]做成n2维矩阵空间
Figure BSA000004993515000915
的RM维子空间,且
Figure BSA000004993515000916
做成Fq[M]关于Fq的一组基。
定理12.
Figure BSA000004993515000917
若RM=n,则UM=ζ(PA(x))。
证明:易知
Figure BSA00000499351500101
由RM=n,让r(x)取遍
Figure BSA00000499351500102
则r(M)恰好取遍Fq[M]。任取
Figure BSA00000499351500103
若gcd(r(x),PM(x))=d(x)≠1,则必有f(x),
Figure BSA00000499351500104
使:
Figure BSA00000499351500105
⇒ r ( x ) · g ( x ) = P M ( x ) · f ( x )
⇒ r ( M ) · g ( M ) = P M ( M ) · f ( M ) = 0
若r(M)非奇异,则g(M)=0,此不可能,所以r(M)必奇异。反之,若gcd(r(x)),PM(x))=1,则存在f(x),g(x)∈Fq[x],使
Figure BSA00000499351500108
非奇异。因此对任意的
Figure BSA00000499351500109
r(M)非奇异当且仅当gcd(r(x),PM(x))=1,定理证毕。
定理12仅适用于RM=n的情形。为了适用于所有情形,特对其扩展如下:
定义15.
Figure BSA000004993515001010
定义RM次首1多项式:
ρ M ( x ) = x R M + a R M - 1 x R M - 1 + . . . + a 1 x + a 0 ∈ F q [ x ]
且ρM(x)满足ρM(M)=0。
可由
Figure BSA000004993515001013
唯一线性表示,所以ρM(x)由M唯一确定。且当RM=n时,有ρM(x)=PM(x),因此可将ρM(x)看成是PM(x)的扩展。易证下面定理:
定理13.
Figure BSA000004993515001014
则ρM(x)|PM(x)。
定理14.
Figure BSA000004993515001015
则RM|n。
由定理12的证明,立得:
定理15.则UM=ζ(ρM(x))。
至此,我们利用ζ函数完美地解决了Fq[M]中非奇异矩阵的计数问题。由定理15,立得,
定理16.
Figure BSA000004993515001017
则(Fq[M],+,×)做成
Figure BSA000004993515001018
元有限域
Figure BSA000004993515001019
当且仅当ρM(x)在Fq[x]中不可约。
定理17.
Figure BSA000004993515001020
且RM=n,则Fq[M]\{0}中元素皆非奇异当且仅当PM(x)在Fq[x]中不可约;亦当且仅当存在遍历矩阵
Figure BSA000004993515001021
使Fq[M]=Fq[E]。
Figure BSA000004993515001022
且RM=n,则UM的取值下界是我们所关注的,下面对此进行分析。
定义16.设Fq[x]中n次不可约多项式的个数为Iq(n),d∈□+为正整数,定义δq(d)为自然数的序列δq(d)=(d1,…,dk,r),其中(d1,…,dk,r)满足d=d1+2d2+…+k·dk+r,并按如下算法确定:
Figure BSA00000499351500111
由于
Figure BSA00000499351500112
由(q,n)唯一确定(其中μ(x)为
Figure BSA00000499351500113
函数),所以δq(d)亦由(q,d)唯一确定。例如,已知(I2(1),I2(2),I2(3),…)=(2,1,2,…),则有:
δ2(1)=(1,0)          δ2(2)=(2,0)       δ2(3)=(2,1)
δ2(4)=(2,1,0)       δ2(5)=(2,1,1)    δ2(6)=(2,1,2)
δ2(7)=(2,1,1,0)    δ2(8)=(2,1,1,1)…
定理18.f(x)∈Fq[x]\Fq,d=deg(f(x)),且δq(d)=(d1,…,dk,r),则:
ζ ( f ( x ) ) ≥ q r · Π j = 1 k ( q j - 1 ) d j
证明:设
Figure BSA00000499351500115
p1(x)…pk(x)为互不相同的不可约多项式。任取pj(x)∈{p1(x),…,pk(x)),若存在不可约多项式
Figure BSA00000499351500116
使得deg(p(x))<deg(pj(x)),则可构造d次式
Figure BSA00000499351500117
其中r(x)为任意(deg(pj(x))-deg(p(x)))次不可约多项式。由ζ的求值公式(定理11)以及q≥2,可知有ζ(f(x))>ζ(f(x)′)。由此推出使ζ(f(x))取最小值的d次多项式f(x)∈Fq[x]必满足:“若f(x)有k>1次的不可约因式,则Fq[x]中所有<k次的不可约多项式皆为f(x)的因式”。易证满足该条件的d次多项式都取相同的ζ值。令δq(d)=(d1,…,dk,r),并构造d次多项式f(x)′为d1个1次不可约多项式、d2个2次不可约多项式、…、dk个k次不可约多项式、以及任意一个r次式r(x)的乘积。由δq(d)的定义,可知r(x)的所有不可约因式均落在前面(d1+…+dk)个次≤k的不可约多项式之中,所以f(x)′满足上述条件,即有:
ζ ( f ( x ) ) ≥ ζ ( f ( x ) ′ ) = q r · Π j = 1 k ( q j - 1 ) d j
由定理18,立得,
定理19.
Figure BSA00000499351500122
δq(RM)=(d1,…,dk,r),则
由定理19,当(q,n)确定后,对于满足RM=n的
Figure BSA00000499351500124
恒有UM≥Umin(q,n),其中:
U min ( q , n ) = q r · Π j = 1 k ( q j - 1 ) d j ( δ q ( n ) = ( d 1 , . . . , d k , r ) )
Figure BSA00000499351500126
则对任意满足RM=n的矩阵
Figure BSA00000499351500127
来说,Fq[M]\{0}中非奇异矩阵所占的比例恒≥Δmin(q,n),例如,选取(q,n)=(2,13),则有:
δ 2 ( 13 ) = ( 2,1,2,3 ) ⇒ Δ min ( 2,13 ) = 2 3 · ( 2 - 1 ) 2 · ( 2 2 - 1 ) · ( 2 3 - 1 ) 2 ( 2 13 - 1 ) ≈ 14.36 %
而若选取(q,n)=(7,13),则有:
δ 7 ( 13 ) = ( 7,3,0 ) ⇒ Δ min ( 7,13 ) = ( 7 - 1 ) 7 · ( 7 2 - 1 ) 3 ( 7 13 - 1 ) ≈ 31.96 %
特别的,当q≥n时,恒有:
δ q ( n ) = ( n , 0 ) ⇒ U min ( q , n ) = ( q - 1 ) n ⇒ Δ min ( q , n ) = ( q - 1 ) n ( q n - 1 ) > ( q - 1 q ) n
由此得:
Δ min ( 64,50 ) > ( 63 64 ) 50 ≈ 45.5 %
Δ min ( 256,50 ) > ( 255 256 ) 50 ≈ 82.2 %
Δ min ( 65536,50 ) > ( 65535 65536 ) 50 ≈ 99.92 %
这样我们便从理论上证明了,对于任意给定的Δ(0<Δ<1),可通过选择适当的(q,n)来使Δmin(q,n)≥Δ,此时对于满足RM=n的任意矩阵
Figure BSA000004993515001214
Fq[M]\{0}中非奇异矩阵所占的比例恒≥Δ,而这一点对于保证本发明所给出方案N-HFMS的解密成功率至关重要。至此,本发明所涉及的背景技术和数学知识已交待完毕,下面是本发明的具体内容和实施方式。
三、发明内容
本发明所要解决的技术问题是给出一种非确定的、能满足给定解密成功率要求的、并具有抵抗量子攻击潜力的公钥密码方案。所给出的方案简记为N-HFMS,即“非确定的隐藏域上矩阵集合的公钥密码”的英文缩写,N-HFMS由密钥生成、加密、解密三个部分组成。在构造具体的N-HFMS实例时,需要指定所要求达到的解密成功率的下界Δ(0<Δ<1),在Δ指定后,可对N-HFMS的各部分具体实现如下:
(I)密钥生成部分
密钥生成部分用来产生一对(公钥,私钥)=(PK,SK),其具体步骤如下:
①由Δ的取值确定(Fq,n),其中Fq为基域,n为矩阵尺寸。至于如何确定(Fq,n)则不作限制,但建议所确定的(Fq,n)尽量满足Δn(Fq)≥Δ
②随机选择满足如下约束条件的矩阵集合(A,B,C):
(1) A = { A 1 , . . . , A n } ⋐ F q 2 × n 线性无关
(2) B = { B 1 , . . . , B n } ⋐ F q n × n 线性无关、 C = { C 1 , . . . , C n } ⋐ F q n × n 线性无关,且:
Figure BSA00000499351500134
(3)VS(B)\{0}中非奇异矩阵所占的比例≥Δ
(4)Rank(A·B)=2n
③由(A,B)生成2n个关于变元x,
Figure BSA00000499351500135
的BMQ多项式φ={φ1(x,y),…,φ2n(x,y)}:
φ 1 ( x , y ) . . . φ 2 n ( x , y ) = [ A 1 B 1 ‾ . . . A 1 B n ‾ . . . A n B 1 ‾ . . . A n B n ‾ ] x 1 y 1 . . . x 1 y n . . . x n y 1 . . . x n y n
④任意选取线性变换S和T,并用S和T对φ做变换得到2n个关于变元
Figure BSA00000499351500137
的MQ多项式:ρ=TоφоS={ρ1(v),…,ρ2n(v)}
⑤公钥PK=(Fq,ρ),私钥SK=(A,B,C,S,T)
(II)加密部分
加密部分供消息发送方使用,用来对明文
Figure BSA00000499351500138
进行加密,其具体步骤如下:
①取得消息接收方的公钥PK=(Fq,ρ)
②用PK对明文加密: C V = [ ρ 1 ( V ) , . . . , ρ 2 n ( V ) ] ∈ F q 2 n \ { 0 }
③用某种单向散列函数H计算明文V的指纹:dV=H(V)
④将(H,CV,dV)发送给消息接收方
(III)解密部分
解密部分供消息接收方使用,消息接收方以自己的私钥SK=(A,B,C,S,T)对消息进行解密。设消息接收方收到的消息为(H,CV,dV),则解密过程的具体步骤如下:
①对CV做T的逆变换: t → = T - 1 ( C V ) ∈ F q 2 n \ { 0 } , 得到矩阵 t ∈ F q 2 × n \ { 0 }
②由(A,C,t)联立出Fq上的2n元一次方程组E(A,C,t):
Figure BSA00000499351500145
③对E(A,C,t)进行求解,并将其所有非零解
Figure BSA00000499351500146
置于集合Ω中,其中 o = ( 0,0 ) ∈ F q n × F q n
④若Ω=Φ,则算法结束,并返回“解密失败”
⑤任取(x,z)∈Ω,并置Ω=Ω\{(x,z)}
⑥若x=0或 b ′ = ( Σ k = 1 n z k C k ) ∉ GL n ( F q ) , 则转④
⑦对b′求逆得b=(b′)-1
⑧计算b关于B的坐标 y ∈ F q n \ { 0 } , 使 b = Σ j = 1 n y j B j
⑨对(x,y)做S的逆变换: V ′ = S - 1 ( x , y ) ∈ F q 2 n
⑩计算d′=H(V′)
Figure BSA000004993515001412
若d′≠dV,则转④
Figure BSA000004993515001413
解密成功,返回解密出的明文V=V′,算法结束
上述N-HFMS实现方案中的中心映射φ={φ1(x,y),…,φ2n(x,y)}中的每个多项式均不含一次项,为了进一步增加中心映射的φ复杂度,可在矩阵集合A中再增加一个矩阵A0,以使生成的中心映射φ含有y的一次项,调整后的N-HFMS各部分的具体实现方式如下:
(I)密钥生成部分
①由Δ的取值确定(Fq,n),其中Fq为基域,n为矩阵尺寸。至于如何确定(Fq,n)则不作限制,但建议所确定的(Fq,n)尽量满足Δn(Fq)≥Δ
②随机选择满足如下约束条件的矩阵集合(A,B,C):
(1) A = { A 0 , A 1 , . . . , A n } ⋐ F q 2 × n 线性无关
(2) B = { B 1 , . . . , B n } ⋐ F q n × n 线性无关、 C = { C 1 , . . . , C n } ⋐ F q n × n 线性无关,且:
(3)VS(B)\{0}中非奇异矩阵所占的比例≥Δ
(4)Rank({A1,…,An}·B)=2n
③由(A,B)生成2n个关于变元x,
Figure BSA00000499351500155
的多项式φ={φ1(x,y),…,φ2n(x,y)}:
φ 1 ( x , y ) . . . φ 2 n ( x , y ) = [ A 1 B 1 ‾ . . . A 1 B n ‾ . . . A n B 1 ‾ . . . A n B n ‾ ] x 1 y 1 . . . x 1 y n . . . x n y 1 . . . x n y n + [ A 0 B 1 ‾ . . . A 0 B n ‾ ] y 1 . . . y n
④任意选取仿射变换S和线性变换T,并用S和T对φ做变换得到2n个关于变元的MQ多项式:ρ=TоφоS={ρ1(v),…,ρ2n(v)}
⑤公钥PK=(Fq,ρ),私钥SK=(A,B,C,S,T)
(II)加密部分
①取得消息接收方的公钥PK=(Fq,ρ)
②用PK对明文V加密: C V = [ ρ 1 ( V ) , . . . , ρ 2 n ( V ) ] ∈ F q 2 n \ { 0 }
③用某种单向散列函数H计算明文V的指纹:dV=H(V)
④将(H,CV,dV)发送给消息接收方
(III)解密部分
设消息接收方收到的消息为(H,CV,dV),则其以自己的私钥SK=(A,B,C,S,T)对消息进行解密的具体步骤如下:
①对CV做T的逆变换: t → = T - 1 ( C V ) ∈ F q 2 n \ { 0 } , 得到矩阵 t ∈ F q 2 × n \ { 0 }
②由(A,C,t)联立出Fq上的2n元一次方程组E(A,C,t):
Figure BSA000004993515001512
③对E(A,C,t)进行求解,并将其所有解置于集合Ω中
④若Ω=Φ,则算法结束,并返回“解密失败”
⑤任取(x,z)∈Ω,并置Ω=Ω\{(x,z)}
⑥若 b ′ = ( Σ k = 1 n z k C k ) ∉ GL n ( F q ) , 则转④
⑦对b′求逆得b=(b′)-1
⑧计算b关于B的坐标 y ∈ F q n \ { 0 } ,使 b = Σ j = 1 n y j B j
⑨对(x,y)做S的逆变换: V ′ = S - 1 ( x , y ) ∈ F q 2 n
⑩计算d′=H(V′)
Figure BSA00000499351500166
若d′≠dV,则转④
Figure BSA00000499351500167
解密成功,返回解密出的明文V=V′,算法结束
此外,将前面所给出的两种N-HFMS实现方案集合A中的矩阵行列数互换,又能派生出另外两种N-HFMS的实现方案,其中,由第一种N-HFMS方案可派生出如下N-HFMS方案:
(I)密钥生成部分
①由Δ的取值确定(Fq,n),其中Fq为基域,n为矩阵尺寸。至于如何确定(Fq,n)则不作限制,但建议所确定的(Fq,n)尽量满足Δn(Fq)≥Δ
②随机选择满足如下约束条件的矩阵集合(A,B,C):
(1) A = { A 1 , . . . , A n } ⋐ F q n × 2 线性无关
(2) B = { B 1 , . . . , B n } ⋐ F q n × n 线性无关、 C = { C 1 , . . . , C n } ⋐ F q n × n 线性无关,且:
Figure BSA000004993515001611
(3)VS(B)\{0}中非奇异矩阵所占的比例≥Δ
(4)Rank(B·A)=2n
③由(A,B)生成2n个关于变元x,
Figure BSA000004993515001612
的BMQ多项式φ={φ1(x,y),…,φ2n(x,y)}:
φ 1 ( x , y ) . . . φ 2 n ( x , y ) = [ B 1 A 1 ‾ . . . B n A 1 ‾ . . . B 1 A n ‾ . . . B n A n ‾ ] x 1 y 1 . . . x 1 y n . . . x n y 1 . . . x n y n
④任意选取线性变换S和T,并用S和T对φ做变换得到2n个关于变元的MQ多项式:ρ=TоφоS={ρ1(v),…,ρ2n(v)}
⑤公钥PK=(Fq,ρ),私钥SK=(A,B,C,S,T)
(II)加密部分
①取得消息接收方的公钥PK=(Fq,ρ)
②用PK对明文V
Figure BSA00000499351500173
加密: C V = [ ρ 1 ( V ) , . . . , ρ 2 n ( V ) ] ∈ F q 2 n \ { 0 }
③用某种单向散列函数H计算明文V的指纹:dV=H(V)
④将(H,CV,dV)发送给消息接收方
(III)解密部分
设消息接收方收到的消息为(H,CV,dV),则其以自己的私钥SK=(A,B,C,S,T)对消息进行解密的具体步骤如下:
①对CV做T的逆变换: t → = T - 1 ( C V ) ∈ F q 2 n \ { 0 } , 得到矩阵 t ∈ F q n × 2 \ { 0 }
②由(A,C,t)联立出Fq上的2n元一次方程组E(A,C,t):
Figure BSA00000499351500177
③对E(A,C,t)进行求解,并将其所有非零解置于集合Ω中,其中 o = ( 0,0 ) ∈ F q n × F q n
④若Ω=Φ,则算法结束,并返回“解密失败”
⑤任取(x,z)∈Ω,并置Ω=Ω\{(x,z)}
⑥若x=0或 b ′ = ( Σ k = 1 n z k C k ) ∉ GL n ( F q ) , 则转④
⑦对b′求逆得b=(b′)-1
⑧计算b关于B的坐标 y ∈ F q n \ { 0 } , 使 b = Σ j = 1 n y j B j
⑨对(x,y)做S的逆变换: V ′ = S - 1 ( x , y ) ∈ F q 2 n
⑩计算d′=H(V′)
Figure BSA00000499351500182
若d′≠dV,则转④
解密成功,返回解密出的明文V=V′,算法结束
同理,由第二种N-HFMS方案亦可派生出如下N-HFMS方案:
(I)密钥生成部分
①由Δ的取值确定(Fq,n),其中Fq为基域,n为矩阵尺寸。至于如何确定(Fq,n)则不作限制,但建议所确定的(Fq,n)尽量满足Δn(Fq)≥Δ
②随机选择满足如下约束条件的矩阵集合(A,B,C):
(1) A = { A 0 , A 1 , . . . , A n } ⋐ F q n × 2 线性无关
(2) B = { B 1 , . . . , B n } ⋐ F q n × n 线性无关、 C = { C 1 , . . . , C n } ⋐ F q n × n 线性无关,且:
Figure BSA00000499351500187
(3)VS(B)\{0}中非奇异矩阵所占的比例≥Δ
(4)Rank(B·{A1,…,An})=2n
③由(A,B)生成2n个关于变元x,
Figure BSA00000499351500188
的多项式φ={φ1(x,y),…,φ2n(x,y)}:
φ 1 ( x , y ) . . . φ 2 n ( x , y ) = [ B 1 A 1 ‾ . . . B n A 1 ‾ . . . B 1 A n ‾ . . . B n A n ‾ ] x 1 y 1 . . . x 1 y n . . . x n y 1 . . . x n y n + [ B 1 A 0 ‾ . . . B n A 0 ‾ ] y 1 . . . y n
④任意选取仿射变换S和线性变换T,并用S和T对φ做变换得到2n个关于变元
Figure BSA000004993515001810
的MQ多项式:ρ=TоφоS={ρ1(v),…,ρ2n(v)}
⑤公钥PK=(Fq,ρ),私钥SK=(A,B,C,S,T)
(II)加密部分
①取得消息接收方的公钥PK=(Fq,ρ)
②用PK对明文
Figure BSA000004993515001811
加密: C V = [ ρ 1 ( V ) , . . . , ρ 2 n ( V ) ] ∈ F q 2 n \ { 0 }
③用某种单向散列函数H计算明文V的指纹:dV=H(V)
④将(H,CV,dV)发送给消息接收方
(III)解密部分
设消息接收方收到的消息为(H,CV,dV),则其以自己的私钥SK=(A,B,C,S,T)对消息进行解密的具体步骤如下:
①对CV做T的逆变换: t → = T - 1 ( C V ) ∈ F q 2 n \ { 0 } , 得到矩阵 t ∈ F q n × 2 \ { 0 }
②由(A,C,t)联立出Fq上的2n元一次方程组E(A,C,t):
Figure BSA00000499351500193
③对E(A,C,t)进行求解,并将其所有解
Figure BSA00000499351500194
置于集合Ω中
④若Ω=Φ,则算法结束,并返回“解密失败”
⑤任取(x,z)∈Ω,并置Ω=Ω\{(x,z)}
⑥若 b ′ = ( Σ k = 1 n z k C k ) ∉ GL n ( F q ) , 则转④
⑦对b′求逆得b=(b′)-1
⑧计算b关于B的坐标 y ∈ F q n \ { 0 } , 使 b = Σ j = 1 n y j B j
⑨对(x,y)做S的逆变换: V ′ = S - 1 ( x , y ) ∈ F q 2 n
⑩计算d′=H(V′)
Figure BSA00000499351500199
若d′≠dV,则转④
Figure BSA000004993515001910
解密成功,返回解密出的明文V=V′,算法结束
至此,我们共给出了4种具体的N-HFMS实现方案。能够看出,各N-HFMS方案得以实现的关键主要在“密钥生成部分”,“密钥生成部分”实现的关键又在于如何寻找满足其第②步约束条件的矩阵集合(A,B,C),而(A,B,C)的寻找又以如何寻找满足条件的矩阵集合(B,C)为关键。实验表明,在找到满足条件的(B,C)后,可随机选择集合A,且这样得到的(A,B,C)在绝大多数情况下均满足N-HFMS密钥生成部分第②步的约束条件,因此各N-HFMS方案得以实现的关键便在于如何寻找满足条件的矩阵集合(B,C),而且(B,C)的取值空间还要足够大。
除了上述4种N-HFMS实现方案,本发明的另一个主要内容便是给出了如何寻找满足条件的矩阵集合(B,C)的方法Find(B,C),Find(B,C)是以矩阵代数、向量空间理论、以及本发明背景技术中所给出的理论为基础的,且其适用于前面所给出的每一种N-HFMS方案,Find(B,C)的具体步骤如下:
①随机选择满足RM=n的矩阵
Figure BSA00000499351500201
②求出M的特征多项式PM(x)
③对PM(x)进行因式分解(可用Berlekamp算法)
④由PM(x)的分解式计算出UM=ζ(PM(x))
⑤若 U M ( q n - 1 ) < &Delta; , 则转①
⑥任选Fq[M]关于Fq的一组基MB={M1,…,Mn}
⑦任选P,Q∈GLn(Fq),并计算:
B = P &CenterDot; M B &CenterDot; Q = { PM 1 Q , . . . , PM n Q } C = Q - 1 &CenterDot; M B &CenterDot; P - 1 = { Q - 1 M 1 P - 1 , . . . , Q - 1 M n P - 1 }
⑧(B,C)即为所求
设矩阵集合(B,C)是按上述方法基于矩阵
Figure BSA00000499351500204
所构造,则VS(B)\{0}中非奇异矩阵所占的比例
Figure BSA00000499351500205
若(q,n)满足Δn(Fq)≥Δ,则可用于构造(B,C)的
Figure BSA00000499351500206
数量众多,特别的,若Δmin(q,n)≥Δ,则满足RM=n的任意矩阵
Figure BSA00000499351500207
均可用于构造(B,C)。因此对于给定的解密成功率下界Δ(0<Δ<1),通过选择适当的(q,n),可使满足N-HFMS密钥生成部分第②步约束条件的矩阵集合(A,B,C)有巨大的取值空间,从而确保本发明所给出的各N-HFMS方案都拥有巨大的密钥空间和良好的公钥随机性。
四、具体实施方式
4.1N-HFMS的实施方式之一
令所要求的解密成功率的下界为Δ(0<Δ<1),则N-HFMS各部分的实现如下:
(I)密钥生成部分
①由Δ的取值确定(Fq,n),其中Fq为基域,n为矩阵尺寸,且(Fq,n)满足Δn(Fq)≥Δ
②调用Find(B,C),得到矩阵集合(B,C)
③随机选择矩阵集合且A满足Rank(A)=n
④若Rank(A·B)≠2n,则转②
⑤由(A,B)生成2n个关于变元x,
Figure BSA00000499351500211
的BMQ多项式φ={φ1(x,y),…,φ2n(x,y)}:
&phi; 1 ( x , y ) . . . &phi; 2 n ( x , y ) = [ A 1 B 1 &OverBar; . . . A 1 B n &OverBar; . . . A n B 1 &OverBar; . . . A n B n &OverBar; ] x 1 y 1 . . . x 1 y n . . . x n y 1 . . . x n y n
⑥任意选取线性变换S和T:
S : x y = x 1 . . . x n y 1 . . . y n = S L v , ( x , y &Element; F q n , S L &Element; GL 2 n ( F q ) , v &Element; F q 2 n ) T : &rho; 1 ( &CenterDot; ) . . . &rho; 2 n ( &CenterDot; ) = T L &phi; 1 ( &CenterDot; ) . . . &phi; 2 n ( &CenterDot; ) , ( T L &Element; ( GL 2 n ( F q ) )
⑦用S和T对φ做变换得不含一次式的MQ方程组:
Figure BSA00000499351500214
⑧公钥PK=(Fq,ρ),私钥SK=(A,B,C,SL,TL)
(II)加密部分
①取得消息接收方的公钥PK=(Fq,ρ)
②用PK对明文
Figure BSA00000499351500215
加密: C V = [ &rho; 1 ( V ) , . . . , &rho; 2 n ( V ) ] &Element; F q 2 n \ { 0 }
③用某种单向散列函数H计算明文V的指纹:dV=H(V)
④将(H,CV,dV)发送给消息接收方
(III)解密部分
设消息接收方收到的消息为(H,CV,dV),则其以自己的私钥SK=(A,B,C,SL,TL)对消息进行解密的步骤如下:
①计算 t &RightArrow; = T L - 1 C V &Element; F q 2 n \ { 0 } , 得到矩阵 t &Element; F q 2 &times; n \ { 0 }
②由(A,C,t)联立方程组E(A,C,t):
Figure BSA00000499351500223
③对E(A,C,t)进行求解,并将其所有解置于集合Ω中
④置Ω=Ω\{o}(其中 o = ( 0,0 ) &Element; F q n &times; F q n )
⑤若Ω=Φ,则算法结束,并返回“解密失败”
⑥任取E(A,C,t)的一组非零解(x,z)∈Ω
⑦置Ω=Ω\{(λx,λz)|λ∈Fq\{0}}
⑧若x=0或 b &prime; = ( &Sigma; k = 1 n z k C k ) &NotElement; GL n ( F q ) , 则转⑤
⑨用高斯消元法对b′求逆得b=(b′)-1
⑩计算b关于B的坐标 y &Element; F q n \ { 0 } , 使 b = &Sigma; j = 1 n y j B j
Figure BSA00000499351500228
Forλ∈Fq\{0}Do
(x′,y′)=(λx,λ-1y);
V &prime; = v 1 &prime; . . . v 2 n &prime; = S L - 1 x &prime; y &prime; = S L - 1 x 1 &prime; . . . x n &prime; y 1 &prime; . . . y n &prime; ;
d′=H(V′);
若d′=dV,则转(13);
EndFor
转⑤
Figure BSA000004993515002211
解密成功,返回解密出的明文V=V′,算法结束
4.2N-HFMS的实施方式之二
令所要求的解密成功率的下界为Δ(0<Δ<1),则N-HFMS各部分的实现如下:
(I)密钥生成部分
①由Δ的取值确定(Fq,n),其中Fq为基域,n为矩阵尺寸,且(Fq,n)满足Δn(Fq)≥Δ
②调用Find(B,C),得到矩阵集合(B,C)
③随机选择矩阵集合且A满足Rank(A)=n+1
④若Rank({A1,…,An}·B)≠2n,则转②
⑤由(A,B)生成2n个关于变元x,
Figure BSA00000499351500232
的多项式φ={φ1(x,y),…,φ2n(x,y)}:
&phi; 1 ( x , y ) . . . &phi; 2 n ( x , y ) = [ A 1 B 1 &OverBar; . . . A 1 B n &OverBar; . . . A n B 1 &OverBar; . . . A n B n &OverBar; ] x 1 y 1 . . . x 1 y n . . . x n y 1 . . . x n y n + [ A 0 B 1 &OverBar; . . . A 0 B n &OverBar; ] y 1 . . . y n
⑥任意选取仿射变换S和线性变换T:
S : x y = x 1 . . . x n y 1 . . . y n = S L v + S C , ( S L &Element; GL 2 n ( F q ) , S C , v &Element; F q 2 n ) T : &rho; 1 ( &CenterDot; ) . . . &rho; 2 n ( &CenterDot; ) = T L &phi; 1 ( &CenterDot; ) . . . &phi; 2 n ( &CenterDot; ) , ( T L &Element; ( GL 2 n ( F q ) )
⑦用S和T对φ做变换得MQ方程组:
Figure BSA00000499351500235
⑧公钥PK=(Fq,ρ),私钥SK=(A,B,C,SL,SC,TL)
(II)加密部分
①取得消息接收方的公钥PK=(Fq,ρ)
②用PK对明文
Figure BSA00000499351500236
加密: C V = [ &rho; 1 ( V ) , . . . , &rho; 2 n ( V ) ] &Element; F q 2 n \ { 0 }
③用某种单向散列函数H计算明文V的指纹:dV=H(V)
④将(H,CV,dV)发送给消息接收方
(III)解密部分
设消息接收方收到的消息为(H,CV,dV),则其以自己的私钥SK=(A,B,C,SL,SC,TL)对消息进行解密的步骤如下:
①计算 t &RightArrow; = T L - 1 C V &Element; F q 2 n \ { 0 } , 得到矩阵 t &Element; F q 2 &times; n \ { 0 }
②由(A,C,t)联立方程组E(A,C,t):
Figure BSA00000499351500243
③对E(A,C,t)进行求解,并将其所有解置于集合Ω中
④若Ω=Φ,则算法结束,并返回“解密失败”
⑤任取E(A,C,t)的一组解(x,z)∈Ω
⑥置Ω=Ω\{(x,z)}
⑦若 b &prime; = ( &Sigma; k = 1 n z k C k ) &NotElement; GL n ( F q ) , 则转④
⑧用高斯消元法对b′求逆得b=(b′)-1
⑨计算b关于B的坐标 y &Element; F q n \ { 0 } , 使 b = &Sigma; j = 1 n y j B j
⑩计算: V &prime; = v 1 &prime; . . . v 2 n &prime; = S L - 1 ( x y - S C ) = S L - 1 ( x 1 . . . x n y 1 . . . y n - S C )
Figure BSA00000499351500248
置d′=H(V′);
Figure BSA00000499351500249
若d′≠dV,则转④
Figure BSA000004993515002410
解密成功,返回解密出的明文V=V′,算法结束
4.3N-HFMS的实施方式之三
令所要求的解密成功率的下界为Δ(0<Δ<1),则N-HFMS各部分的实现如下:
(I)密钥生成部分
①由Δ的取值确定(Fq,n),其中Fq为基域,n为矩阵尺寸,且(Fq,n)满足Δn(Fq)≥Δ
②调用Find(B,C),得到矩阵集合(B,C)
③随机选择矩阵集合
Figure BSA000004993515002411
且A满足Rank(A)=n
④若Rank(B·A)≠2n,则转②
⑤由(A,B)生成2n个关于变元x,
Figure BSA00000499351500251
的BMQ多项式φ={φ1(x,y),…,φ2n(x,y)}:
&phi; 1 ( x , y ) . . . &phi; 2 n ( x , y ) = [ B 1 A 1 &OverBar; . . . B n A 1 &OverBar; . . . B 1 A n &OverBar; . . . B n A n &OverBar; ] x 1 y 1 . . . x 1 y n . . . x n y 1 . . . x n y n
⑥任意选取线性变换S和T:
S : x y = x 1 . . . x n y 1 . . . y n = S L v , ( x , y &Element; F q n , S L &Element; GL 2 n ( F q ) , v &Element; F q 2 n ) T : &rho; 1 ( &CenterDot; ) . . . &rho; 2 n ( &CenterDot; ) = T L &phi; 1 ( &CenterDot; ) . . . &phi; 2 n ( &CenterDot; ) , ( T L &Element; ( GL 2 n ( F q ) )
⑦用S和T对φ做变换得不含一次式的MQ方程组:
Figure BSA00000499351500254
⑧公钥PK=(Fq,ρ),私钥SK=(A,B,C,SL,TL)
(II)加密部分
①取得消息接收方的公钥PK=(Fq,ρ)
②用PK对明文加密: C V = [ &rho; 1 ( V ) , . . . , &rho; 2 n ( V ) ] &Element; F q 2 n \ { 0 }
③用某种单向散列函数H计算明文V的指纹:dV=H(V)
④将(H,CV,dV)发送给消息接收方
(III)解密部分
设消息接收方收到的消息为(H,CV,dV),则其以自己的私钥SK=(A,B,C,SL,TL)对消息进行解密的步骤如下:
①计算 t &RightArrow; = T L - 1 C V &Element; F q 2 n \ { 0 } , 得到矩阵 t &Element; F q n &times; 2 \ { 0 }
②由(A,C,t)联立方程组E(A,C,t):
③对E(A,C,t)进行求解,并将其所有解置于集合Ω中
④置Ω=Ω\{o}(其中
Figure BSA00000499351500264
)
⑤若Ω=Φ,则算法结束,并返回“解密失败”
⑥任取E(A,C,t)的一组非零解(x,z)∈Ω
⑦置Ω=Ω\{(λx,λz)|λ∈Fq\{0}}
⑧若x=0或 b &prime; = ( &Sigma; k = 1 n z k C k ) &NotElement; GL n ( F q ) , 则转⑤
⑨用高斯消元法对b′求逆得b=(b′)-1
⑩计算b关于B的坐标 y &Element; F q n \ { 0 } , 使 b = &Sigma; j = 1 n y j B j
Figure BSA00000499351500268
Forλ∈Fq\{0}Do
(x′,y′)=(λx,λ-1y);
V &prime; = v 1 &prime; . . . v 2 n &prime; = S L - 1 x &prime; y &prime; = S L - 1 x 1 &prime; . . . x n &prime; y 1 &prime; . . . y n &prime; ;
d′=H(V′);
若d′=dV,则转(13);
EndFor
Figure BSA000004993515002610
转⑤
Figure BSA000004993515002611
解密成功,返回解密出的明文V=V′,算法结束
4.4N-HFMS的实施方式之四
令所要求的解密成功率的下界为Δ(0<Δ<1),则N-HFMS各部分的实现如下:
(I)密钥生成部分
①由Δ的取值确定(Fq,n),其中Fq为基域,n为矩阵尺寸,且(Fq,n)满足Δn(Fq)≥Δ
②调用Find(B,C),得到矩阵集合(B,C)
③随机选择矩阵集合
Figure BSA00000499351500271
且A满足Rank(A)=n+1
④若Rank(B·{A1,…,An})≠2n,则转②
⑤由(A,B)生成2n个关于变元x,的多项式φ={φ1(x,y),…,φ2n(x,y)}:
&phi; 1 ( x , y ) . . . &phi; 2 n ( x , y ) = [ B 1 A 1 &OverBar; . . . B n A 1 &OverBar; . . . B 1 A n &OverBar; . . . B n A n &OverBar; ] x 1 y 1 . . . x 1 y n . . . x n y 1 . . . x n y n + [ B 1 A 0 &OverBar; . . . B n A 0 &OverBar; ] y 1 . . . y n
⑥任意选取仿射变换S和线性变换T:
S : x y = x 1 . . . x n y 1 . . . y n = S L v + S C , ( S L &Element; GL 2 n ( F q ) , S C , v &Element; F q 2 n ) T : &rho; 1 ( &CenterDot; ) . . . &rho; 2 n ( &CenterDot; ) = T L &phi; 1 ( &CenterDot; ) . . . &phi; 2 n ( &CenterDot; ) , ( T L &Element; ( GL 2 n ( F q ) )
⑦用S和T对φ做变换得MQ方程组:
Figure BSA00000499351500275
⑧公钥PK=(Fq,ρ),私钥SK=(A,B,C,SL,SC,TL)
(II)加密部分
①取得消息接收方的公钥PK=(Fq,ρ)
②用PK对明文
Figure BSA00000499351500276
加密: C V = [ &rho; 1 ( V ) , . . . , &rho; 2 n ( V ) ] &Element; F q 2 n \ { 0 }
③用某种单向散列函数H计算明文V的指纹:dV=H(V)
④将(H,CV,dV)发送给消息接收方
(III)解密部分
设消息接收方收到的消息为(H,CV,dV),则其以自己的私钥SK=(A,B,C,SL,SC,TL)对消息进行解密的步骤如下:
①计算 t &RightArrow; = T L - 1 C V &Element; F q 2 n \ { 0 } , 得到矩阵 t &Element; F q n &times; 2 \ { 0 }
②由(A,C,t)联立方程组E(A,C,t):
Figure BSA00000499351500283
③对E(A,C,t)进行求解,并将其所有解置于集合Ω中
④若Ω=Φ,则算法结束,并返回“解密失败”
⑤任取E(A,C,t)的一组解(x,z)∈Ω
⑥置Ω=Ω\{(x,z)}
⑦若 b &prime; = ( &Sigma; k = 1 n z k C k ) &NotElement; GL n ( F q ) , 则转④
⑧用高斯消元法对b′求逆得b=(b′)-1
⑨计算b关于B的坐标 y &Element; F q n \ { 0 } , 使 b = &Sigma; j = 1 n y j B j
⑩计算: V &prime; = v 1 &prime; . . . v 2 n &prime; = S L - 1 ( x y - S C ) = S L - 1 ( x 1 . . . x n y 1 . . . y n - S C )
Figure BSA00000499351500288
置d′=H(V′);
Figure BSA00000499351500289
若d′≠dV,则转④
Figure BSA000004993515002810
解密成功,返回解密出的明文V=V′,算法结束
4.5基于N-HFMS的其他实施方式
本发明所提出的N-HFMS公钥密码方案属于公钥密码的核心技术,以其为基础可实现各种具体的信息安全应用,比如消息的加密和解密、约定会话密钥、数字签名、安全协议等。具体应用时,首先为每个用户生成一对(公钥,私钥),其中公钥公开,并用于加密;私钥只能私人拥有,用于解密。
由于N-HFMS是非确定的,所以通常不将之直接用于对消息的加/解密,而是用于消息发送方和接收方之间的密钥约定,然后双方再利用所约定的会话密钥,使用对称加/解密的方法进行保密通信。例如,可按下面步骤具体实施:
①设置解密成功率的下界Δ(0.5<Δ<1)
②以Δ为输入调用N-HFMS密钥生成部分生成消息接收方Bob的(公钥,私钥)
③消息发送方Alice随机生成会话密钥
Figure BSA00000499351500291
并用Bob的公钥对(K1,K2)加密,然后将密文消息(C1,C2)发送给Bob
④由于Δ>0.5,所以按概率Bob至少能解密(K1,K2)之一
⑤若Bob不能解密(K1,K2)中的任何一个,则转③
⑥Bob任选一个解密后的Ki(i∈{1,2})作为会话密钥,并将i返回给Alice
⑦Alice和Bob以Ki为密钥,并使用某种对称密码算法进行保密通信
上述应用只是N-HFMS众多可能的应用模式的一种,由于N-HFMS方案在技术上属于公钥密码核心技术(正如RSA、ECC、ElGmal等一样),所以可以其为基础实现多种具体的安全应用,下面仅列出其最主要的应用领域:
(1)以N-HFMS技术为基础构建CA(Certificate Authentication)认证中心。用于为每个用户生成(公钥,私钥)、数字证书(可根据用途在证书中增加“解密成功率”项),并对用户的密钥以及数字证书进行管理
(2)以N-HFMS技术为基础实现密钥约定协议,用于消息发收双方约定密钥
(3)以N-HFMS技术为基础设计签名算法,用于对用户消息的签名和认证
(4)以N-HFMS技术为基础设计安全协议,用于支撑某些特定的安全应用。比如可根据数字证书中“解密成功率”的值Δ,实现与证书拥有者的成功概率为Δ的“不经意传输协议”
(5)以N-HFMS技术为基础实施PKI,用于对各种基于证书的安全应用提供基础支撑环境

Claims (8)

1.一种具有抵抗量子攻击潜力的非确定的公钥密码构造方法,其特征在于:是基于矩阵代数、向量空间理论、以及有限域上多变元二次方程组的难解性而设计的一种非确定的公钥密码实现方法,所实现的公钥密码的解密成功率不小于给定的下界Δ(0<Δ<1),该公钥密码主要由密钥生成、加密、解密三个部分组成,各部分具体实现如下:
(I)密钥生成部分
密钥生成部分用来产生一对(公钥,私钥)=(PK,SK),其具体步骤如下:
①由Δ的取值确定(Fq,n),其中Fq为基域,n为矩阵尺寸,所确定的(Fq,n)应尽量满足Δn(Fq)≥Δ
②随机选择满足如下约束条件的矩阵集合(A,B,C):
(1) A = { A 1 , . . . , A n } &Subset; F q 2 &times; n 线性无关
(2) B = { B 1 , . . . , B n } &Subset; F q n &times; n 线性无关、 C = { C 1 , . . . , C n } &Subset; F q n &times; n 线性无关,且:
Figure FSA00000499351400014
(3)VS(B)\{0}中非奇异矩阵所占的比例≥Δ
(4)Rank(A·B)=2n
③由(A,B)生成2n个关于变元x,
Figure FSA00000499351400015
的中心多项式φ={φ1(x,y),…,φ2n(x,y)}:
&phi; 1 ( x , y ) . . . &phi; 2 n ( x , y ) = [ A 1 B 1 &OverBar; . . . A 1 B n &OverBar; . . . A n B 1 &OverBar; . . . A n B n &OverBar; ] x 1 y 1 . . . x 1 y n . . . x n y 1 . . . x n y n
④任意选取线性变换S和T
⑤用S和T对φ做变换得到2n个关于变元
Figure FSA00000499351400017
的MQ多项式:
ρ=TοφοS={ρ1(v),…,ρ2n(v)}
⑥公钥PK=(Fq,ρ),私钥SK=(A,B,C,S,T)
(II)加密部分
加密部分供消息发送方使用,用来对明文
Figure FSA00000499351400018
进行加密,其具体步骤如下:
①取得消息接收方的公钥PK=(Fq,ρ)
②用PK对明文 V &Element; F q 2 n \ { 0 } 加密: C V = [ &rho; 1 ( V ) , . . . , &rho; 2 n ( V ) ] &Element; F q 2 n \ { 0 }
③用某种单向散列函数H计算明文V的指纹:dV=H(V)
④将(H,CV,dV)发送给消息接收方
(III)解密部分
解密部分供消息接收方使用,消息接收方以自己的私钥SK=(A,B,C,S,T)对消息进行解密。设消息接收方收到的消息为(H,CV,dV),则解密过程的具体步骤如下:
①对CV做T的逆变换: t &RightArrow; = T - 1 ( C V ) &Element; F q 2 n \ { 0 } , 得到矩阵 t &Element; F q 2 &times; n \ { 0 }
②由(A,C,t)联立出Fq上的2n元一次方程组E(A,C,t):
Figure FSA00000499351400025
③对E(A,C,t)进行求解,并将其所有非零解
Figure FSA00000499351400026
置于集合Ω中,其中 o = ( 0,0 ) &Element; F q n &times; F q n
④若Ω=Φ,则算法结束,并返回“解密失败”
⑤任取(x,z)∈Ω,并置Ω=Ω\{(x,z)}
⑥若x=0或 b &prime; = ( &Sigma; k = 1 n z k C k ) &NotElement; GL n ( F q ) , 则转④
⑦对b′求逆得b=(b′)-1
⑧计算b关于B的坐标 y &Element; F q n \ { 0 } , 使 b = &Sigma; j = 1 n y j B j
⑨对(x,y)做S的逆变换: V &prime; = S - 1 ( x , y ) &Element; F q 2 n
⑩计算d′=H(V′)
Figure FSA000004993514000212
若d′≠dV,则转④
解密成功,返回解密出的明文V=V′,算法结束。
2.如权利要求1所述的一种非确定的公钥密码构造方法,其特征在于:将权利要求1中的(I)和(III)部分替换为下面的(I)和(III)部分:
(I)密钥生成部分
密钥生成部分用来产生一对(公钥,私钥)=(PK,SK),其具体步骤如下:
①由Δ的取值确定(Fq,n),其中Fq为基域,n为矩阵尺寸,所确定的(Fq,n)应尽量满足Δn(Fq)≥Δ
②随机选择满足如下约束条件的矩阵集合(A,B,C):
(1) A = { A 0 , A 1 , . . . , A n } &Subset; F q 2 &times; n 线性无关
(2) B = { B 1 , . . . , B n } &Subset; F q n &times; n 线性无关、 C = { C 1 , . . . , C n } &Subset; F q n &times; n 线性无关,且:
(3)VS(B)\{0}中非奇异矩阵所占的比例≥Δ
(4)Rank({A1,…,an}·B)=2n
③由(A,B)生成2n个关于变元x,的中心多项式φ={φ1(x,y),…,φ2n(x,y)}:
&phi; 1 ( x , y ) . . . &phi; 2 n ( x , y ) = [ A 1 B 1 &OverBar; . . . A 1 B n &OverBar; . . . A n B 1 &OverBar; . . . A n B n &OverBar; ] x 1 y 1 . . . x 1 y n . . . x n y 1 . . . x n y n + [ A 0 B 1 &OverBar; . . . A 0 B n &OverBar; ] y 1 . . . y n
④任意选取仿射变换S和线性变换T
⑤用S和T对φ做变换得到2n个关于变元
Figure FSA00000499351400037
的MQ多项式:
ρ=TоφоS={ρ1(v),…,ρ2n(v)}
⑥公钥PK=(Fq,ρ),私钥SK=(A,B,C,S,T)
(III)解密部分
解密部分供消息接收方使用,消息接收方以自己的私钥SK=(A,B,C,S,T)对消息进行解密。设消息接收方收到的消息为(H,CV,dV),则解密过程的具体步骤如下:
①对CV做T的逆变换: t &RightArrow; = T - 1 ( C V ) &Element; F q 2 n \ { 0 } , 得到矩阵 t &Element; F q 2 &times; n \ { 0 }
②由(A,C,t)联立出Fq上的2n元一次方程组E(A,C,t):
Figure FSA000004993514000310
③对E(A,C,t)进行求解,并将其所有解
Figure FSA000004993514000311
置于集合Ω中
④若Ω=Φ,则算法结束,并返回“解密失败”
⑤任取(x,z)∈Ω,并置Ω=Ω\{(x,z)}
⑥若 b &prime; = ( &Sigma; k = 1 n z k C k ) &NotElement; GL n ( F q ) , 则转④
⑦对b′求逆得b=(b′)-1
⑧计算b关于B的坐标 y &Element; F q n \ { 0 } , 使 b = &Sigma; j = 1 n y j B j
⑨对(x,y)做S的逆变换: V &prime; = S - 1 ( x , y ) &Element; F q 2 n
⑩计算d′=H(V′)
若d′≠dV,则转④
Figure FSA00000499351400046
解密成功,返回解密出的明文V=V′,算法结束。
3.如权利要求1所述的一种非确定的公钥密码构造方法,其特征在于:将权利要求1中的(I)和(III)部分替换为下面的(I)和(III)部分:
(I)密钥生成部分
密钥生成部分用来产生一对(公钥,私钥)=(PK,SK),其具体步骤如下:
①由Δ的取值确定(Fq,n),其中Fq为基域,n为矩阵尺寸,所确定的(Fq,n)应尽量满足Δn(Fq)≥Δ
②随机选择满足如下约束条件的矩阵集合(A,B,C):
(1) A = { A 1 , . . . , A n } &Subset; F q 2 &times; n 线性无关
(2) B = { B 1 , . . . , B n } &Subset; F q n &times; n 线性无关、 C = { C 1 , . . . , C n } &Subset; F q n &times; n 线性无关,且:
(3)VS(B)\{0}中非奇异矩阵所占的比例≥Δ
(4)Rank(B·A)=2n
③由(A,B)生成2n个关于变元x,
Figure FSA000004993514000411
的中心多项式φ={φ1(x,y),…,φ2n(x,y)}:
&phi; 1 ( x , y ) . . . &phi; 2 n ( x , y ) = [ B 1 A 1 &OverBar; . . . B n A 1 &OverBar; . . . B 1 A n &OverBar; . . . B n A n &OverBar; ] x 1 y 1 . . . x 1 y n . . . x n y 1 . . . x n y n
④任意选取线性变换S和T
⑤用S和T对φ做变换得到2n个关于变元
Figure FSA00000499351400051
的MQ多项式:
ρ=TоφоS={ρ1(v),…,ρ2n(v)}
⑥公钥PK=(Fq,ρ),私钥SK=(A,B,C,S,T)
(III)解密部分
解密部分供消息接收方使用,消息接收方以自己的私钥SK=(A,B,C,S,T)对消息进行解密。设消息接收方收到的消息、为(H,CV,dV),则解密过程的具体步骤如下:
①对CV做T的逆变换: t &RightArrow; = T - 1 ( C V ) &Element; F q 2 n \ { 0 } , 得到矩阵 t &Element; F q 2 &times; n \ { 0 }
②由(A,C,t)联立出Fq上的2n元一次方程组E(A,C,t):
Figure FSA00000499351400054
③对E(A,C,t)进行求解,并将其所有非零解
Figure FSA00000499351400055
置于集合Ω中,其中 o = ( 0,0 ) &Element; F q n &times; F q n
④若Ω=Φ,则算法结束,并返回“解密失败”
⑤任取(x,z)∈Ω,并置Ω=Ω\{(x,z)}
⑥若x=0或 b &prime; = ( &Sigma; k = 1 n z k C k ) &NotElement; GL n ( F q ) , 则转④
⑦对b′求逆得b=(b′)-1
⑧计算b关于B的坐标 y &Element; F q n \ { 0 } , 使 b = &Sigma; j = 1 n y j B j
⑨对(x,y)做S的逆变换: V &prime; = S - 1 ( x , y ) &Element; F q 2 n
⑩计算d′=H(V′)
Figure FSA000004993514000511
若d′≠dV,则转④
解密成功,返回解密出的明文V=V′,算法结束。
4.如权利要求1所述的一种非确定的公钥密码构造方法,其特征在于:将权利要求1中的(I)和(III)部分替换为下面的(I)和(III)部分:
(I)密钥生成部分
密钥生成部分用来产生一对(公钥,私钥)=(PK,SK),其具体步骤如下:
①由Δ的取值确定(Fq,n),其中Fq为基域,n为矩阵尺寸,所确定的(Fq,n)应尽量满足Δn(Fq)≥Δ
②随机选择满足如下约束条件的矩阵集合(A,B,C):
(1) A = { A 0 , A 1 , . . . , A n } &Subset; F q 2 &times; n 线性无关
(2) B = { B 1 , . . . , B n } &Subset; F q n &times; n 线性无关、 C = { C 1 , . . . , C n } &Subset; F q n &times; n 线性无关,且:
Figure FSA00000499351400064
(3)VS(B)\{0}中非奇异矩阵所占的比例≥Δ
(4)Rank(B·{A1,…,An})=2n
③由(A,B)生成2n个关于变元x,的中心多项式φ={φ1(x,y),…,φ2n(x,y)}:
&phi; 1 ( x , y ) . . . &phi; 2 n ( x , y ) = [ B 1 A 1 &OverBar; . . . B n A 1 &OverBar; . . . B 1 A n &OverBar; . . . B n A n &OverBar; ] x 1 y 1 . . . x 1 y n . . . x n y 1 . . . x n y n + [ B 1 A 0 &OverBar; . . . B n A 0 &OverBar; ] y 1 . . . y n
④任意选取仿射变换S和线性变换T
⑤用S和T对φ做变换得到2n个关于变元
Figure FSA00000499351400067
的MQ多项式:
ρ=TоφоS={ρ1(v),…,ρ2n(v)}
⑥公钥PK=(Fq,ρ),私钥SK=(A,B,C,S,T)
(III)解密部分
解密部分供消息接收方使用,消息接收方以自己的私钥SK=(A,B,C,S,T)对消息进行解密。设消息接收方收到的消息为(H,CV,dV),则解密过程的具体步骤如下:
①对CV做T的逆变换: t &RightArrow; = T - 1 ( C V ) &Element; F q 2 n \ { 0 } , 得到矩阵 t &Element; F q 2 &times; n \ { 0 }
②由(A,C,t)联立出Fq上的2n元一次方程组E(A,C,t):
Figure FSA000004993514000610
③对E(A,C,t)进行求解,并将其所有解
Figure FSA000004993514000611
置于集合Ω中
④若Ω=Φ,则算法结束,并返回“解密失败”
⑤任取(x,z)∈Ω,并置Ω=Ω\{(x,z)}
⑥若 b &prime; = ( &Sigma; k = 1 n z k C k ) &NotElement; GL n ( F q ) , 则转④
⑦对b′求逆得b=(b′)-1
⑧计算b关于B的坐标 y &Element; F q n \ { 0 } , 使 b = &Sigma; j = 1 n y j B j
⑨对(x,y)做S的逆变换: V &prime; = S - 1 ( x , y ) &Element; F q 2 n
⑩计算d′=H(V′)
Figure FSA00000499351400075
若d′≠dV,则转④
解密成功,返回解密出的明文V=V′,算法结束
5.满足权利要求1中部分(I)之第②步约束条件的矩阵集合(A,B,C)的寻找方法,其特征在于首先寻找满足特定条件的矩阵集合(B,C),然后再随机寻找矩阵集合A,若(A,B,C)满足条件,则结束,否则重新进行此寻找过程,直到找到满足条件的(A,B,C)为止,具体步骤如下:
①随机选择满足RM=n的矩阵
Figure FSA00000499351400077
②求出M的特征多项式PM(x)
③对PM(x)进行因式分解
④由PM(x)的分解式计算出UM=ζ(PM(x))
⑤若 U M ( q n - 1 ) < &Delta; , 则转①
⑥任选Fq[M]关于Fq的一组基MB={M1,…,Mn}
⑦任选P,Q∈GLn(Fq),并按下面方法计算出矩阵集合(B,C):
B = P &CenterDot; M B &CenterDot; Q = { PM 1 Q , . . . , PM n Q } C = Q - 1 &CenterDot; M B &CenterDot; P - 1 = { Q - 1 M 1 P - 1 , . . . , Q - 1 M n P - 1 }
⑧随机选择矩阵集合 A = { A 1 , . . . , A n } &Subset; F q n &times; 2
⑨若Rank(A)≠n,则转⑧
⑩若Rank(A·B)≠2n,则转①
Figure FSA000004993514000711
(A,B,C)即为所求。
6.满足权利要求2中部分(I)之第②步约束条件的矩阵集合(A,B,C)的寻找方法,其特征在于首先寻找满足特定条件的矩阵集合(B,C),然后再随机寻找矩阵集合A,若(A,B,C)满足条件,则结束,否则重新进行此寻找过程,直到找到满足条件的(A,B,C)为止,具体步骤如下:
①随机选择满足RM=n的矩阵
Figure FSA00000499351400081
②求出M的特征多项式PM(x)
③对PM(x)进行因式分解
④由PM(x)的分解式计算出UM=ζ(PM(x))
⑤若 U M ( q n - 1 ) < &Delta; , 则转①
⑥任选Fq[M]关于Fq的一组基MB={M1,…,Mn}
⑦任选P,Q∈GLn(Fq),并按下面方法计算出矩阵集合(B,C):
B = P &CenterDot; M B &CenterDot; Q = { PM 1 Q , . . . , PM n Q } C = Q - 1 &CenterDot; M B &CenterDot; P - 1 = { Q - 1 M 1 P - 1 , . . . , Q - 1 M n P - 1 }
⑧随机选择矩阵集合 A = { A 0 , A 1 , . . . , A n } &Subset; F q n &times; 2
⑨若Rank(A)≠n+1,则转⑧
⑩若Rank({A1,…,An}·B)≠2n,则转①
Figure FSA00000499351400085
(A,B,C)即为所求。
7.满足权利要求3中部分(I)之第②步约束条件的矩阵集合(A,B,C)的寻找方法,其特征在于首先寻找满足特定条件的矩阵集合(B,C),然后再随机寻找矩阵集合A,若(A,B,C)满足条件,则结束,否则重新进行此寻找过程,直到找到满足条件的(A,B,C)为止,具体步骤如下:
①随机选择满足RM=n的矩阵
Figure FSA00000499351400086
②求出M的特征多项式PM(x)
③对PM(x)进行因式分解
④由PM(x)的分解式计算出UM=ζ(PM(x))
⑤若 U M ( q n - 1 ) < &Delta; , 则转①
⑥任选Fq[M]关于Fq的一组基MB={M1,…,Mn}
⑦任选P,Q∈GLn(Fq),并按下面方法计算出矩阵集合(B,C):
B = P &CenterDot; M B &CenterDot; Q = { PM 1 Q , . . . , PM n Q } C = Q - 1 &CenterDot; M B &CenterDot; P - 1 = { Q - 1 M 1 P - 1 , . . . , Q - 1 M n P - 1 }
⑧随机选择矩阵集合 A = { A 1 , . . . , A n } &Subset; F q n &times; 2
⑨若Rank(A)≠n,则转⑧
⑩若Rank(B·A)≠2n,则转①
Figure FSA00000499351400093
(A,B,C)即为所求。
8.满足权利要求4中部分(I)之第②步约束条件的矩阵集合(A,B,C)的寻找方法,其特征在于首先寻找满足特定条件的矩阵集合(B,C),然后再随机寻找矩阵集合A,若(A,B,C)满足条件,则结束,否则重新进行此寻找过程,直到找到满足条件的(A,B,C)为止,具体步骤如下:
①随机选择满足RM=n的矩阵
②求出M的特征多项式PM(x)
③对PM(x)进行因式分解
④由PM(x)的分解式计算出UM=ζ(PM(x))
⑤若 U M ( q n - 1 ) < &Delta; , 则转①
⑥任选Fq[M]关于Fq的一组基MB={M1,…,Mn}
⑦任选P,Q∈GLn(Fq),并按下面方法计算出矩阵集合(B,C):
B = P &CenterDot; M B &CenterDot; Q = { PM 1 Q , . . . , PM n Q } C = Q - 1 &CenterDot; M B &CenterDot; P - 1 = { Q - 1 M 1 P - 1 , . . . , Q - 1 M n P - 1 }
⑧随机选择矩阵集合 A = { A 0 , A 1 , . . . , A n } &Subset; F q n &times; 2
⑨若Rank(A)≠n+1,则转⑧
⑩若Rank(B·{A1,…,An})≠2n,则转①
Figure FSA00000499351400098
(A,B,C)即为所求。
CN2011101301430A 2011-05-19 2011-05-19 抗量子攻击的非确定的公钥密码构造方法 Pending CN102164032A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011101301430A CN102164032A (zh) 2011-05-19 2011-05-19 抗量子攻击的非确定的公钥密码构造方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011101301430A CN102164032A (zh) 2011-05-19 2011-05-19 抗量子攻击的非确定的公钥密码构造方法

Publications (1)

Publication Number Publication Date
CN102164032A true CN102164032A (zh) 2011-08-24

Family

ID=44465024

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011101301430A Pending CN102164032A (zh) 2011-05-19 2011-05-19 抗量子攻击的非确定的公钥密码构造方法

Country Status (1)

Country Link
CN (1) CN102164032A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103312498A (zh) * 2013-06-20 2013-09-18 武汉大学 一种抗量子计算的公钥密码方法
CN105393488A (zh) * 2013-12-04 2016-03-09 王威鉴 建立抗量子计算攻击的公钥密码的方法
CN108475307A (zh) * 2015-11-13 2018-08-31 徽章公司 公/私钥生物特征认证系统
CN112087428A (zh) * 2020-08-06 2020-12-15 如般量子科技有限公司 一种基于数字证书的抗量子计算身份认证系统及方法
CN113315628A (zh) * 2021-04-09 2021-08-27 中国科学院信息工程研究所 密钥封装方法、装置、设备及存储介质
CN115578088A (zh) * 2022-10-14 2023-01-06 深圳职业技术学院 一种基于后量子密码的高效区块链支付系统
RU2809528C2 (ru) * 2022-02-24 2023-12-12 Федеральное государственное бюджетное учреждение науки "Санкт-Петербургский Федеральный исследовательский центр Российской академии наук" (СПб ФИЦ РАН) Постквантовый способ формирования и проверки подлинности электронной цифровой подписи, заверяющей электронный документ

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090010428A1 (en) * 2007-07-08 2009-01-08 Farshid Delgosha Asymmetric cryptosystem employing paraunitary matrices
CN101783728A (zh) * 2009-01-19 2010-07-21 赵永哲 隐藏域上遍历矩阵的公钥加密方法
CN102025489A (zh) * 2009-09-11 2011-04-20 吉林大学 隐藏域上遍历矩阵的公钥加密改进方法及签名方案

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090010428A1 (en) * 2007-07-08 2009-01-08 Farshid Delgosha Asymmetric cryptosystem employing paraunitary matrices
CN101783728A (zh) * 2009-01-19 2010-07-21 赵永哲 隐藏域上遍历矩阵的公钥加密方法
CN102025489A (zh) * 2009-09-11 2011-04-20 吉林大学 隐藏域上遍历矩阵的公钥加密改进方法及签名方案

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103312498A (zh) * 2013-06-20 2013-09-18 武汉大学 一种抗量子计算的公钥密码方法
CN103312498B (zh) * 2013-06-20 2016-01-27 武汉大学 一种抗量子计算的公钥密码方法
CN105393488A (zh) * 2013-12-04 2016-03-09 王威鉴 建立抗量子计算攻击的公钥密码的方法
CN105393488B (zh) * 2013-12-04 2019-07-09 王威鉴 建立抗量子计算攻击的公钥密码的方法
CN108475307A (zh) * 2015-11-13 2018-08-31 徽章公司 公/私钥生物特征认证系统
CN112087428A (zh) * 2020-08-06 2020-12-15 如般量子科技有限公司 一种基于数字证书的抗量子计算身份认证系统及方法
CN112087428B (zh) * 2020-08-06 2022-10-04 如般量子科技有限公司 一种基于数字证书的抗量子计算身份认证系统及方法
CN113315628A (zh) * 2021-04-09 2021-08-27 中国科学院信息工程研究所 密钥封装方法、装置、设备及存储介质
RU2809528C2 (ru) * 2022-02-24 2023-12-12 Федеральное государственное бюджетное учреждение науки "Санкт-Петербургский Федеральный исследовательский центр Российской академии наук" (СПб ФИЦ РАН) Постквантовый способ формирования и проверки подлинности электронной цифровой подписи, заверяющей электронный документ
CN115578088A (zh) * 2022-10-14 2023-01-06 深圳职业技术学院 一种基于后量子密码的高效区块链支付系统

Similar Documents

Publication Publication Date Title
CN101374043B (zh) 密钥协商的方法、加/解密的方法及签名/验证的方法
WO2009143713A1 (zh) 双因子组合公钥生成和认证方法
CN105933102A (zh) 利用隐秘矩阵构造的基于身份的全同态加密方法
CN102164032A (zh) 抗量子攻击的非确定的公钥密码构造方法
CN109547209A (zh) 一种两方sm2数字签名生成方法
Han et al. Accountable mobile E-commerce scheme via identity-based plaintext-checkable encryption
CN103746811A (zh) 从身份公钥系统到证书公钥系统的匿名签密方法
CN115801224B (zh) 一种云计算环境中支持浮点数运算的全同态加密方法
Shi et al. Quantum deniable authentication protocol
Xie et al. Scalable revocable identity-based signature over lattices in the standard model
CN113141247A (zh) 一种同态加密方法、装置、系统及可读存储介质
CN101783728B (zh) 隐藏域上遍历矩阵的公钥加密方法
CN103812658B (zh) 一种基于流密码的安全通信协议
Liu et al. Multi-authority ciphertext policy attribute-based encryption scheme on ideal lattices
CN102025489A (zh) 隐藏域上遍历矩阵的公钥加密改进方法及签名方案
CN103746810A (zh) 从证书公钥系统到身份公钥系统的匿名签密方法
Phuong et al. Efficient hidden vector encryption with constant-size ciphertext
Kim et al. Remark on Shao et al.'s Bidirectional Proxy Re-signature Scheme in Indocrypt'07.
Nayak Signcryption schemes based on elliptic curve cryptography
Prajapat et al. Designing high-performance identity-based quantum signature protocol with strong security
Zhao et al. Dual-server certificateless public key encryption with authorized equality test for outsourced IoT data
Xin et al. Identity-based quantum signature based on Bell states
Murugan An efficient algorithm on quantum computing with quantum key distribution for secure communication
Sailada et al. Crystal dilithium algorithm for post quantum cryptography: experimentation and Usecase for eSign
Dent A brief history of provably-secure public-key encryption

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110824