Secret-Sharing

為什麼我們需要修改 Shamir 的秘密共享算法

  • December 12, 2021

我正在研究 Shamir 的秘密共享算法,我很清楚它是如何工作的,但我不明白為什麼我們需要找到一個素數並使用該素數進行模運算的確切原因。

Wikipedia上,它說如果你不使用模運算,攻擊者可以在沒有足夠份額的情況下獲得一些關於價值的資訊。

在密碼學的喜悅中,似乎通過說多項式係數需要在 Z 中均勻分佈來證明模算術的需要是不可行的,因此我們使用 Z_p 來實現均勻分佈。

在其他網站(和這裡)上,我看到一些人說模數只是需要,這樣值就不會變得太大。

簡而言之,我找不到真正需要模運算的明確原因。當然,這可能是上述所有原因的組合,但我很奇怪看到所有這些來源都給出了不同的理由而沒有提及其他原因。那麼你能幫我弄清楚為什麼真的需要這個嗎?

您所說的兩種解釋實際上是同一枚硬幣的兩個方面。

您將如何從 $ \mathbb{Z} $ ? 這是一個無限集。即使可以,也不清楚需要多少字節的記憶體來表示這個隨機的“整數”?

因此,我們需要從有限的一組元素(可以用固定的字節數表示)中採樣係數。但是,並非所有有限集都允許您對多項式進行插值。因此,我們需要選擇一個與已知多項式插值算法一起工作的有限集。拉格朗日插值恰好適用於有限域(例如,在有限域中具有係數的多項式)。有限域最典型的例子是整數模素數。這是概念上最簡單的表示,因此許多文本將使用此範例。

引用自:https://crypto.stackexchange.com/questions/96598