<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

零知識證明驗證方法、裝置、終端及存儲介質與流程

文檔序號:34656497發布日期:2023-06-30 01:50閱讀:34391來源:國知局
零知識證明驗證方法、裝置、終端及存儲介質與流程

1.本技術涉及零知識技術領域,具體而言,涉及一種零知識證明驗證方法、裝置、終端及存儲介質。


背景技術:

2.零知識證明是一種非常有用的保護隱私的密碼學協議,使一種基于承諾的證明技術,證明者可以通過零知識證明向驗證者證明自己知道某知識的同時不泄露有關該知識本身的任何信息。通過零知識證明技術,能夠使得隱私交易信息在密文的情況下,完成交易信息的校驗過程。
3.目前,針對零知識證明一般采用rsa(即rivest-shamir-adleman,公鑰加密)生成密鑰,并通過密鑰對零知識證明進行驗證。
4.但是,采用rsa生成的密鑰的步驟復雜,會出現驗證零知識證明的效率低的問題。


技術實現要素:

5.本技術的主要目的在于提供一種零知識證明驗證方法、裝置、終端及存儲介質,以解決相關技術中存在效率低的問題。
6.為了實現上述目的,第一方面,本技術提供了一種零知識證明驗證方法方法,包括:
7.獲取n個承諾值,獲取n個承諾值在橢圓曲線上對應的n個系數;其中,所述n個承諾值與所述n個系數一一對應,n為大于1的整數;
8.基于n個系數和預設長度,確定n個系數對應的系數矩陣;
9.基于系數矩陣,確定更新后的m個列向量和m個列向量中的每個列向量對應的更新后的承諾值,其中,系數矩陣包括m個列向量,m為大于1的整數;
10.基于更新后的m個列向量和m個列向量中的每個列向量對應的更新后的承諾值,得到橢圓曲線多標量點乘結果;
11.基于橢圓曲線多標量點乘結果,生成證明結果,以通過證明結果驗證零知識證明正確與否。
12.在一種可能的實現方式中,基于n個系數和預設長度,確定系數矩陣,包括:
13.按照預設長度將n個系數中的每個系數進行分段,得到每個系數對應的系數序列;
14.對每個系數對應的系數序列進行匯總、排列,得到系數矩陣。
15.在一種可能的實現方式中,n個系數中的每個系數的長度相同且為第一預設長度;
16.按照預設長度將n個系數中的每個系數進行分段,得到每個系數對應的系數序列,包括:
17.針對n個系數中的每個系數,將第一預設長度的每個系數以第二預設長度進行平均分段,得到每個系數對應的系數序列,其中,系數序列包括m個向量,m個向量中的每個向量用于表征平均分段后的每段數據。
18.在一種可能的實現方式中,對每個系數對應的系數序列進行匯總、排列,得到系數矩陣,包括:
19.將每個系數對應的系數序列進行匯總,得到n個系數序列;
20.將n個系數序列進行縱向排列,得到系數矩陣,其中,系數矩陣為n行m列的矩陣。
21.在一種可能的實現方式中,基于系數矩陣,確定更新后的m個列向量和m個列向量中的每個列向量對應的更新后的承諾值,包括:
22.針對系數矩陣中的m個列向量中的每個列向量,統計每個列向量中的每個向量出現的次數,得到統計結果;
23.按照統計結果將每個列向量進行排序,得到更新后的每個列向量;
24.將更新后的每個列向量進行匯總,得到更新后的m個列向量;
25.基于系數矩陣和n個承諾值,確定m個列向量中的每個列向量對應的更新后的承諾值。
26.在一種可能的實現方式中,統計每個列向量中的每個向量出現的次數,得到統計結果,包括:
27.獲取初始索引計數表,其中,初始索引計數表中包括多個索引值,多個索引值中的任意兩個索引值不同;
28.針對每個列向量中的每個向量,若多個索引值中存在與每個向量相同的索引值;
29.將每個向量在每個列向量中出現的次數作為每個向量的計數值,并將計數值設置于初始索引計數表中,得到目標索引計數表,其中,目標索引計數表用于表征統計結果。
30.在一種可能的實現方式中,按照統計結果將每個列向量進行排序,得到更新后的每個列向量,包括:
31.針對每個列向量中的每個向量,按照每個向量的計數值對每個列向量進行排序,得到更新后的每個列向量。
32.在一種可能的實現方式中,系數矩陣中的m個列向量中的n個向量與n個承諾值一一對應;
33.基于系數矩陣和n個承諾值,確定m個列向量中的每個列向量對應的更新后的承諾值,包括:
34.針對系數矩陣中的m個列向量中的每個列向量,將每個列向量中的n個向量中相同的向量對應的承諾值進行相加,得到每個列向量對應的更新后的承諾值。
35.在一種可能的實現方式中,基于更新后的m個列向量和m個列向量中的每個列向量對應的更新后的承諾值,得到橢圓曲線多標量點乘結果,包括:
36.針對更新后的m個列向量中的每個列向量,利用第一預設函數將每個列向量以及每個列向量對應的更新后的承諾值進行計算,得到每個列向量對應的計算結果;
37.對每個列向量對應的計算結果進行匯總,得到m個列向量對應的m個計算結果,其中,m個列向量與m個計算結果一一對應;
38.利用第二預設算法對將m個計算結果進行計算,得到橢圓曲線多標量點乘結果。
39.第二方面,本發明實施例提供了一種零知識證明驗證裝置,包括:
40.獲取模塊,用于獲取n個承諾值和n個承諾值在橢圓曲線上對應的n個系數,其中,n個承諾值與n個系數一一對應,n為大于1的整數;
41.矩陣確定模塊,用于基于n個系數和預設長度,確定n個系數對應的系數矩陣;
42.更新模塊,用于基于系數矩陣,確定更新后的m個列向量和m個列向量中的每個列向量對應的更新后的承諾值,其中,系數矩陣包括m個列向量,m為大于1的整數;
43.計算模塊,用于基于更新后的m個列向量和m個列向量中的每個列向量對應的更新后的承諾值,得到橢圓曲線多標量點乘結果;
44.驗證模塊,用于基于橢圓曲線多標量點乘結果,生成證明結果,以通過證明結果驗證零知識證明正確與否。
45.第三方面,本發明實施例提供了一種終端,包括存儲器、處理器以及存儲在存儲器中并可在處理器上運行的計算機程序,處理器執行計算機程序時實現如上任一種零知識證明驗證方法的步驟。
46.第四方面,本發明實施例提供了一種計算機可讀存儲介質,計算機可讀存儲介質存儲有計算機程序,計算機程序被處理器執行時實現如上任一種零知識證明驗證方法的步驟。
附圖說明
47.構成本技術的一部分的附圖用來提供對本技術的進一步理解,使得本技術的其它特征、目的和優點變得更明顯。本技術的示意性實施例附圖及其說明用于解釋本技術,并不構成對本技術的不當限定。在附圖中:
48.圖1是本發明實施例提供的一種零知識證明驗證方法的實現流程圖;
49.圖2是本發明實施例提供的一種系數矩陣的示意圖;
50.圖3是本發明實施例提供的一種零知識證明驗證裝置的結構示意圖;
51.圖4是本發明實施例提供的終端的示意圖。
具體實施方式
52.為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
53.本發明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”、“第三”“第四”等(如果存在)是用于區別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數據在適當情況下可以互換,以便這里描述的本發明的實施例能夠以除了在這里圖示或描述的那些以外的順序實施。
54.應當理解,在本發明的各種實施例中,各過程的序號的大小并不意味著執行順序的先后,各過程的執行順序應以其功能和內在邏輯確定,而不應對本發明實施例的實施過程構成任何限定。
55.應當理解,在本發明中,“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統、產品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對于這些過程、方法、產品或設備固有的其它步驟或單元。
56.應當理解,在本發明中,“多個”是指兩個或兩個以上。“和/或”僅僅是一種描述關聯對象的關聯關系,表示可以存在三種關系,例如,和/或b,可以表示:單獨存在a,同時存在a和b,單獨存在b這三種情況。字符“/”一般表示前后關聯對象是一種“或”的關系。“包含a、b和c”、“包含a、b、c”是指a、b、c三者都包含,“包含a、b或c”是指包含a、b、c三者之一,“包含a、b和/或c”是指包含a、b、c三者中任1個或任2個或3個。
57.應當理解,在本發明中,“與a對應的b”、“與a相對應的b”、“a與b相對應”或者“b與a相對應”,表示b與a相關聯,根據a可以確定b。根據a確定b并不意味著僅僅根據a確定b,還可以根據a和/或其他信息確定b。a與b的匹配,是a與b的相似度大于或等于預設的閾值。
58.取決于語境,如在此所使用的“若”可以被解釋成為“在
……
時”或“當
……
時”或“響應于確定”或“響應于檢測”。
59.下面以具體地實施例對本發明的技術方案進行詳細說明。下面這幾個具體的實施例可以相互結合,對于相同或相似的概念或過程可能在某些實施例不再贅述。
60.為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖通過具體實施例來進行說明。
61.在一實施例中,如圖1所示,本發明提供了一種橢圓曲線多標量點乘計算優化方法,包括以下步驟:
62.步驟s101:獲取n個承諾值和所述n個承諾值在橢圓曲線上對應的n個系數。
63.其中,n個承諾值與n個系數一一對應,n為大于1的整數。n個承諾值用于表征橢圓曲線上的n個橢圓曲線點,其中,n個承諾值與橢圓曲線上的n個橢圓曲線點一一對應。
64.設橢圓曲線上有n個橢圓曲線點,分別為p1,p2,...pn,其中,每個橢圓曲線點均對應一個系數,設n個橢圓曲線點對應的n個系數為k1,k2,...kn。也就是說,橢圓曲線點p1對應系數k1,橢圓曲線點p2對應系數k2,...,橢圓曲線點pn對應系數kn。
65.步驟s102:基于n個系數和預設長度,確定n個系數對應的系數矩陣。
66.基于n個系數和預設長度,確定系數矩陣,需要先按照預設長度將n個系數中的每個系數進行分段,得到每個系數對應的系數序列,然后對每個系數對應的系數序列進行匯總、排列,得到系數矩陣。
67.其中,n個系數中的每個系數的長度相同且為第一預設長度。即系數k1系數k2,...以及系數kn的長度均相同且為第一預設長度,其中,第一預設長度根據具體情況設定,此處不作限定。
68.按照預設長度將n個系數中的每個系數進行分段,得到每個系數對應的系數序列,需要針對n個系數中的每個系數,將第一預設長度的每個系數以第二預設長度進行平均分段,得到每個系數對應的系數序列,其中,系數序列包括m個向量,m個向量中的每個向量用于表征平均分段后的每段數據,m為大于1的整數。
69.通過對承諾值對應的系數進行分段處理,可以提高證明者在獲得承諾值后,得到證明結果的效率。
70.示例性地,設第一預設長度為k,第二預設長度為w,那么將每個系數以第二預設長度w進行平均分段,則有m=k/w段,每段的取值范圍為0-m,其中,m=2
w-1,w為比特數,m為十進制數。例如,w為8個比特,則其十進制數值范圍為0-255,m為255。
71.以系數k1為例,通過上述方式將系數k1進行分段,得到系數k1對應的系數序列為:
k1seg1,k1seg2,...,k1segm。相對應地,系數k2對應的系數序列為:k2seg1,k2seg2,...,k2segm,...,系數kn對應的系數序列為:knseg1,knseg2,...,knsegm。
72.當得到每個系數對應的系數序列后,可對每個系數對應的系數序列進行匯總、排列,得到系數矩陣,具體的,先將每個系數對應的系數序列進行匯總,得到n個系數序列,然后將n個系數序列進行縱向排列,得到系數矩陣,其中,系數矩陣為n行m列的矩陣。
73.示例性地,將上述實施例中得到的系數k1對應的系數序列:k1seg1,k1seg2,...,k1segm。相對應地,系數k2對應的系數序列:k2seg1,k2seg2,...,k2segm,...,系數kn對應的系數序列:knseg1,knseg2,...,knsegm進行縱向排列,得到系數矩陣得到如圖2所示的系數矩陣。
74.在上述系數矩陣中包括m個列向量,分別為:k1seg1,k2seg1,...,knseg1,k1seg2,k2seg2,...,knseg2,....,k1segm,k2segm,...,knsegm。
75.步驟s103:基于系數矩陣,確定更新后的m個列向量和m個列向量中的每個列向量對應的更新后的承諾值。
76.基于系數矩陣,確定更新后的m個列向量和m個列向量中的每個列向量對應的更新后的承諾值,需要先針對系數矩陣中的m個列向量中的每個列向量,統計每個列向量中的每個向量出現的次數,得到統計結果,然后按照統計結果將每個列向量進行排序,得到更新后的每個列向量,再將更新后的每個列向量進行匯總,得到更新后的m個列向量,最后基于系數矩陣和n個承諾值,確定m個列向量中的每個列向量對應的更新后的承諾值。其中,系數矩陣中的m個列向量中的n個向量與n個承諾值一一對應。
77.其中,統計每個列向量中的每個向量出現的次數,得到統計結果,需要先獲取初始索引計數表,其中,初始索引計數表中包括多個索引值,多個索引值中的任意兩個索引值不同,然后針對每個列向量中的每個向量,若多個索引值中存在與每個向量相同的索引值,再將每個向量在每個列向量中出現的次數作為每個向量的計數值,并將計數值設置于初始索引計數表中,得到目標索引計數表,其中,目標索引計數表用于表征統計結果。其中,索引計數表中的多個索引值按照索引值對應的序號排列。
78.示例性地,以列向量k1seg1,k2seg1,...,knseg1為例,k1seg1,k2seg1,...,knseg1對應的十進制值為0-9,那么將0-9作為初始索引計數表中的索引值,遍歷列向量k1seg1,k2seg1,...,knseg1中的每一個向量,若列向量k1seg1,k2seg1,...,knseg1中存在一個與某個索引值相同的向量,則次此引值對應的計數值處+1,存在兩個與此索引值相同的向量,則在此索引值對應的計數值處再+1,以此類推,將列向量k1seg1,k2seg1,...,knseg1中與此索引值相同的向量出現的次數作為此索引值對應的計數值,其他索引值對應的計數值的確定方法與上述方法類似。當將列向量k1seg1,k2seg1,...,knseg1中的所有向量均統計至初始索引計數表中后,再遍歷其他列向量,將全部列向量均統計至初始索引計數表后,則得到目標索引計數表。
79.其中,按照統計結果將每個列向量進行排序,得到更新后的每個列向量,需要針對每個列向量中的每個向量,按照每個向量的計數值對每個列向量進行排序,得到更新后的每個列向量。
80.示例性地,當得到目標索引計數表后,需要對每個列向量中的每個向量進行重新排序,設列向量k1seg1,k2seg1,...,knseg1,目標索引計數表中統計了所有向量的計數值,可
按照計數值的大小將列向量k1seg1,k2seg1,...,knseg1重新排序,如將列向量k1seg1,k2seg1,...,knseg1重新排序,得到排序后的列向量。之后還需將排序后的列向量中相同的多個向量作為一個向量,即得到更新后的列向量c1seg1、c2seg1、
……
cxseg1,其中,x為小于等于n的整數。其他列向量也按照上述方法進行重新排序,則可得到更新后的每個列向量。
81.其中,基于系數矩陣和n個承諾值,確定m個列向量中的每個列向量對應的更新后的承諾值,需要針對系數矩陣中的m個列向量中的每個列向量,將每個列向量中的n個向量中相同的向量對應的承諾值進行相加,得到每個列向量對應的更新后的承諾值。
82.示例性地,設列向量k1seg1,k2seg1,...,knseg1,其對于排序后的列向量中相同的向量中的每個向量均對應不同的承諾值,即橢圓曲線點,需要將相同向量對應的不同的橢圓曲線點相加,則得到更新后的橢圓曲線點r1,r2,...,rx。其他列向量也按照上述方法更新其對應的橢圓曲線點,得到每個列向量對應的更新后的橢圓曲線點。
83.本發明通過設置索引表,在不用改動原始數據的地址,只需對系數的地址進行偏移量計算,快速對承諾值的系數進行排序,降低了運算量、提高了計算效率,使其在硬件中容易實現。
84.步驟s104:基于更新后的m個列向量和m個列向量中的每個列向量對應的更新后的承諾值,得到橢圓曲線多標量點乘結果。
85.基于更新后的m個列向量和m個列向量中的每個列向量對應的更新后的承諾值,得到橢圓曲線多標量點乘結果,需要先針對更新后的m個列向量中的每個列向量,利用第一預設函數將每個列向量以及每個列向量對應的更新后的承諾值進行計算,得到每個列向量對應的計算結果,然后對每個列向量對應的計算結果進行匯總,得到m個列向量對應的m個計算結果,其中,m個列向量與m個計算結果一一對應,再利用第二預設算法對將m個計算結果進行計算,得到橢圓曲線多標量點乘結果。
86.示例性地,當得到更新后的m個列向量和m個列向量中的每個列向量對應的更新后的承諾值后,需要計算每列的計算結果。設更新后的m個列向量中的第一列向量對應的計算結果,即將第一列向量中的每個向量與每個向量處于同一位置的承諾值,即橢圓曲線點進行乘法計算,之后將所有乘法計算的值進行和計算,得到第一列向量對應的計算結果,seg1列(即第一列向量)的計算結果qseg1=c1*seg1r1+c2*seg1r2+...+cx*seg1rx。同理計算第二列向量的計算結果qseg2,...,第x列向量的計算結果qsegx。
87.當計算完所有的列向量的計算結果后,將所有列向量的計算結果按照如下公式進行計算,得到橢圓曲線多標量點乘結果q,計算公式如下:
88.q=((qseg1*2m+qseg2)2m+qseg3)2m+...=qseg1*2
l-m
+qseg2*2
l-89.2m
+...+qsegx
90.其中,l為每列向量中的每個向量的長度,m為每列向量中的每個向量的長度的取值范圍。
91.步驟s105:基于橢圓曲線多標量點乘結果,生成證明結果,以通過證明結果驗證零知識證明正確與否。
92.其中,零知識證明至少包括橢圓曲線多標量點乘結果。
93.當通過上述實施例計算出橢圓曲線多標量點乘結果后,可基于橢圓曲線多標量點
乘結果,生成的證明結果對零知識證明的驗證效果更佳,可提高零知識證明驗證的準確性。
94.本發明實施例提供了一種零知識證明驗證方法,包括:先獲取獲取n個承諾值和所述n個承諾值在橢圓曲線上對應的n個系數,然后基于n個系數和預設長度,確定n個系數對應的系數矩陣,再基于系數矩陣,確定更新后的m個列向量和m個列向量中的每個列向量對應的更新后的承諾值,進一步基于更新后的m個列向量和m個列向量中的每個列向量對應的更新后的承諾值,得到橢圓曲線多標量點乘結果,最后基于橢圓曲線多標量點乘結果,生成證明結果,以通過證明結果驗證零知識證明正確與否。本發明通過采用橢圓曲線加密算法,快速地計算出證明結果,降低了運算量、提高了計算效率,此外,本發明還通過計算得出的證明結果對零知識證明進行驗證,可提高零知識證明的準確性以及效率。
95.應理解,上述實施例中各步驟的序號的大小并不意味著執行順序的先后,各過程的執行順序應以其功能和內在邏輯確定,而不應對本發明實施例的實施過程構成任何限定。
96.以下為本發明的裝置實施例,對于其中未詳盡描述的細節,可以參考上述對應的方法實施例。
97.圖3示出了本發明實施例提供的一種零知識證明驗證裝置的結構示意圖,為了便于說明,僅示出了與本發明實施例相關的部分,一種零知識證明驗證裝置包括獲取模塊31、矩陣確定模塊32、更新模塊33、計算模塊34和驗證模塊35,具體如下:
98.獲取模塊31,用于獲取n個承諾值和所述n個承諾值在橢圓曲線上對應的n個系數,其中,n個承諾值與n個系數一一對應,n為大于1的整數;
99.矩陣確定模塊32,用于基于n個系數和預設長度,確定n個系數對應的系數矩陣;
100.更新模塊33,用于基于系數矩陣,確定更新后的m個列向量和m個列向量中的每個列向量對應的更新后的承諾值,其中,系數矩陣包括m個列向量,m為大于1的整數;
101.計算模塊34,用于基于更新后的m個列向量和m個列向量中的每個列向量對應的更新后的承諾值,得到橢圓曲線多標量點乘結果;
102.驗證模塊35,用于基于橢圓曲線多標量點乘結果,生成證明結果,以通過證明結果驗證零知識證明正確與否。
103.在一種可能的實現方式中,矩陣確定模塊32還用于按照預設長度將n個系數中的每個系數進行分段,得到每個系數對應的系數序列;
104.對每個系數對應的系數序列進行匯總、排列,得到系數矩陣。
105.在一種可能的實現方式中,n個系數中的每個系數的長度相同且為第一預設長度;
106.矩陣確定模塊32還用于針對n個系數中的每個系數,將第一預設長度的每個系數以第二預設長度進行平均分段,得到每個系數對應的系數序列,其中,系數序列包括m個向量,m個向量中的每個向量用于表征平均分段后的每段數據。
107.在一種可能的實現方式中,矩陣確定模塊32還用于將每個系數對應的系數序列進行匯總,得到n個系數序列;
108.將n個系數序列進行縱向排列,得到系數矩陣,其中,系數矩陣為n行m列的矩陣。
109.在一種可能的實現方式中,更新模塊33還用于針對系數矩陣中的m個列向量中的每個列向量,統計每個列向量中的每個向量出現的次數,得到統計結果;
110.按照統計結果將每個列向量進行排序,得到更新后的每個列向量;
111.將更新后的每個列向量進行匯總,得到更新后的m個列向量;
112.基于系數矩陣和n個承諾值,確定m個列向量中的每個列向量對應的更新后的承諾值。
113.在一種可能的實現方式中,更新模塊33還用于獲取初始索引計數表,其中,初始索引計數表中包括多個索引值,多個索引值中的任意兩個索引值不同;
114.針對每個列向量中的每個向量,若多個索引值中存在與每個向量相同的索引值;
115.將每個向量在每個列向量中出現的次數作為每個向量的計數值,并將計數值設置于初始索引計數表中,得到目標索引計數表,其中,目標索引計數表用于表征統計結果。
116.在一種可能的實現方式中,更新模塊33還用于針對每個列向量中的每個向量,按照每個向量的計數值對每個列向量進行排序,得到更新后的每個列向量。
117.在一種可能的實現方式中,系數矩陣中的m個列向量中的n個向量與n個承諾值一一對應;
118.更新模塊33還用于針對系數矩陣中的m個列向量中的每個列向量,將每個列向量中的n個向量中相同的向量對應的承諾值進行相加,得到每個列向量對應的更新后的承諾值。
119.在一種可能的實現方式中,計算模塊34還用于針對更新后的m個列向量中的每個列向量,利用第一預設函數將每個列向量以及每個列向量對應的更新后的承諾值進行計算,得到每個列向量對應的計算結果;
120.對每個列向量對應的計算結果進行匯總,得到m個列向量對應的m個計算結果,其中,m個列向量與m個計算結果一一對應;
121.利用第二預設算法對將m個計算結果進行計算,得到橢圓曲線多標量點乘結果。
122.圖4是本發明實施例提供的終端的示意圖。如圖4所示,該實施例的終端4包括:處理器401、存儲器402以及存儲在存儲器402中并可在處理器401上運行的計算機程序403。處理器401執行計算機程序403時實現上述各個零知識證明驗證方法實施例中的步驟,例如圖1所示的步驟101至步驟104。或者,處理器401執行計算機程序403時實現上述各個零知識證明驗證裝置實施例中各模塊/單元的功能,例如圖3所示模塊/單元31至34的功能。
123.本發明還提供一種可讀存儲介質,可讀存儲介質中存儲有計算機程序,計算機程序被處理器執行時用于實現上述的各種實施方式提供的零知識證明驗證方法。
124.其中,可讀存儲介質可以是計算機存儲介質,也可以是通信介質。通信介質包括便于從一個地方向另一個地方傳送計算機程序的任何介質。計算機存儲介質可以是通用或專用計算機能夠存取的任何可用介質。例如,可讀存儲介質耦合至處理器,從而使處理器能夠從該可讀存儲介質讀取信息,且可向該可讀存儲介質寫入信息。當然,可讀存儲介質也可以是處理器的組成部分。處理器和可讀存儲介質可以位于專用集成電路(application specific integrated circuits,簡稱:asic)中。另外,該asic可以位于用戶設備中。當然,處理器和可讀存儲介質也可以作為分立組件存在于通信設備中。可讀存儲介質可以是只讀存儲器(rom)、隨機存取存儲器(ram)、cd-rom、磁帶、軟盤和光數據存儲設備等。
125.本發明還提供一種程序產品,該程序產品包括執行指令,該執行指令存儲在可讀存儲介質中。設備的至少一個處理器可以從可讀存儲介質讀取該執行指令,至少一個處理器執行該執行指令使得設備實施上述的各種實施方式提供的零知識證明驗證方法。
126.在上述設備的實施例中,應理解,處理器可以是中央處理單元(英文:central processing unit,簡稱:cpu),還可以是其他通用處理器、數字信號處理器(英文:digital signal processor,簡稱:dsp)、專用集成電路(英文:application specific integrated circuit,簡稱:asic)等。通用處理器可以是微處理器或者該處理器也可以是任何常規的處理器等。結合本發明所公開的方法的步驟可以直接體現為硬件處理器執行完成,或者用處理器中的硬件及軟件模塊組合執行完成。
127.以上實施例僅用以說明本發明的技術方案,而非對其限制;盡管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技術方案的精神和范圍。
當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影