欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

目錄

柚子快報(bào)邀請(qǐng)碼778899分享:基于代理的分布式身份管理方案

柚子快報(bào)邀請(qǐng)碼778899分享:基于代理的分布式身份管理方案

http://yzkb.51969.com/

目的是使用分布式的聯(lián)合計(jì)算分發(fā)去替換掉區(qū)塊鏈中原有的類第三方可信中心的證書機(jī)制,更加去中心化。

GS-TBK Group Signatures with Time-bound Keys.

CS-TBK 算法 Complete subtree With Time-bound Keys,該算法是用來(lái)輔助檢測(cè)用戶的簽名是否有效,是否在有效期內(nèi)。

一些基本定義 + $ T $:整個(gè)算法的最大的時(shí)間。 + $ BT $:一個(gè)完全二叉樹 + $ t $ :當(dāng)前的時(shí)間。 + $ \tau $:有效時(shí)間,如果$ \tau

算法概述 首先每個(gè)葉子節(jié)點(diǎn)代表一個(gè)時(shí)間$ t $,可以理解為一個(gè)節(jié)點(diǎn)就是一個(gè)時(shí)間段。

算法輸入是一個(gè)二叉樹$ BT

和當(dāng)前的時(shí)間

和當(dāng)前的時(shí)間

和當(dāng)前的時(shí)間 t

,首先定義了兩個(gè)空集合

,首先定義了兩個(gè)空集合

,首先定義了兩個(gè)空集合 X,Y

,選取

,選取

,選取 t-1

這個(gè)葉子節(jié)點(diǎn)(如果

這個(gè)葉子節(jié)點(diǎn)(如果

這個(gè)葉子節(jié)點(diǎn)(如果 t

是第一個(gè)節(jié)點(diǎn),那么就選取

是第一個(gè)節(jié)點(diǎn),那么就選取

是第一個(gè)節(jié)點(diǎn),那么就選取 t

這個(gè)節(jié)點(diǎn)),將對(duì)應(yīng)的

這個(gè)節(jié)點(diǎn)),將對(duì)應(yīng)的

這個(gè)節(jié)點(diǎn)),將對(duì)應(yīng)的 Path(\eta)

存到

存到

存到 X

中,然后對(duì)于每個(gè)

中,然后對(duì)于每個(gè)

中,然后對(duì)于每個(gè) X

中的節(jié)點(diǎn),將其不屬于

中的節(jié)點(diǎn),將其不屬于

中的節(jié)點(diǎn),將其不屬于 X

的右子節(jié)點(diǎn)存入

的右子節(jié)點(diǎn)存入

的右子節(jié)點(diǎn)存入 Y

中,如果

中,如果

中,如果 Y

為空,那么放入根節(jié)點(diǎn),最后輸出

為空,那么放入根節(jié)點(diǎn),最后輸出

為空,那么放入根節(jié)點(diǎn),最后輸出 Y $。

那么這個(gè)算法相當(dāng)于對(duì)于當(dāng)前的時(shí)間$ t

節(jié)點(diǎn),會(huì)存在一個(gè)集合

節(jié)點(diǎn),會(huì)存在一個(gè)集合

節(jié)點(diǎn),會(huì)存在一個(gè)集合 Y

,其中包括了不含

,其中包括了不含

,其中包括了不含 Path(\eta) $的右子樹節(jié)點(diǎn)。如下圖,

若葉子節(jié)點(diǎn)8為例,那么$ X=Path(8)={1,2,4,8}

,

,

, Y={1} $(第一個(gè)節(jié)點(diǎn))

若葉子節(jié)點(diǎn)10為例,那么$ X=Path(9)={1,2,4,9}

,

,

, Y={3,5} $

若葉子節(jié)點(diǎn)11為例,那么$ X=Path(10)={1,2,5,10}

,

, Y={3,11} $

若葉子節(jié)點(diǎn)12為例,那么$ X=Path(11)={1,2,5,11}

,

,

, Y={3} $

每個(gè)時(shí)間$ t

都將被分配到一個(gè)葉子節(jié)點(diǎn)(每個(gè)葉子節(jié)點(diǎn)代表一個(gè)時(shí)間),同樣一個(gè)有效時(shí)間

都將被分配到一個(gè)葉子節(jié)點(diǎn)(每個(gè)葉子節(jié)點(diǎn)代表一個(gè)時(shí)間),同樣一個(gè)有效時(shí)間

都將被分配到一個(gè)葉子節(jié)點(diǎn)(每個(gè)葉子節(jié)點(diǎn)代表一個(gè)時(shí)間),同樣一個(gè)有效時(shí)間 \tau

也會(huì)被分配到一個(gè)葉子節(jié)點(diǎn)。而一個(gè)用戶會(huì)被分配到一個(gè)有效期

也會(huì)被分配到一個(gè)葉子節(jié)點(diǎn)。而一個(gè)用戶會(huì)被分配到一個(gè)有效期

也會(huì)被分配到一個(gè)葉子節(jié)點(diǎn)。而一個(gè)用戶會(huì)被分配到一個(gè)有效期 \tau

。那么意味著,如果多個(gè)用戶的

。那么意味著,如果多個(gè)用戶的

。那么意味著,如果多個(gè)用戶的 \tau $是相同的話,那么他們將會(huì)同時(shí)被分配到同一個(gè)葉節(jié)點(diǎn)。

在GS-TBK的應(yīng)用-用戶撤銷管理 主要是管理用戶的撤銷。

$ GS-TBK

中所有的時(shí)間信息都交給一顆擁有最大數(shù)量

中所有的時(shí)間信息都交給一顆擁有最大數(shù)量

中所有的時(shí)間信息都交給一顆擁有最大數(shù)量 T

葉節(jié)點(diǎn)的二叉樹管理,有效期

葉節(jié)點(diǎn)的二叉樹管理,有效期

葉節(jié)點(diǎn)的二叉樹管理,有效期 \tau

和當(dāng)前時(shí)間

和當(dāng)前時(shí)間

和當(dāng)前時(shí)間 t $都會(huì)和一個(gè)葉子節(jié)點(diǎn)綁定在一起。

如果$ \tau

分配到了節(jié)點(diǎn)

分配到了節(jié)點(diǎn)

分配到了節(jié)點(diǎn) \eta

,那么管理員將生成包含所有

,那么管理員將生成包含所有

,那么管理員將生成包含所有 Path(\eta)

節(jié)點(diǎn)的簽名,這些簽名會(huì)發(fā)送給有效期是

節(jié)點(diǎn)的簽名,這些簽名會(huì)發(fā)送給有效期是

節(jié)點(diǎn)的簽名,這些簽名會(huì)發(fā)送給有效期是 \tau

的用戶(

B

T

W

,每個(gè)用戶拿到的是不一樣的,即便是同一個(gè)

的用戶(BTW,每個(gè)用戶拿到的是不一樣的,即便是同一個(gè)

的用戶(BTW,每個(gè)用戶拿到的是不一樣的,即便是同一個(gè) \tau $下的用戶,但都包含同樣的節(jié)點(diǎn)的信息)。

我們說(shuō),當(dāng)$ \tau

,那么代表和

,那么代表和

,那么代表和 \tau

綁定的所有用戶都被撤銷了,失效了,

i

.

e

.

,葉子節(jié)點(diǎn)左邊的葉子節(jié)點(diǎn)都被撤銷了,以右上圖的

綁定的所有用戶都被撤銷了,失效了,i.e.,葉子節(jié)點(diǎn)左邊的葉子節(jié)點(diǎn)都被撤銷了,以右上圖的

綁定的所有用戶都被撤銷了,失效了,i.e.,葉子節(jié)點(diǎn)左邊的葉子節(jié)點(diǎn)都被撤銷了,以右上圖的 12

節(jié)點(diǎn)為例,那么

節(jié)點(diǎn)為例,那么

節(jié)點(diǎn)為例,那么 8,9,10,12 $都被撤銷了。

接著管理員將生成$ CS-TBK

算法的輸出節(jié)點(diǎn)集合(也就是集合

算法的輸出節(jié)點(diǎn)集合(也就是集合

算法的輸出節(jié)點(diǎn)集合(也就是集合 Y

)的一系列簽名信息,并廣播,這些信息稱為

)的一系列簽名信息,并廣播,這些信息稱為

)的一系列簽名信息,并廣播,這些信息稱為 ei_t

(

E

x

p

i

r

e

I

n

f

o

r

m

a

t

i

o

n

)

,用于后續(xù)的用戶驗(yàn)證。如果

(Expire Information),用于后續(xù)的用戶驗(yàn)證。如果

(ExpireInformation),用于后續(xù)的用戶驗(yàn)證。如果 \tau>t

,那么相關(guān)聯(lián)的用戶前面拿到的簽名里應(yīng)該持有和

,那么相關(guān)聯(lián)的用戶前面拿到的簽名里應(yīng)該持有和

,那么相關(guān)聯(lián)的用戶前面拿到的簽名里應(yīng)該持有和 ei_t $中至少一個(gè)相同的節(jié)點(diǎn)的信息。那么如何檢測(cè)是否過(guò)期呢?

還是以上面的圖為例,假設(shè)$ \tau = 11 $,左邊的圖為用戶沒(méi)有過(guò)期,右邊的圖則為過(guò)期。

先看未過(guò)期的圖,首先假設(shè)$ T=10

,首先那么關(guān)聯(lián)到

11

節(jié)點(diǎn)的用戶將收到來(lái)自管理員的

,首先那么關(guān)聯(lián)到11節(jié)點(diǎn)的用戶將收到來(lái)自管理員的

,首先那么關(guān)聯(lián)到11節(jié)點(diǎn)的用戶將收到來(lái)自管理員的 Path(11)={1,2,5,11}

四個(gè)節(jié)點(diǎn)的簽名。在左邊圖里,當(dāng)前時(shí)間為

四個(gè)節(jié)點(diǎn)的簽名。在左邊圖里,當(dāng)前時(shí)間為

四個(gè)節(jié)點(diǎn)的簽名。在左邊圖里,當(dāng)前時(shí)間為 t=10

,所以

8

9

節(jié)點(diǎn)被自然撤銷了,根據(jù)

,所以8和9節(jié)點(diǎn)被自然撤銷了,根據(jù)

,所以8和9節(jié)點(diǎn)被自然撤銷了,根據(jù) CS-TBK

算法,

算法,

算法, 3、5

將被選擇為

將被選擇為

將被選擇為 Y

集合元素輸出,所以

集合元素輸出,所以

集合元素輸出,所以 ei_t

里會(huì)包括

里會(huì)包括

里會(huì)包括 3、5

的簽名信息。此時(shí),用戶自己持有節(jié)點(diǎn)

的簽名信息。此時(shí),用戶自己持有節(jié)點(diǎn)

的簽名信息。此時(shí),用戶自己持有節(jié)點(diǎn) 5 $的簽名即可證明自己的簽名有效,沒(méi)有過(guò)期。再看右邊的圖,當(dāng)前時(shí)間變?yōu)? t=12

,那么

,那么

,那么 ei_t

里將只包括節(jié)點(diǎn)

里將只包括節(jié)點(diǎn)

里將只包括節(jié)點(diǎn) 3

的簽名,而節(jié)點(diǎn)

的簽名,而節(jié)點(diǎn)

的簽名,而節(jié)點(diǎn) 11

關(guān)聯(lián)的用戶并不持有

關(guān)聯(lián)的用戶并不持有

關(guān)聯(lián)的用戶并不持有 3 $節(jié)點(diǎn)的簽名,故,用戶已經(jīng)被撤銷。

GS-TBK 方案

算法組成 1. $ GKeyGen(\lambda) $:輸入安全參數(shù),輸出群公鑰$ gpk $和私鑰$ msk $。設(shè)定一個(gè)注冊(cè)表$ reg $,最大有效期為$ T $(包含在gpk中)。 2. $ Join/Issue() $:用戶與管理員之間的交互算法,用于給新加入的用戶分發(fā)密鑰和設(shè)置有效期。 + $ Join(gpk) $:輸出用戶的簽名密鑰$ gsk_i $,有效期$ \tau_i $,用戶私鑰$ usk_i $。 + $ Issue(msk,reg,\tau_i) $:輸出$ reg $表,表中的每個(gè)元素都會(huì)存儲(chǔ)$ grt_i $ (revocation token) 和有效期$ \tau_i $即,$ reg[i]=(grt_i,\tau_i) $。 3. $ Revoke(gpk,msk,t,reg,RU_t) $:$ RU_t $代表將要被撤銷的用戶集合,$ RL_t $(revocation list),設(shè)定其為空集合,如果$ \tau_i $過(guò)期了被提前撤銷了,那么將對(duì)應(yīng)的$ grt_{i,t} $存儲(chǔ)到$ RL_t $中。然后算法計(jì)算$ ei_t $。最后輸出$ RL_t $和$ ei_t $。 4. $ Sign(gpk,gsk_i,usk_i,m,t,ei_t) $:$ m $代表待簽名的信息,最終輸出簽名$ \sigma $。 5. $ Verify(gpk,t,\sigma,m,RL_t) $:輸出 valid or invalid 。 6. $ Open(gpk,msk,t,reg,\sigma,m,RL_t) $:輸出用戶的身份。

撤銷方案 前面已經(jīng)簡(jiǎn)單提過(guò)一下,現(xiàn)在具體描述一下。撤銷主要分為自然撤銷和提前撤銷,前面描述的主要是自然撤銷的一思路。

首先時(shí)間管理還是根據(jù)一顆二叉樹,每一個(gè)節(jié)點(diǎn)都會(huì)跟一個(gè)域中的元素綁定,方便計(jì)算。

(這里不需要理解參數(shù)具體含義,知道有這個(gè)東西就好)

自然撤銷

假定$ Path(\eta)=(u_!,\dots,u_l),u_l=\eta $,集合中的每個(gè)元素都是一個(gè)節(jié)點(diǎn),它與一個(gè)域中的元素綁定在一起。

分發(fā)簽名:前面說(shuō)過(guò),在用戶分配到有效期$ \tau

之后,管理員會(huì)生成所有

之后,管理員會(huì)生成所有

之后,管理員會(huì)生成所有 Path(\eta)

節(jié)點(diǎn)的簽名并發(fā)送給用戶,這個(gè)簽名就是

節(jié)點(diǎn)的簽名并發(fā)送給用戶,這個(gè)簽名就是

節(jié)點(diǎn)的簽名并發(fā)送給用戶,這個(gè)簽名就是 gsk_i = \left(\left{\left(A_{j}, \xi_{j}, \zeta_{j}\right), u_{i}\right}_{j \in[1, \ell]}\right)

,

, Path(\eta)

中有多少個(gè)節(jié)點(diǎn)就會(huì)有多少個(gè)

中有多少個(gè)節(jié)點(diǎn)就會(huì)有多少個(gè)

中有多少個(gè)節(jié)點(diǎn)就會(huì)有多少個(gè) A_j

,每個(gè)

,每個(gè)

,每個(gè) A_j

都存儲(chǔ)了兩個(gè)重要信息,即節(jié)點(diǎn)

都存儲(chǔ)了兩個(gè)重要信息,即節(jié)點(diǎn)

都存儲(chǔ)了兩個(gè)重要信息,即節(jié)點(diǎn) u

和用戶自選的

和用戶自選的

和用戶自選的 x

(包含在

(包含在

(包含在 X $中)。分發(fā)過(guò)期信息:在到達(dá)一個(gè)當(dāng)前時(shí)間$ t

的時(shí)候,管理員會(huì)執(zhí)行

的時(shí)候,管理員會(huì)執(zhí)行

的時(shí)候,管理員會(huì)執(zhí)行 CS-TBK

,然后對(duì)結(jié)果計(jì)算簽名,也就是過(guò)期信息

,然后對(duì)結(jié)果計(jì)算簽名,也就是過(guò)期信息

,然后對(duì)結(jié)果計(jì)算簽名,也就是過(guò)期信息 ei_t

。假設(shè)

。假設(shè)

。假設(shè) CS-TBK

結(jié)果為

結(jié)果為

結(jié)果為 Y = (v_1,\dots,v_{num})

,那么計(jì)算的

,那么計(jì)算的

,那么計(jì)算的 ei_t = \left{\left(B_{i, t}, \xi_{i}^{\prime}, \zeta_{i}^{\prime}\right)\right}_{i \in[1, \text { num }]}

,同樣,

,同樣,

,同樣, Y

有多少個(gè)節(jié)點(diǎn)就會(huì)有多少個(gè)

有多少個(gè)節(jié)點(diǎn)就會(huì)有多少個(gè)

有多少個(gè)節(jié)點(diǎn)就會(huì)有多少個(gè) A_j

,每個(gè)

,每個(gè)

,每個(gè) A_j

都存儲(chǔ)了兩個(gè)重要信息,即節(jié)點(diǎn)信息

都存儲(chǔ)了兩個(gè)重要信息,即節(jié)點(diǎn)信息

都存儲(chǔ)了兩個(gè)重要信息,即節(jié)點(diǎn)信息 v

和時(shí)間

和時(shí)間

和時(shí)間 t $。驗(yàn)證:在前面$ CS-TBK

的描述中已經(jīng)說(shuō)明,如果用戶沒(méi)有過(guò)期,也就是

的描述中已經(jīng)說(shuō)明,如果用戶沒(méi)有過(guò)期,也就是

的描述中已經(jīng)說(shuō)明,如果用戶沒(méi)有過(guò)期,也就是 \tau>t

,

, \tau

在 t

的右邊,那么此時(shí)會(huì)存在一個(gè)節(jié)點(diǎn)

的右邊,那么此時(shí)會(huì)存在一個(gè)節(jié)點(diǎn)

的右邊,那么此時(shí)會(huì)存在一個(gè)節(jié)點(diǎn) u \in Path(\eta) \cap Y

,這個(gè)時(shí)候用戶就可以通過(guò)零知識(shí)證明,證明自己的

,這個(gè)時(shí)候用戶就可以通過(guò)零知識(shí)證明,證明自己的

,這個(gè)時(shí)候用戶就可以通過(guò)零知識(shí)證明,證明自己的 gsk_i

和 ei_t $中存在相同節(jié)點(diǎn)。

提前撤銷

實(shí)質(zhì)是給被撤銷的用戶做了一個(gè)標(biāo)識(shí),后續(xù)通過(guò)驗(yàn)證簽名來(lái)判定是否有效。

這里會(huì)涉及到一個(gè)橢圓雙曲線映射,有如下圖基本性質(zhì),

有三個(gè)群$ \mathbb{G}_1,\mathbb{G_2},\mathbb{G_t}

,滿足

,滿足

,滿足 \mathbb{G}_1 \times \mathbb{G_2} \rightarrow \mathbb{G_T}

,映射函數(shù)為

,映射函數(shù)為

,映射函數(shù)為 e()

,

, \widetilde{g},\widehat{g}

分別取自是

分別取自是

分別取自是 \mathbb{G}_1,\mathbb{G_2} $。

提前撤銷的用戶將被提前存儲(chǔ)在$ RU_t

中。然后會(huì)計(jì)算對(duì)應(yīng)用戶的

中。然后會(huì)計(jì)算對(duì)應(yīng)用戶的

中。然后會(huì)計(jì)算對(duì)應(yīng)用戶的 grt_{i,t}

并放入

并放入

并放入 RL_t

中,驗(yàn)證者通過(guò)依此檢測(cè)

中,驗(yàn)證者通過(guò)依此檢測(cè)

中,驗(yàn)證者通過(guò)依此檢測(cè) RL_t

中的

中的

中的 grt_{i,t} $是否滿足映射關(guān)系來(lái)判定是否提前過(guò)期。具體如下,

在$ Join/Issue \ phase $ ,管理員存儲(chǔ)了$ grt_i = \widetilde{X}_i = \widetilde{g}^{x_i=usk_i} \in \mathbb{G}_1

,在到達(dá)時(shí)間

,在到達(dá)時(shí)間

,在到達(dá)時(shí)間 t

的時(shí)候,管理員會(huì)計(jì)算一個(gè)

的時(shí)候,管理員會(huì)計(jì)算一個(gè)

的時(shí)候,管理員會(huì)計(jì)算一個(gè) \widetilde{h}_t = \widetilde{g}^{y_t} \in \mathbb{G}_1

和 \widehat{h}_t = \widehat{g}^{y_t}\in \mathbb{G}_2 $,此時(shí)會(huì)存在一個(gè)映射關(guān)系,即

$ e\left(\widetilde{h}{t}, \widehat{g}\right)=e\left(\widetilde{g}^{y{t}}, \widehat{g}\right)=e\left(\widetilde{g}, \widehat{g}^{y_{t}}\right)=e\left(\widetilde{g}, \widehat{h}_{t}\right) $。滿足了,即可代表被撤銷了。

在$ Sign \ phase

,產(chǎn)生的群簽名

,產(chǎn)生的群簽名

,產(chǎn)生的群簽名 \sigma

會(huì)包含

會(huì)包含

會(huì)包含 \widetilde{h}t\beta,\widetilde{g}{d(x_i+\beta)}

,假設(shè)某用戶被提前撤銷了,那么群管理員會(huì)計(jì)算

,假設(shè)某用戶被提前撤銷了,那么群管理員會(huì)計(jì)算

,假設(shè)某用戶被提前撤銷了,那么群管理員會(huì)計(jì)算 grt{i,t} = grt_i{y_t}=\widetilde{h}_t{x_i}

,然后將它存到

,然后將它存到

,然后將它存到 RL_t

中,此時(shí)的

中,此時(shí)的

中,此時(shí)的 grt_{i,t} $會(huì)滿足一個(gè)映射關(guān)系,即

$ e(grt_{i,t}\widetilde{h}{t}{\beta},\widehat{g}3ih7pjjnjzpn)=e(\widetilde{h}{t}{x_{i}+\beta},\widehat{g}3ih7pjjnjzpn)=e(\widetilde{g}{y_{t}(x_{i}+\beta)},\widehat{g}3ih7pjjnjzpn)=e(\widetilde{g}{d(x_i+\beta)},\widehat{g}{y_t})=e(\widetilde{g}^{d(x_i+\beta)},\widehat{h}_t) $

驗(yàn)證者通過(guò)檢測(cè)是否滿足上面等式來(lái)判定該用戶的簽名是否過(guò)期,滿足則用戶存在于撤銷名單中,則簽名無(wú)效。

分布式GS-TBK 思路 方案中加入了一個(gè)代理節(jié)點(diǎn),用于減少通信的開(kāi)銷。

(以下表述中,委員會(huì) = 管理員= Node,代理 = Proxy, 用戶 = User)

Setup Phase

方案思路 這個(gè)階段主要是信息的初始化以及連接的建立。

代理 Proxy

代理節(jié)點(diǎn)初始化自己的信息(門限信息,通信連接信息等),生成樹。 委員會(huì) Node

委員會(huì)節(jié)點(diǎn)初始化自己的信息(包含生成 CL 同態(tài)密鑰對(duì),通信連接信息,門限信息等等),接著所有委員會(huì)節(jié)點(diǎn)會(huì)將自己的同態(tài)公鑰P2P發(fā)給代理服務(wù)器,然后代理服務(wù)器會(huì)對(duì)其進(jìn)行排序,然后返回給委員會(huì)公鑰集合以及相應(yīng)的序號(hào),便于節(jié)點(diǎn)建立連接

代碼思路 1. Proxy 加載自己的配置完成初始化,生成樹,并為葉子節(jié)點(diǎn)分配時(shí)間,設(shè)定有效期,開(kāi)啟監(jiān)聽(tīng),等待節(jié)點(diǎn)連接。 2. 所有 Nodes 加載自己的配置完成初始化,然后與 Proxy 建立連接,連接后**P2P**發(fā)送自己的PK和監(jiān)聽(tīng)地址給Proxy。 3. Proxy 收到所有的 PK 后,對(duì)其排序,然后返回一個(gè) NodeInfo list,包含參與的Node id,監(jiān)聽(tīng)地址和PK,同時(shí)還將發(fā)送生成好的tree信息,廣播給所有的 Nodes。 4. 所有Nodes根據(jù)收到的NodeInfo list 和對(duì)應(yīng)的 Node 建立 p2p 連接,完成信道搭建。信道搭建好后將句柄和對(duì)應(yīng)id號(hào)存儲(chǔ)下來(lái),便于消息的發(fā)送。 5. 所有Nodes發(fā)送階段結(jié)束Flag,Proxy收到后也發(fā)送一個(gè)結(jié)束Flag。

GKeyGen Phase

方案思路 這個(gè)階段主要需要生成公鑰和四把私鑰。

上面的圖片是非分布式的方案原型,接下來(lái)將其拆解為分布式包含代理的版本。

主要的不同來(lái)自于四把私鑰$ \gamma_A,\gamma_B,\gamma_O,\gamma_C

的生成,不是隨機(jī)選取,而是通過(guò)分布式密鑰生成(

D

K

G

)。最終的結(jié)果是每個(gè)委員會(huì)節(jié)點(diǎn)將持有四把私鑰的分各自一部分碎片(

的生成,不是隨機(jī)選取,而是通過(guò)分布式密鑰生成( DKG )。最終的結(jié)果是每個(gè)委員會(huì)節(jié)點(diǎn)將持有四把私鑰的分各自一部分碎片(

的生成,不是隨機(jī)選取,而是通過(guò)分布式密鑰生成(DKG)。最終的結(jié)果是每個(gè)委員會(huì)節(jié)點(diǎn)將持有四把私鑰的分各自一部分碎片( (t,n) $share )。

另外需要再加一把密鑰$ \gamma_C $,此密鑰和前面的三把密鑰生成一樣的,用于后面的 Open Phase 中公開(kāi)用戶的身份

公共參數(shù):$ pp = ((G_1,G_2,G_T,e,g, \hat{g}),f, \tilde g, g_2, h_0, h_1, h_2 \leftarrow \mathbb{Z}_q,H,H’) $

聯(lián)合計(jì)算參數(shù): $ (\gamma_A, \gamma_B, \gamma_O, \gamma_C) \leftarrow DKG(pp, n, t, CL_{PK}, s) $

Phase one

代理 Proxy

廣播發(fā)送給委員會(huì)節(jié)點(diǎn)階段開(kāi)始flag信息。計(jì)算出$ GPK

中除了

中除了

中除了 vk_A = \hat g^{\gamma_A},vk_B = \hat g{\gamma_B},g_1=f{\gamma_O} $的部分,并選擇出參與節(jié)點(diǎn)。然后一并廣播發(fā)送給委員會(huì)節(jié)點(diǎn) 委員會(huì) Node

收到flag后,也P2P對(duì)代理發(fā)送一個(gè)階段開(kāi)始Flag信息。每個(gè)委員會(huì)節(jié)點(diǎn)自選隨機(jī)數(shù)作為私鑰$ u_i

,然后計(jì)算自己的公鑰

,然后計(jì)算自己的公鑰

,然后計(jì)算自己的公鑰 y_i=g^{u_i} $,并對(duì)該公鑰做一個(gè)哈希承諾,在整個(gè)委員會(huì)集體里進(jìn)行廣播該承諾。

Phase two

委員會(huì) Node

每個(gè)委員會(huì)節(jié)點(diǎn)會(huì)收集上一輪所有的廣播信息,進(jìn)行承諾驗(yàn)證計(jì)算出整體多項(xiàng)式的公鑰$ y=\prod y_i $接著根據(jù)自己自選的$ a_0 = u_i

進(jìn)行

F

e

l

d

m

a

n

V

s

s

,生成多項(xiàng)式

進(jìn)行 Feldman Vss,生成多項(xiàng)式

進(jìn)行FeldmanVss,生成多項(xiàng)式 f_i(x)=a_o+a_1x+\dots a_{t-1}x^{t-1} $,

計(jì)算出多項(xiàng)式系數(shù)承諾$ c_{i_0}=g{a_0},c_{i_1}=g{a_1},\cdots,c_{i_{t-1}}=g^{a_{t-1}} $計(jì)算出對(duì)應(yīng)節(jié)點(diǎn)的 $ (t,n) $share $ x_{ij}=f_i(j) $。對(duì)委員會(huì)節(jié)點(diǎn)的share使用對(duì)應(yīng)的 CL 公鑰進(jìn)行可驗(yàn)證加密得到$ CL_{Enc}(x_{ij},pk_j)

,然后做零知識(shí)證明得到

C

L

D

L

P

r

o

o

f

,該證明目的是證明

C

L

密文中的

,然后做零知識(shí)證明得到 CLDLProof,該證明目的是證明CL 密文中的

,然后做零知識(shí)證明得到CLDLProof,該證明目的是證明CL密文中的 x_{ij}

就是

就是

就是 g^{x{ij}}

中的

中的

中的 x_{ij} $。然后將 CL 密文和對(duì)應(yīng)的 CLDLProof 發(fā)送給代理節(jié)點(diǎn)。P2P發(fā)給代理節(jié)點(diǎn)加密的 share,CLDLProof 和 多項(xiàng)式系數(shù)承諾。

Phase three

代理 Proxy

代理節(jié)點(diǎn)對(duì)收到的 CLDLProof 進(jìn)行驗(yàn)證。代理節(jié)點(diǎn)首先將收集到的多項(xiàng)式系數(shù)承諾進(jìn)行合成,$ \prod c_{i_0},\prod c_{i_1},\dots \prod c_{i_{t-1}}

,得到整體多項(xiàng)式的系數(shù)承諾

,得到整體多項(xiàng)式的系數(shù)承諾

,得到整體多項(xiàng)式的系數(shù)承諾 c_o,c_1,\dots,c_{t-1} $。代理節(jié)點(diǎn)將收到的每個(gè)委員會(huì)節(jié)點(diǎn)的$ CL_{Enc}(x_{ij},pk_j)

合成

合成

合成 Enc(x_j)=CL_{Enc}(x_{j},pk_j) = \sum CL_{Enc}(x_{ij},pk_j) $.P2P發(fā)送給對(duì)應(yīng)的委員會(huì)節(jié)點(diǎn) 合成的加密share 以及 合成的多項(xiàng)式承諾。

Phase four

委員會(huì) Node

委員會(huì)節(jié)點(diǎn)解密收到的 $ x_j = CL_{Dec}(Enc(x_j),sk_j) $委員會(huì)節(jié)點(diǎn)收到的$ x_j

的一致性進(jìn)行驗(yàn)證,即

的一致性進(jìn)行驗(yàn)證,即

的一致性進(jìn)行驗(yàn)證,即 g{x_j}=g{S+a_1j+a_2{j^2} \cdots+a_t{j^{t-1}}} =c_0c_1jc_2{j^2}\cdots c_t{j{t-1}} $,將最后的$ x_j $存儲(chǔ)下來(lái)。

以上四個(gè)階段稱為一把密鑰的分布式密鑰生成(DKG)。

由于 **Gkeygen **有四把密鑰所有,上述過(guò)程需要并行的執(zhí)行四次,四次后每個(gè)節(jié)點(diǎn)得到私鑰碎片$ \gamma_{A_i},\gamma_{B_i},\gamma_{O_i},\gamma_{C_i} $。

接下來(lái)是計(jì)算公鑰 ****$ GPK $

Phase five

委員會(huì) Node

委員會(huì)節(jié)點(diǎn)使用零知識(shí)證明,證明$ \hat g^{\gamma_{A_i}},\hat g{\gamma_{B_i}},f{\gamma_{O_i}}

它們?nèi)齻€(gè)中的

它們?nèi)齻€(gè)中的

它們?nèi)齻€(gè)中的 \gamma_{A_i},\gamma_{B_i},\gamma_{O_i}

和在前面的

P

h

a

s

e

o

n

e

中,委員會(huì)節(jié)點(diǎn)公開(kāi)過(guò)三個(gè)

和在前面的 Phase one 中,委員會(huì)節(jié)點(diǎn)公開(kāi)過(guò)三個(gè)

和在前面的Phaseone中,委員會(huì)節(jié)點(diǎn)公開(kāi)過(guò)三個(gè) g{\gamma_{A_i}},g{\gamma_{B_i}},g^{\gamma_{O_i}} $中的三個(gè)相同

1. 具體方法是 委員會(huì)節(jié)點(diǎn)(Prover,P)和代理節(jié)點(diǎn)(Verifier,V)之間

1. P 發(fā)送給 V $ \hat g^{\gamma_{A_i}},\hat g^{\gamma_{B_i}},f^{\gamma_{O_i}} $

2. P 從域中任意選擇一個(gè)$ t\in \mathbb{Z}_p $,計(jì)算$ g^t,\hat g^t,f^t $

3. P 計(jì)算挑戰(zhàn)$ e = Hash\{g,\hat g,f,g^{\gamma_{A_i}},g^{\gamma_{B_i}},g^{\gamma_{O_i}},\hat g^{\gamma_{A_i}},\hat g^{\gamma_{B_i}},f^{\gamma_{O_i}},g^t,\hat g^t,f^t\} $

4. P 計(jì)算$ \begin{aligned}

z_{\gamma_{A_i}}=t+e\gamma_{A_i}\ z_{\gamma_{B_i}}=t+e\gamma_{B_i}\ z_{\gamma_{O_i}}=t+e\gamma_{O_i} \end{aligned} $ 5. P 發(fā)送給 V,proof: $ {g^t,\hat gt,ft,e,z_{\gamma_{A_i}},z_{\gamma_{B_i}},z_{\gamma_{O_i}}} $ 6. V 驗(yàn)證$ \begin{aligned} g^z\stackrel{?}= g^t \cdot (g{\gamma_{A_i}})e \ \hat g ^z\stackrel{?}= \hat g^t \cdot (\hat g{\gamma_{A_i}})e \end{aligned}

,

,

, \begin{aligned} g^z\stackrel{?}= g^t \cdot (g{\gamma_{B_i}})e \ \hat g ^z\stackrel{?}= \hat g^t \cdot (\hat g{\gamma_{B_i}})e \end{aligned}

,

, \begin{aligned} g^z\stackrel{?}= g^t \cdot (g{\gamma_{O_i}})e \ f ^z\stackrel{?}= f^t \cdot (f{\gamma_{O_i}})e \end{aligned} $

P2P發(fā)送給代理 proof 和$ \hat g^{\gamma_{A_i}},\hat g{\gamma_{B_i}},f{\gamma_{O_i}} $。

代理 Proxy

驗(yàn)證ZKP,也就是前面的 f 步驟,然后聚合計(jì)算出$ \hat g^{\gamma_{A}}=\prod \hat g^{\gamma_{A_i}},\hat g^{\gamma_{B}}=\prod \hat g{\gamma_{B_i}},f{\gamma_{O}}=\prod f^{\gamma_{O_i}}

,

?

?

廣播

?

?

發(fā)送給委員會(huì),然后自行組合出完整的

,**廣播**發(fā)送給委員會(huì),然后自行組合出完整的

,??廣播??發(fā)送給委員會(huì),然后自行組合出完整的 GPK $。廣播給委員會(huì)

Phase six

委員會(huì) Node

接收組合出完整的$ GPK $。

Join/Issue Phase ![](https://img-blog.csdnimg.cn/img_convert/7ba02286806f20b0b040d954a2f89911.png)

signer 對(duì)應(yīng)的就是用戶 User。這里需要計(jì)算出每個(gè)用戶的$ gsk_i $由一組BBS簽名和相關(guān)參數(shù),然后管理員需要存儲(chǔ) Reg。

代碼的demo實(shí)現(xiàn)里,達(dá)到了可以并發(fā)多個(gè)用戶。

方案思路 **Phase one**

用戶與代理建立連接,發(fā)送一個(gè)開(kāi)始flag+自身ip代理P2P發(fā)送公鑰給用戶

Phase two

用戶 User

收到公鑰后,用戶初始化自己的信息(CL 同態(tài)密鑰對(duì),自選的私鑰$ x_i

,和計(jì)算的公鑰

,和計(jì)算的公鑰

,和計(jì)算的公鑰 X_i,\tilde X_i $等等)向代理節(jié)點(diǎn)提出申請(qǐng),也就是P2P發(fā)送身份信息$ (pk,X_i,\tilde X) $和承諾信息 代理 Proxy

驗(yàn)證用戶的承諾,如果通過(guò),則再將承諾和身份信息$ \tau_i,grt_i $廣播轉(zhuǎn)發(fā)給參與委員會(huì)。對(duì)每一個(gè) Path 算法算出的樹節(jié)點(diǎn)都計(jì)算出一個(gè)簽名的底數(shù)$ Base = gh_{0}{\zeta_j}h_{1}{u_j}X_i $然后保存。 參與委員會(huì) Node

驗(yàn)證用戶的承諾。每個(gè)委員會(huì)參與節(jié)點(diǎn)之間開(kāi)始初始化參數(shù)(選擇隨機(jī)數(shù)$ k_i,\xi_{j_i}

,

生成

M

T

A

參數(shù)

,生成 MTA 參數(shù)

,生成MTA參數(shù) a,b $等)

進(jìn)行 MTA 兩兩計(jì)算,最終每個(gè)節(jié)點(diǎn)將得到$ ni_{share}=(\xi_{j}+\gamma_A)k $ 的一部分(三輪)。使用用戶的CL公鑰對(duì)$ k_i

進(jìn)行加密得到

進(jìn)行加密得到

進(jìn)行加密得到 C_{k_i}=CL_{Enc}(k_i,pk) $P2P發(fā)送給代理節(jié)點(diǎn)$ C_{k_i},pi_{share},\xi _{j_i} $

這里采用的是并行發(fā)送多個(gè)消息,避免多輪通信,后面的簽名計(jì)算都是。

Phase three

代理 Proxy

合出$ (\xi_j+\gamma_A)k

,計(jì)算出

,計(jì)算出

,計(jì)算出 A_j^{\frac 1 k}=Base^{\frac 1{(\xi_j+\gamma_A)k}} = gh_{0}{\zeta_j}h_{1}{u_j}X_i {{\frac 1{(\xi_j+\gamma_A)k}}} $,合出$ C_k = \sum C_{k_i} $合出$ \xi_j = \sum \xi_{j_i}

,

然后

?

?

P

2

P

?

?

發(fā)送給用戶

,然后**P2P**發(fā)送給用戶

,然后??P2P??發(fā)送給用戶 A_j^{\frac 1 k},C_k,\xi_j,\zeta_j,u_j,\tau_i $。廣播給參與委員會(huì)$ A_j^{\frac 1 k} $

同樣這里也不是一個(gè)而是多個(gè),一組簽名。

用戶 User

解密$ k = CL_{Dec}(C_{k},sk)

,此時(shí)就可以計(jì)算出自己的簽名

,此時(shí)就可以計(jì)算出自己的簽名

,此時(shí)就可以計(jì)算出自己的簽名 A_j = (A_j^{\frac 1 k})^k

,然后合出自己的

,然后合出自己的

,然后合出自己的 gsk_i $ 參與委員會(huì) Node

計(jì)算出$ A_j^{\frac {\gamma_{C_i}} k} $,然后P2P發(fā)送給代理。(一組)

Phase four

代理 Proxy

聚合出$ A_j^{\frac {\gamma_C} k}= \prod A_j^{\frac {\gamma_{C_i}} k} $,然后廣播給參與委員會(huì)。(一組)

Phase five

參與委員會(huì) Node

計(jì)算$ A_j^{\frac {\gamma_C \cdot k_i} k}=(A_j^{\frac {\gamma_C} k})k_i $(一組) 代理 Proxy

聚合出$ A_j^{\gamma_C}=\prod A_j^{\frac {\gamma_C \cdot k_i} k} $,然后廣播發(fā)送給委員會(huì)。(一組)

Phase six

委員會(huì) Node

存儲(chǔ)下來(lái)到 Reg 中P2P 發(fā)送成功收下的flag給代理

Revoke Phase

方案思路 ![](https://img-blog.csdnimg.cn/img_convert/a25e1874a92ada2c03a2dad5392c5cbb.png)

此步驟和 Join/Issue Phase 類似,但由于是公開(kāi)的,所以無(wú)需加密。

$ ei_t

:這個(gè)是根據(jù)當(dāng)前時(shí)間

:這個(gè)是根據(jù)當(dāng)前時(shí)間

:這個(gè)是根據(jù)當(dāng)前時(shí)間 t $計(jì)算出來(lái)的一個(gè)用于后面校驗(yàn)簽名有效性的信息。

$ RU_t

:存儲(chǔ)的是在需要提前在

:存儲(chǔ)的是在需要提前在

:存儲(chǔ)的是在需要提前在 t $時(shí)刻被撤銷的用戶列表,需要作為輸入,提前生成。

$ RL_t

:存儲(chǔ)的是

:存儲(chǔ)的是

:存儲(chǔ)的是 grt_i

,表示的是在

,表示的是在

,表示的是在 t $時(shí)刻被撤銷的用戶的信息,也需要提前置空。

Phase one

用戶 User

P2P發(fā)送給代理Revoke 的開(kāi)始flag() 代理 Proxy

收到用戶flag和節(jié)點(diǎn)flag(需要收到這兩個(gè)信息,這是為了保證多個(gè)用戶同時(shí)執(zhí)行的時(shí)候,消息異步到達(dá)引發(fā)的問(wèn)題)后開(kāi)始選擇$ y_t

,計(jì)算

,計(jì)算

,計(jì)算 \tilde h_t,\hat h_t $選擇當(dāng)前時(shí)間$ t

和隨機(jī)數(shù)

和隨機(jī)數(shù)

和隨機(jī)數(shù) \zeta_i’

,對(duì)每一個(gè)

C

S

T

B

K

算法的樹節(jié)點(diǎn)都計(jì)算出一個(gè)

,對(duì)每一個(gè)CSTBK算法的樹節(jié)點(diǎn)都計(jì)算出一個(gè)

,對(duì)每一個(gè)CSTBK算法的樹節(jié)點(diǎn)都計(jì)算出一個(gè) Base’ = gh_{0}{\zeta_i’}h_{1}{v_i}h_2^t $,廣播發(fā)送這兩個(gè)信息給參與委員會(huì)節(jié)點(diǎn)。 委員會(huì) Node

每個(gè)委員會(huì)參與節(jié)點(diǎn)之間開(kāi)始初始化參數(shù)(選擇隨機(jī)數(shù)$ k_i’,\xi_{i_j}’

,

生成

M

T

A

參數(shù)

,生成 MTA 參數(shù)

,生成MTA參數(shù) a,b $等)

進(jìn)行 MTA 兩兩計(jì)算,最終每個(gè)節(jié)點(diǎn)將得到$ ni_{share}=(\xi_{i}'+\gamma_B)k $ 的一部分。P2P發(fā)送給代理節(jié)點(diǎn)$ ni_{share},k_i’,\xi_{i_j}’ $

Phase two

代理 Proxy

代理聚合出$ (\xi_i’+\gamma_B)k’ = \sum ni_{share} $, $ k’ = \sum k_i’ $, $ \xi_i’=\sum \xi_{i_j}’ $然后計(jì)算出$ B_i = (Base’^{\frac 1 {(\xi_i’+\gamma_B)k’}})^{k’} = {gh_{0}{\zeta_i’}h_{1}{v_i}h_2t} {\frac 1 {(\xi_i’+\gamma_B)}} $選出$ RU

并計(jì)算出

并計(jì)算出

并計(jì)算出 RL $廣播給委員會(huì)節(jié)點(diǎn) 委員會(huì) Node

存下$ ei_t,RL $P2P 發(fā)送成功收下的flag給代理 用戶User

存下$ ei_t $

Sign Phase

方案思路 ![](https://img-blog.csdnimg.cn/img_convert/515714ba3ad3c5f2e593abfd5d64a9c7.png)

簽名階段就是用戶拿著自己聚合出來(lái)的$ A_j

和 Bi $對(duì)消息進(jìn)行簽名計(jì)算

主要就是幾個(gè)式子的計(jì)算,和原方案一樣。

保存下來(lái), 然后上鏈。

結(jié)束后P2P發(fā)送簽名結(jié)束的 flag 給代理

Verify Phase

方案思路 ![](https://img-blog.csdnimg.cn/img_convert/6a2f5f25dc22bdcd1ff8edbceb653996.png)

這里的驗(yàn)證也和原方案類似,校驗(yàn)的是密鑰是否過(guò)期(自然撤銷,主動(dòng)撤銷,密鑰)

不用代理驗(yàn)證,僅讓代理轉(zhuǎn)發(fā)消息,然后驗(yàn)證交給管理員節(jié)點(diǎn),不通過(guò)則需要啟動(dòng) Open Phase 來(lái)揭示用戶身份。

代碼demo里,流程是代理收到,用戶發(fā)送自己已經(jīng)簽名完成的flag,結(jié)合node發(fā)送過(guò)來(lái)的revoke flag,這兩個(gè)flag,然后發(fā)送開(kāi)始驗(yàn)證的flag給委員會(huì)節(jié)點(diǎn),此時(shí)委員會(huì)節(jié)點(diǎn)就會(huì)去鏈上讀取用戶的上鏈信息。

Open Phase

方案思路 ![](https://img-blog.csdnimg.cn/img_convert/414e2cdb1da044dec46caf06bff09a81.png)

這個(gè)階段的改動(dòng)比較大,主要是因?yàn)樵桨咐锏?Open 是讓委員會(huì)直接拿到的用戶的簽名$ A_j

的,修改的方案里是不能讓其拿到,而是持有

的,修改的方案里是不能讓其拿到,而是持有

的,修改的方案里是不能讓其拿到,而是持有 A_j^{\frac 1 k}

和 A_j^{\gamma_C} $。

Phase one

委員會(huì) Node

解析 Verify Phase 的結(jié)果,然后計(jì)算$ \psi_1^{\gamma_{O_i}} $,P2P發(fā)送給代理。 代理 Proxy

代理聚合$ \psi_1{\gamma_O}=\prod\psi_1{\gamma_{O_i}}

,然后可以計(jì)算出

,然后可以計(jì)算出

,然后可以計(jì)算出 A_j = \frac {\psi_2} {\psi_1^{\gamma_O}} $,然后廣播給委員會(huì)節(jié)點(diǎn)

Phase two

委員會(huì) Node

計(jì)算$ A_j^{\gamma_{C_i}} $,然后P2P發(fā)送給代理 代理 Proxy

代理聚合$ A_j^{\gamma_C}=\prod A_j^{\gamma_{C_i}} $,然后廣播給委員會(huì)

Phase three

委員會(huì) Node

尋找比對(duì)代理發(fā)送的$ A_j^{\gamma_C}

和自己的

和自己的

和自己的 Reg $表中的信息,揭示出用戶的身份信息。

Key manage Phase

方案思路 **轉(zhuǎn)加法共享**

$ t $個(gè)委員會(huì)節(jié)點(diǎn)的 share,乘以對(duì)應(yīng)的拉格朗日系數(shù)即可。

密鑰恢復(fù)

$ t $個(gè)委員會(huì)節(jié)點(diǎn)聯(lián)合進(jìn)行恢復(fù)算法即可。實(shí)際上的方案是不需要恢復(fù)這個(gè)功能的,這里只是為了對(duì)生成的密鑰進(jìn)行驗(yàn)證

委員會(huì) Node

將四把密鑰的信息P2P發(fā)送給代理

代理 Proxy

對(duì)收到的信息進(jìn)行聚合,然后運(yùn)行恢復(fù)算法,再進(jìn)行校驗(yàn)

密鑰刷新

每個(gè)委員會(huì)節(jié)點(diǎn)將自選私鑰設(shè)置為 0 ,然后重新生成多項(xiàng)式再次 Vss Share,最后累加到原來(lái)的$ (t,n) $share上即可 。過(guò)程類似 Keygen 的 Phase 2 ~ Phase 4

Phase one

代理 Proxy

發(fā)送給節(jié)點(diǎn)開(kāi)始flag 委員會(huì) Node

根據(jù)自己自選的$ a_0 = 0

進(jìn)行

F

e

l

d

m

a

n

V

s

s

,生成多項(xiàng)式

進(jìn)行 Feldman Vss,生成多項(xiàng)式

進(jìn)行FeldmanVss,生成多項(xiàng)式 f_i(x)=a_o+a_1x+\dots a_{t-1}x^{t-1} $

計(jì)算出多項(xiàng)式系數(shù)承諾$ c_{i_0}=g{a_0},c_{i_1}=g{a_1},\cdots,c_{i_{t-1}}=g^{a_{t-1}} $計(jì)算出對(duì)應(yīng)節(jié)點(diǎn)的 $ (t,n) $share $ x_{ij}=f_i(j) $。對(duì)委員會(huì)節(jié)點(diǎn)的share使用對(duì)應(yīng)的 CL 公鑰進(jìn)行可驗(yàn)證加密得到$ CL_{Enc}(x_{ij},pk_j)

,然后做零知識(shí)證明得到

C

L

D

L

P

r

o

o

f

,該證明目的是證明

C

L

密文中的

,然后做零知識(shí)證明得到 CLDLProof,該證明目的是證明CL 密文中的

,然后做零知識(shí)證明得到CLDLProof,該證明目的是證明CL密文中的 x_{ij}

就是

就是

就是 g^{x{ij}}

中的

中的

中的 x_{ij} $。然后將 CL 密文和對(duì)應(yīng)的 CLDLProof 發(fā)送給代理節(jié)點(diǎn)。P2P發(fā)給代理節(jié)點(diǎn)加密的 share,CLDLProof 和 多項(xiàng)式系數(shù)承諾。

一共四個(gè)

Phase two

代理 Proxy

代理節(jié)點(diǎn)對(duì)收到的 CLDLProof 進(jìn)行驗(yàn)證。代理節(jié)點(diǎn)首先將收集到的多項(xiàng)式系數(shù)承諾進(jìn)行合成,$ \prod c_{i_0},\prod c_{i_1},\dots \prod c_{i_{t-1}}

,得到整體多項(xiàng)式的系數(shù)承諾

,得到整體多項(xiàng)式的系數(shù)承諾

,得到整體多項(xiàng)式的系數(shù)承諾 c_o,c_1,\dots,c_{t-1} $。代理節(jié)點(diǎn)將收到的每個(gè)委員會(huì)節(jié)點(diǎn)的$ CL_{Enc}(x_{ij},pk_j)

合成

合成

合成 Enc(x_j)=CL_{Enc}(x_{j},pk_j) = \sum CL_{Enc}(x_{ij},pk_j) $.P2P發(fā)送給對(duì)應(yīng)的委員會(huì)節(jié)點(diǎn) 合成的加密share 以及 合成的多項(xiàng)式承諾。

Phase three

委員會(huì) Node

委員會(huì)節(jié)點(diǎn)解密收到的 $ x_j = CL_{Dec}(Enc(x_j),sk_j) $委員會(huì)節(jié)點(diǎn)收到的$ x_j

的一致性進(jìn)行驗(yàn)證,即

的一致性進(jìn)行驗(yàn)證,即

的一致性進(jìn)行驗(yàn)證,即 g{x_j}=g{S+a_1j+a_2{j^2} \cdots+a_t{j^{t-1}}} =c_0c_1jc_2{j^2}\cdots c_t{j{t-1}} $將最后的$ x_j $疊加到原來(lái)的 $ xj $上即可。

柚子快報(bào)邀請(qǐng)碼778899分享:基于代理的分布式身份管理方案

http://yzkb.51969.com/

推薦鏈接

評(píng)論可見(jiàn),查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19544302.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問(wèn)

文章目錄