如何生成隨機次數多項式米米m?
我正在嘗試做一個作業來實現本文的變體,但我不知道如何生成度數多項式 $ m-1 $ . 該多項式用於生成 $ y_0 $ 和 $ y_1 $ 價值觀。
我正在使用 JCE 進行編碼。我需要做什麼才能實現這一目標?
我假設您指的是您連結到的論文的第 5 節,內容如下:
5 使用多項式的實例
在本節中,我們使用 Shamir 的秘密共享方案描述了第 4 節的技術實例
$$ 25 $$. 在這個方案中, $ \mathrm{hpwd}_a $ 通過選擇一個隨機多項式來共享 $ f_a \in \mathbb Z_q[x] $ 學位 $ m - 1 $ 這樣 $ f_a(0) = \mathrm{hpwd}_a $ . 份額是這個多項式上的點。我們分兩步介紹該方法,首先描述一個更簡單的變體,然後在第 5.4 節中對其進行擴展,以更安全地抵禦離線攻擊。
選擇隨機多項式 $ f(x) = c_k x^k + \dotsb + c_1 x + c_0 $ 學位 $ k $ 在多項式環中 $ \mathbb Z_q[x] $ 只是意味著選擇 $ k+1 $ 隨機係數 $ c_0, c_1, \dotsb, c_k $ 均勻地從有限域 $ \mathbb Z_q $ . 然而,額外的約束 $ f(0) = c_0 $ 應該取一個特定的固定值意味著,實際上,只有 $ k $ 係數 $ c_1, \dotsc, c_k $ 可以隨機選擇,而常數係數 $ c_0 $ 是固定的。
(請注意,使用此過程,有一個 $ q $ 機會 $ f $ 實際上的學位低於 $ k $ , 因為 $ c_k = 0 $ 偶然地。但是,在Shamir 的秘密共享的上下文中,這正是您想要的:多項式確實應該從最多次數的多項式集合中隨機選擇 $ k $ 在 $ \mathbb Z_q[x] $ 其最低係數具有所需的秘密值。)
附言。關於符號的說明: $ \mathbb Z_q $ 這裡表示整數環模 $ q $ , 這是一個欄位當且僅當 $ q $ 是素數。然而,Shamir 的秘密共享實際上適用於任何有限域 $ \mathbb F_q $ , 對於所有素冪都存在 $ q = p^n $ . 特別是,特徵 2 欄位 $ \mathbb F_{2^n} $ 通常很方便工作,因為它們的元素自然對應 $ n $ 位位串。當然,缺點是非素數有限域中的乘法實現起來有點棘手(或者,更確切地說,您不太可能找到它的現有內置實現)。有關更多詳細資訊,請參見密碼學中的伽羅瓦域。