一种基于MLWE和MSIS的可验证解密方法技术

技术编号:35140179 阅读:12 留言:0更新日期:2022-10-05 10:16
本发明专利技术为一种基于MLWE和MSIS的可验证解密方法,属于信息安全领域。该方法包含以下步骤:S1:设定可验证解密方法的相关参数;S2:根据安全参数生成密钥;S3:利用公钥对明文向量进行加密并公开;S4:验证者进行同态计算;S5:证明者利用私钥解密;S6证明者和验证者执行非交互式零知识证明。本发明专利技术改造具有零知识特性的数字签名方案Dilithium的无公钥压缩框架,为Kyber的IND

【技术实现步骤摘要】
一种基于MLWE和MSIS的可验证解密方法


[0001]本专利技术涉及一种基于MLWE和MSIS的可验证解密方法,属于信息安全领域,尤其适用于基于MLWE和MSIS的可验证解密。

技术介绍

[0002]考虑以下两方安全计算场景:持有私有秘密数据、互不信任的两方想就各自所拥有的数据进行合作计算但又不想泄露各自的数据。执行计算的一方用对方的公钥对两方的加密数据进行同态运算后得到同态密文。持有私钥的一方获取该同态密文后,利用私钥对密文解密得到计算结果,需要将计算结果提供给计算方并且以零知识的方式证明这个计算结果是同态密文所对应的明文。在这个场景中,解密的一方不仅需要给计算方提供解密结果,还需要提供对正确解密的零知识证明,这是一个可验证解密的问题。现实中可验证解密问题在医疗、工业、金融、政务等领域也很常见。例如,医院之间在不泄露病人个人隐私前提下进行医疗研究数据共享实现对某种疾病的预防;银行之间数据联合建模对用户进行信用风险评估等。
[0003]知识的零知识证明与同态加密两种技术的结合可以用来构造可验证解密方案。例如,Luo等人于2018年发表的“Verifiable decryption for fully homomorphic encryption”一文基于RLWE和RSIS问题,将为BGV方案提供可验证解密问题转变为形如As=0的线性关系,并将该线性关系与“Fiat

Shamir with Aborts”零知识证明技术进行结合,产生了一个几乎是“one shot”的可验证解密方案,但是这个方案也存在一些问题:首先,在BGV方案中,明文放在低位上,明文空间较小,加密效率和密文膨胀率有待进一步优化;其次,为了隐藏私钥,方案使用基于高斯分布的拒绝采样技术,但高斯分布的抽样容易受到侧信道攻击。Lyubashevsky等人于2021年发表的一文“Shorter lattice

based zero

knowledge proofs via one

time commitments”构造了满足Bs=t的三元秘密向量s知识的证明,其中就包括为Kyber构造的可验证解密方案,虽然该方案在对单个密文的证明上有优势,并且可以推广到其他一些基于格的密钥封装方案中,但产生的证明由对线性关系的证明、对短元素的证明和范围证明构成,较为复杂。因此,目前对基于格的后量子加密方案的正确解密还没有高效和简洁的零知识证明。

技术实现思路

[0004]有鉴于此,本专利技术的目的在于针对Kyber提供一个基于模容错学习问题(Module Learning With Errors,MLWE)和模小整数解问题(Module Short Integer Solution,MSIS)的可验证解密方法。具体地,将改造具有零知识特性的数字签名方案Dilithium的无公钥压缩框架,为Kyber的IND

CPA安全公钥加密方案解密的正确性构造非交互式零知识证明。该方法可以进一步应用在医疗研究数据共享、机构间合作进行模型训练等有隐私保护需求的现实场景中,有助于进一步打破数据孤岛、保障数据安全。
[0005]为达到上述目的,本专利技术提供如下技术方案:
[0006]一种基于MLWE和MSIS的可验证解密方法,由证明者和验证者两方参与进行实现,无需可信第三方参与,其中,为持有私钥的一方,为执行计算的一方,包括以下步骤:
[0007]S1:设定基于模容错学习问题(Module Learning With Errors,MLWE)和模小整数解问题(Module Short Integer Solution,MSIS)的可验证解密方法的相关参数:λ,n,q,k,d
u
,d
v
,d
h
,γ,η1,η2,τ,l;
[0008]其中,λ为安全参数,由预判敌手攻击次数小于等于2
λ
计算得出;n为多项式环的次数,为2的幂次;q为模数,满足q≡1 mod 2
·
n;k为向量维数,是根据安全参数λ选取的正整数;d
u
、d
v
分别对应调用Kyber的IND

CPA安全公钥加密方案产生的密文c=(u,v)压缩后的比特数;d
h
为压缩函数的参数,表示数据压缩后的比特数;γ为k+1维多项式向量y的系数界;η1为Kyber中私钥s、噪声向量e、随机向量r的系数界;η2为Kyber中密文噪声e1、e2的系数界;τ是挑战值h中含有
±
1的个数,根据安全参数λ、R
q
上多项式的次数n选取,需满足l为||(

s,1)
·
h||

的界,根据私钥s的系数界η1以及参数τ计算得出,||
·
||

为无穷范数;
[0009]S2:证明者调用Kyber的IND

CPA安全公钥加密方案中的密钥生成算法,生成公私钥对(pk,sk),证明者持有私钥并将公钥公开;
[0010]其中,Kyber的IND

CPA安全公钥加密方案可参考文献如下:
[0011]BOS J,DUCAS L,KILTZ E,et al.CRYSTALS

Kyber:a CCA

secure module

lattice

based KEM[C].In:2018 IEEE European Symposium on Security and Privacy(EuroS&P),2018:353

367.[DOI:10.1109/EuroSP.2018.00032][0012]S3:证明者和验证者调用Kyber的IND

CPA安全公钥加密方案中的加密算法,分别利用公钥对各自的明文向量进行加密,得到密文向量并公开;
[0013]S4:验证者对密文向量中的各个分量进行同态计算生成同态密文,完成同态计算后,利用自举刷新同态密文,并公开刷新后的同态密文
[0014]S5:证明者调用Kyber的IND

CPA安全公钥加密方案中的解密算法,利用私钥s对同态密文c进行解密,得到c对应的明文m=Compress
q
(v

s
T
u,1)∈R2;
[0015]其中,压缩函数定义为y=Compress
q
(x,d)=「(2
d
/q)
·
x」mod
+2d
;输入为d<「log2(q)」,输出为y∈{0,...,2
d

1},「.」表示四舍五入;mod
+
为取模运算符,设α为正整数,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于MLWE和MSIS的可验证解密方法,由证明者和验证者两方参与进行实现,无需可信第三方参与,其中,为持有私钥的一方,为执行计算的一方,其特征在于:该方法包含以下步骤:S1:设定MLWE和MSIS的可验证解密方法的相关参数:λ,n,q,k,d
u
,d
v
,d
h
,γ,η1,η2,τ,l;其中,λ为安全参数,由预判敌手攻击次数小于等于2
λ
计算得出;n为多项式环的次数,为2的幂次;q为模数,满足q≡1 mod 2
·
n;k为向量维数,是根据安全参数λ选取的正整数;d
u
、d
v
分别对应调用Kyber的IND

CPA安全公钥加密方案产生的密文c=(u,v)压缩后的比特数;d
h
为压缩函数的参数,表示数据压缩后的比特数;γ为k+1维多项式向量y的系数界;η1为Kyber中私钥s、噪声向量e、随机向量r的系数界;η2为Kyber中密文噪声e1、e2的系数界;τ是挑战值h中含有
±
1的个数,根据安全参数λ、R
q
上多项式的次数n选取,需满足l为||(

s,1)
·
h||

的界,根据私钥s的系数界η1以及参数τ计算得出,||
·
||

为无穷范数;S2:证明者调用Kyber的IND

CPA安全公钥加密方案中的密钥生成算法,生成公私钥对(pk,sk),证明者持有私钥并将公钥公开;S3:证明者和验证者调用Kyber的IND

CPA安全公钥加密方案中的加密算法,分别利用公钥对各自的明文向量进行加密,得到密文向量并公开;S4:验证者对密文向量中的各个分量进行同态计算生成同态密文,完成同态计算后,利用自举刷新同态密文,并公开刷新后的同态密文S5:证明者调用Kyber的IND

CPA安全公钥加密方案中的解密算法,利用私钥s对同态密文c进行解密,得到c对应的明文m=Compress
q
(v

s
T
u,1)∈R2;其中,压缩函数定义为y=Compress
q
(x,d)=「(2
d
/q)
·
x」mod
+2d
;输入为d<「log2(q)」,输出为y∈{0,...,2
d

1},表示四舍五入;mod
+
为取模运算符,设α为正整数,定义r

=r mod
+
α表示r

的取值范围是[0,α);S6:证明者构造明文0∈R2对应的Kyber密文向量随机选取系数界为γ的k+1维多项式向量y,取y的前k维生成向量S7:证明者首先对双方所持数据之间差异值的分布进行估计,以压缩函数的函数值出现跳变时对应的自变量取值点为中心,以截取的差异值的界为半径构造跳变区间,将所持数据c

T
·
y和处于跳变区间的系数下标分别保存于集合E1、E2中,并置零这些系数,然后通过散列函数计算挑战值h,随后计算应答值并且仅当||z||

<γ

l时才接受,否则回到步骤S6重新执行,将m、h、z、E1、E2进行连接整合成证明π=(m,h,z,E1,E2),并将该证明通过安全信道发送给验证者S8:验证者接收到证明π后,计算明文0∈R2对应的Kyber密文向量取应答值z的前k维作为向量再利用集合E1、E2中的系数下标将所持数据c

T
·
z、对应的系数分别置零并计算哈希值,然后将该哈希值与证明π中的挑战值h进行比较验证,同时验证||z||

,若计算的哈希值与证明π中的挑战值h不相等或者||z||

≥γ

l则验证失败,输出0表示拒绝,否则验证成功,输出1表示接受。2.根据权利要求1所述的一种基于MLWE和MSIS的可验证解密方法,其特征在于,步骤S2
由证明者执行,所述的步骤S2具体为:S201:在多项式环R
q
上随机选取k
×
k个多项式构成矩阵A,S202:从中心二项分布中均匀随机取样私钥与噪声,S203:计算t=As+e,输出公钥私钥其中,步骤S202所述的中心二项分布B
η
定义为:采样(a1,...,a
η
,b1,...,b
η
)

{0,1}

,输出若v∈R,v

β
η
表示采样v的每个系数服从分布B
η
,多项式环

表示随机采样操作。3.根据权利要求1所述的一种基于MLWE和MSIS的可验证解密方法,其特征在于,步骤S3所述的加密过程具体为:证明者和验证者调用Kyber的IND

CPA安全公钥加密方案中的加密算法Enc(pk,m
i
)对数据(m
i
)
1≤j≤t
中各自持有部分进行加密,其中t根据数据长度的不同会发生变化,得到密文并公开。4.根据权利要求1所述的一种基...

【专利技术属性】
技术研发人员:吴文渊郭春彤杨文强
申请(专利权)人:中国科学院重庆绿色智能技术研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1