• 沒有找到結果。

矩陣架構之分散式金鑰產生概述

4.1 傳統 DKG 改變為矩陣構造之可行性

在進入我們所提出的隨機稀疏矩陣之分散式金鑰產生架構之主題前,我們先 進一步地來探討為何以矩陣的方式來架構分散式金鑰產生協定是可行的?也就 是本小節將針對之前由 Gennaro 等人於[GJKR99]中所提出之較完備且嚴謹的分 散式金鑰產生協定,利用矩陣的觀點來對其架構做技巧性的置換,以引導出我們 即將闡述的隨機稀疏矩陣之金鑰產生架構。

簡而言之,我們可以把在 2.4.3 小節中,由 Gennaro 等人提出的最典型且安全 的分散式金鑰產生架構中,所需的多項式型態改為以凡德蒙地矩陣(Vandermonde Matrix 詳見於 3.6 小節)的矩陣型態來置換其演算法中的結構,如下圖所示:

上述 n 個次方數為 m-1 的多項式組,可以用下列所示的矩陣方式置換:

假設我們讓中央的矩陣(在此假設為矩陣E)為一個有著m列數以及n行數的凡 德蒙地矩陣,而在此的m為分散式金鑰產生系統的安全門檻值;因此,Eij=ji-1。 每個ai是一內含有m個元素的隨機行向量,也就是一個內含ai0 ~ aim-1的列向量,且 向量ai與矩陣E之相乘也就造出外部秘密si,由上圖可知,此si是一個含有n個元素 的列向量,所以在Gennaro等人於[GJKR99]中所提的演算法中之檢驗群體|Qi|=n,

此等同於在傳統的分散式金鑰產生協定中,於內部秘密及相關係數所構成多項式 上的點 1,2,…,n。

而秘密金鑰也就是一個運用於合法成員們之內部秘密總合的式子。每個成員 相關於此秘密之分享值就是將手中所有從其他合法成員得來的分享值加總;相同 地,每個成員之分享就是在由所有合法成員之多項式加總所得之多項式上的某個 點。因為所有的多項式都是 m-1 次方,

i∈Vs 中的任何 m 個值,可利用內插法ij

來重建出

,因此,只要有 m 個合法的分享值,演算法就能成功地建構出 公開或秘密金鑰。(而在矩陣的觀點來說,當矩陣 E 的列及行之最大獨立數為 m 時,也就是秩為 m 的全秩時,所分享出的分享值就能藉由演算法,成功地重建 金鑰。

∈V i ai

4.2 J. Canny 等人的分散式金鑰產生協定 4.2.1 傳統的分散式金鑰產生協定之不足處

由於Gennaro等人所提出的分散式金鑰產生協定在安全方面的表現近乎完 善,但是J. Canny等人卻發現:在Gennaro等人提出的架構中,當每個成員以中心 處理者角色分送秘密分享時的對象必須是除自己之外的所有成員,也就是上一小 節中,每個成員所需傳送分享值的檢驗群體|Qi|=n的尺寸太大!這架構若運作於 有著大規模成員數量的系統時,在通訊量上的耗費是非常可觀的!

4.2.2 對角帶狀稀疏矩陣之分散式金鑰產生

因此,J. Canny等人便依此實際且實用的需求,於[CS04]提出一個以離散對數 (discrete-log)為基礎的對角帶狀稀疏矩陣分散式金鑰產生協定,藉由此架構,能 讓每個成員在扮演中心處理者分送秘密分享時的通訊量,把每個成員所需傳送給 全部n個成員之通訊量降到一個極低的固定值,也因此讓分散式金鑰產生在實際 大規模的運用上更有效率且更有實用性。所以,J. Canny等人便針對我們於 4.1

小節中所述的凡德蒙地矩陣之構造作一番檢視後,利用矩陣相成的特性,將原先 的凡德蒙地矩陣(也就是 4.1 節中的矩陣E)置換為他們所提的“對角帶狀稀疏矩 陣"的構造,運用稀疏矩陣與ai向量相乘後,所得出的si向量中所含的非零值之 元素數量會大大減低,進而讓每個成員所需傳送的分享值之通訊量盡可能地降至 最低,此架構之主要想法可由下圖所示得知:

由原先的凡德蒙地矩陣架構:

改為以下的對角帶狀稀疏矩陣:

上圖中的ai是一個內含只有u個連續出現的非零值之元素的列向量,而在此為了 方便審視其對角帶狀稀疏矩陣的構造,其內含的非零值以 1 來表示。

有了上述的對角帶狀稀疏矩陣之分散式金鑰產生協定的概念後,現在我們就 針對此方法做個叫詳細的剖析:

以下是以一個行數 n 為 64,列數 m 為 29 的矩陣為例;且此矩陣是一個以下述規 則所產生的帶狀稀疏矩陣:在這個矩陣的每一列中只有 l 個非零且連續出現的值 (在此的 l 為 8,也就是圖中所標示的著色點),其他矩陣中大部分的元素都是為

零;然後,上一列跟下一列的 l 個非零值之起始位置會往右位移 行;因此,這 個矩陣就會呈現出一個附有對角帶狀的稀疏矩陣,且此矩陣的行數與列數之間的 關係會因 l 及 的值變動而有所不同,也就是有

1

γ

1

γ m≈γ(nl)+1的關係存在。

有了上述的對角帶狀稀疏矩陣之後,接下來便利用以下由 Gennaro 等人提出 之演算法,針對帶狀稀疏矩陣之特性做細部的些微修改即可。

J. Canny 等人的主要架構概念如下所述:

將原本在 Gennaro 等人所提出的分散式金鑰產生演算法中,每個成員在扮演 中心處理者角色時所隨機選的兩個次方數為 m 的多項式,改以兩個隨機選定且 尺寸為 m x 1 之列向量(此列向量之其中只含連續 u 個非零值之元素)分別與上述 的帶狀稀疏矩陣 E 相乘之值來置換;因此,當列向量與稀疏矩陣相乘運算後,

只有少數的值是非零,再將非零值的相對應成員設為所需的秘密分享分送對象,

如此一來,所需分送的訊息通訊量便大大減低很多,此後,將 Gennaro 等人所提 的分散式金鑰產生協定之演算法中的多項式概念改以向量及矩陣的相對應方 式,再依循其演算法之步驟即可發展出一個以對角帶狀稀疏矩陣之分散式金鑰產 生架構。

此架構所呈現的主要貢獻大致有以下四點:

(1) 利用對角帶狀稀疏矩陣的概念提出一個新的分散式金鑰產生架構,在此新架 構中的分送秘密分享之對象不需要是全部的成員,因此大大減少了通訊量上 的負擔。

(2) 利用隨機漫步(Random Walk)之特性來證明此新架構可以抵擋有總數為 −ε 2 1

的惡意成員參與之下的干擾攻擊。

(3) 此架構符合 Gennaro 等人在[GJKR99]篇中,對於分散式金鑰產生協定所訂出 的更嚴謹之安全定義。

(4) 在效率上,跟之前 Gennaro 等人提出的分散式金鑰產生架構比較起來更有效 率,且在大規模成員參與之系統上更為實用。

但是,經由深入的探究之後,我們發現此篇由 J. Canny 等人提出的架構依舊 有許多待改進之處,我們將在下一章針對他們架構的缺失做進一步的剖析,進而 引導出我們所提出的更完善架構。

相關文件