本發(fā)明涉及抗量子密碼和隱私保護(hù)密碼,尤其涉及一種基于模格的非集合成員屬性零知識(shí)證明方法。
背景技術(shù):
1、非集合成員屬性的零知識(shí)證明允許證明端向驗(yàn)證端證明它知道一個(gè)秘密元素不屬于一個(gè)給定的(公開(kāi)或不公開(kāi))集合,同時(shí)不泄漏任何額外的有用信息,可用于匿名身份認(rèn)證、電子投票、群簽名和群加密等隱私保護(hù)的密碼技術(shù)。目前已有許多基于不同困難假設(shè)的方案被提出。李江濤等人在強(qiáng)的大整數(shù)分解困難假設(shè)下構(gòu)建了通用聚合器,進(jìn)而提出了基于聚合器的非集合成員屬性證明方法,該方案需要一個(gè)可信方來(lái)維護(hù)聚合器,系統(tǒng)的安全性依賴于可信方的誠(chéng)實(shí)性。宋曉東基于大整數(shù)分解困難和確定性離散對(duì)數(shù)假設(shè)提出了通過(guò)發(fā)布一些元素來(lái)檢查黑名單的證明方法。劉玉定等人在大整數(shù)分解困難假設(shè)下提出了基于身份的陷門(mén)水銀承諾,繼而構(gòu)建了零知識(shí)集合,實(shí)現(xiàn)了對(duì)成員屬性“是”或“否”的證明。朱怡瀟利用屬性隱藏的內(nèi)積加密算法提出了隱私保護(hù)的集合成員證明方法,能夠不經(jīng)意地證明成員和非成員屬性。殷紅建提出了一種基于強(qiáng)離散對(duì)數(shù)假設(shè)的面向區(qū)塊鏈智能合約成員身份認(rèn)證的對(duì)偶集合成員關(guān)系零知識(shí)證明方法。易龍楊等人使用基于離散對(duì)數(shù)的集合成員零知識(shí)證明技術(shù)提出了隱私保護(hù)的跨鏈交易驗(yàn)證方法。
2、然而,這些方案都基于數(shù)論假設(shè)進(jìn)行設(shè)計(jì),安全性在未來(lái)量子計(jì)算的環(huán)境下將變得異常脆弱。為此,閆迪等人進(jìn)行了相關(guān)的技術(shù)探索,利用多中選一的思想提出了基于二元最短向量問(wèn)題(編碼問(wèn)題的一種)的集合成員屬性證明,但該方法效率不高而且僅支持集合成員屬性證明。此外,從設(shè)計(jì)原理上說(shuō),結(jié)合抗量子的聚合器和不等式的零知識(shí)證明技術(shù),可以設(shè)計(jì)出抗量子的非集合成員屬性的零知識(shí)證明。但國(guó)外現(xiàn)有的技術(shù)嘗試顯示,這種設(shè)計(jì)主要具有理論上的意義,方案效率不高;而且,方案安全性過(guò)度依賴于可信第三方的誠(chéng)實(shí)性,實(shí)際應(yīng)用難度大。因此,目前尚缺乏安全、高效的抗量子非集合成員屬性零知識(shí)證明方法。
3、格密碼是最有前途的后量子密碼體制,模格具有參數(shù)/密鑰尺寸小、運(yùn)行效率高等特點(diǎn),幾乎所基于格的后量子密碼標(biāo)準(zhǔn)候選算法都基于模格進(jìn)行設(shè)計(jì)。目前國(guó)外已有利用模格的結(jié)構(gòu)優(yōu)勢(shì)構(gòu)建關(guān)于簡(jiǎn)單的算術(shù)關(guān)系的實(shí)用的抗量子零知識(shí)證明方法的成功案例,但還沒(méi)有在非集合成員屬性證明方面的有效方法。
技術(shù)實(shí)現(xiàn)思路
1、基于此,有必要針對(duì)上述問(wèn)題,提出一種基于模格的非集合成員屬性零知識(shí)證明方法。
2、本發(fā)明實(shí)施例提供一種基于模格的非集合成員屬性零知識(shí)證明方法,該方法為:
3、給定集合s={x1,…,xk}和秘密元素x,確定證明任務(wù)為
4、在環(huán)上選取均勻隨機(jī)的矩陣b0和若干個(gè)向量生成承諾密鑰;
5、將集合s中的元素和秘密元素x編碼為多項(xiàng)式形式,建立目標(biāo)多項(xiàng)式f(x);
6、將證明任務(wù)等價(jià)轉(zhuǎn)化為在模格上驗(yàn)證多項(xiàng)式正確計(jì)算的形式;
7、證明端從系數(shù)為-1,0,1的均勻分布、離散高斯分布中隨機(jī)抽樣短向量,從截?cái)嗟沫h(huán)中隨機(jī)抽樣元素,生成第一階段的承諾,并確定對(duì)應(yīng)的盲化打開(kāi)值和第一多余項(xiàng);
8、驗(yàn)證端隨機(jī)抽樣第一挑戰(zhàn)信息;
9、所述證明端根據(jù)所述第一挑戰(zhàn)信息生成第二階段的承諾和第二多余項(xiàng);
10、所述驗(yàn)證端再次隨機(jī)抽樣第二挑戰(zhàn)信息;
11、所述證明端根據(jù)所述第二挑戰(zhàn)信息確定盲化向量和盲化元素;
12、所述驗(yàn)證端驗(yàn)證生成的向量是否滿足預(yù)設(shè)條件,并檢查一系列等式是否成立,若所有等式均成立,則接受證明,否則拒絕接受該證明。
13、上述方案中,所述在環(huán)上選取均勻隨機(jī)的矩陣b0和若干個(gè)向量構(gòu)成承諾密鑰,具體包括:選取均勻隨機(jī)的矩陣和d+δ+3個(gè)向量其中i=0,…,d+δ-1。
14、上述方案中,所述將集合s中的元素和秘密元素x編碼為多項(xiàng)式形式,建立目標(biāo)多項(xiàng)式f(x),具體包括:將所述集合s={s1,…,xk}和秘密元素x編碼成集合和元素建立目標(biāo)多項(xiàng)式
15、上述方案中,所述證明端從系數(shù)為-1,0,1的均勻分布、離散高斯分布中隨機(jī)抽樣短向量,從截?cái)嗟沫h(huán)中隨機(jī)抽樣元素,生成第一階段的承諾,并確定對(duì)應(yīng)的盲化打開(kāi)值和第一多余項(xiàng),具體包括:證明端選取均勻隨機(jī)的向量和元素確定對(duì)的承諾:接著,確定和第一多余項(xiàng)
16、上述方案中,所述驗(yàn)證端隨機(jī)抽樣第一挑戰(zhàn)信息,具體包括:所述驗(yàn)證端隨機(jī)抽樣
17、上述方案中,所述證明端根據(jù)所述第一挑戰(zhàn)信息生成第二階段的承諾和第二多余項(xiàng),具體包括:所述證明端確定對(duì)的承諾隨后,確定第二多余項(xiàng)
18、上述方案中,所述驗(yàn)證端再次隨機(jī)抽樣第二挑戰(zhàn)信息,具體包括:驗(yàn)證端隨機(jī)選取一個(gè)挑戰(zhàn)再均勻隨機(jī)選取一個(gè)挑戰(zhàn)
19、上述方案中,所述證明端根據(jù)所述第二挑戰(zhàn)信息確定用于盲化的向量和元素,具體包括:所述證明端使用確定盲化向量接著確定盲化值h=x′+c′x。
20、上述方案中,所述驗(yàn)證端驗(yàn)證生成的向量是否滿足預(yù)設(shè)條件,并檢查一系列等式是否成立,若所有等式均成立,則接受證明,否則拒絕接受該證明,具體包括:所述驗(yàn)證端驗(yàn)證是短的,即驗(yàn)證對(duì)i∈[0,d+δ-1],確定并驗(yàn)證是否下面的等式全部成立:
21、1)
22、2)
23、3)
24、4)
25、若至少有一個(gè)等式不成立,則所述驗(yàn)證端拒絕接受該證明;否則,所述驗(yàn)證端接受證明。
26、采用本發(fā)明實(shí)施例,具有如下有益效果:
27、本發(fā)明首次實(shí)現(xiàn)了基于格的非集合成員屬性零知識(shí)證明,采用不同于基于聚合器的設(shè)計(jì),具體地,使用多項(xiàng)式正確計(jì)算的證明方法,不需要任何可信的設(shè)置;同時(shí),在設(shè)計(jì)中巧妙地使用了ntru假設(shè),使得“證明秘密元素u≠0的問(wèn)題”轉(zhuǎn)化成“證明公開(kāi)元素u2=uu1≠0的問(wèn)題”,避免通過(guò)u值泄漏秘密輸入的任何額外信息,增強(qiáng)了方案的安全性,同時(shí)極大地簡(jiǎn)化了協(xié)議的設(shè)計(jì)。
1.一種基于模格的非集合成員屬性零知識(shí)證明方法,其特征在于,該方法為:
2.根據(jù)權(quán)利要求1所述的基于模格的非集合成員屬性零知識(shí)證明方法,其特征在于,所述在環(huán)上選取均勻隨機(jī)的矩陣b0和若干個(gè)向量構(gòu)成承諾密鑰,具體包括:選取均勻隨機(jī)的矩陣和d+δ+3個(gè)向量其中i=0,…,d+δ-1。
3.根據(jù)權(quán)利要求1或2所述的基于模格的非集合成員屬性零知識(shí)證明方法,其特征在于,所述將集合s中的元素和秘密元素x編碼為多項(xiàng)式形式,建立目標(biāo)多項(xiàng)式f(x),具體包括:將所述集合s={x1,…,xk}和秘密元素x編碼成集合和元素建立目標(biāo)多項(xiàng)式
4.根據(jù)權(quán)利要求3所述的基于模格的非集合成員屬性零知識(shí)證明方法,其特征在于,所述證明端從系數(shù)為-1,0,1的均勻分布、離散高斯分布中隨機(jī)抽樣短向量,從截?cái)嗟沫h(huán)中隨機(jī)抽樣元素,生成第一階段的承諾,并確定對(duì)應(yīng)的盲化打開(kāi)值和第一多余項(xiàng),具體包括:證明端選取均勻隨機(jī)的向量和元素確定對(duì)的承諾:接著,確定和第一多余項(xiàng)
5.根據(jù)權(quán)利要求4所述的基于模格的非集合成員屬性零知識(shí)證明方法,其特征在于,所述驗(yàn)證端隨機(jī)抽樣第一挑戰(zhàn)信息,具體包括:所述驗(yàn)證端隨機(jī)抽樣
6.根據(jù)權(quán)利要求5所述的基于模格的非集合成員屬性零知識(shí)證明方法,其特征在于,所述證明端根據(jù)所述第一挑戰(zhàn)信息生成第二階段的承諾和第二多余項(xiàng),具體包括:所述證明端確定對(duì)的承諾隨后,確定第二多余項(xiàng)
7.根據(jù)權(quán)利要求6所述的基于模格的非集合成員屬性零知識(shí)證明方法,其特征在于,所述驗(yàn)證端再次隨機(jī)抽樣第二挑戰(zhàn)信息,具體包括:驗(yàn)證端隨機(jī)選取一個(gè)挑戰(zhàn)再均勻隨機(jī)選取一個(gè)挑戰(zhàn)從
8.根據(jù)權(quán)利要求7所述的基于模格的非集合成員屬性零知識(shí)證明方法,其特征在于,所述證明端根據(jù)所述第二挑戰(zhàn)信息確定用于盲化的向量和元素,具體包括:所述證明端使用確定盲化向量接著確定盲化值h=x′+c′x。
9.根據(jù)權(quán)利要求8所述的基于模格的非集合成員屬性零知識(shí)證明方法,其特征在于,所述驗(yàn)證端驗(yàn)證生成的向量是否滿足預(yù)設(shè)條件,并檢查一系列等式是否成立,若所有等式均成立,則接受證明,否則拒絕接受,具體包括:所述驗(yàn)證端驗(yàn)證是短的,即驗(yàn)證對(duì)i∈[0,d+δ-1],確定并驗(yàn)證是否下面的等式全部成立: