Signature

存在哪些盲簽名方案,它們如何比較?

  • April 17, 2022

我正在研究用作數字現金的盲簽名方案。我遇到了盲目的 RSA 和Lucre(基於 DH)。是否有其他可用的方案,它們如何比較?我懷疑應該有一個橢圓曲線方案,它可能比其他方案有更好的性能。

我特別感興趣:

  • 性能 - 創建/驗證簽名的成本是多少?我主要關心權限的成本(做簽名和驗證),不太關心客戶端的性能(做盲和驗證)
  • 專利 - 該方案是否獲得專利?專利過期了嗎?
  • 簡單——容易理解嗎?是否容易犯會損害匿名性或安全性的細微錯誤?

我目前對 RSA 和 Lucre 的評價:

盲法RSA

  • 需要 RSA 私鑰操作進行簽名。這是相對昂貴的,特別是如果使用較大的密鑰(比如 2048 位)。
  • 由 Chaum 獲得專利,但專利現在應該已經過期
  • 很簡單,連我都懂

盧克雷

  • 不確定性能,但我預計性能不會比 RSA 好多少。
  • Paper聲稱它是無專利的,至少在某些變化中
  • 有一些微妙的地方。如果使用不當,簽名者可能會濫用能夠以k損害匿名性的方式進行選擇。我真的不明白(還)。

再讀幾遍這篇論文,似乎大多數 lucre 變體都不是每個人都可以驗證的“真實”簽名。但是,您需要執行互動式機率證明。某些變體不會遇到此問題,但它們可能存在其他問題。

我的主觀印像是我不喜歡盧克雷。似乎它存在的唯一理由是避免了 Chaum 的專利。但是如果這些都過期了,這應該不再是問題了。

在概念上與 Chaums RSA 盲簽名方案相媲美的是另一種優雅的兩步盲簽名方案,稱為盲 Gap-DH 簽名方案,可以通過配對友好的橢圓曲線組來實例化。

這種盲簽名方案可以基於緊湊的BLS 簽名方案(它基於 gap-DH 組,即 DDHP 很容易但 CDHP 仍然很難的組),並且盲法的工作原理類似於 Chaum 的 RSA 盲簽名方案.

讓 $ e: G\times G\rightarrow G_T $ 成為配對和Math Processing ErrorG],Math Processing ErrorGT]素數組Math Processing Errorp]和[Math Processing Error] $ G $ [Math Processing Error] $ G_T $ [Math Processing Error] $ p $ $ H:{0,1}^* \rightarrow G $ 一個雜湊函式並讓Math Processing Errorg]成為Math Processing ErrorG] (我使用乘法符號並在此處描述對稱配對的 BLS 簽名,但也可以為非對稱類型 2 和類型 3 配對定義它們,例如參見此處)。[Math Processing Error] $ g $ [Math Processing Error] $ G $

為了生成 BLS 簽名,具有私鑰的簽名者 $ x\in Z_p^* $ ( $ y=g^x $ 是公鑰)計算 $ \sigma=H(m)^x $ 並且驗證者檢查是否 $ e(H(m),y)=e(\sigma,g) $ 持有。正確性是顯而易見的,因為 $ e(H(m),y)=e(H(m),g^x)=e(H(m),g)^x = e(H(m)^x,g) = e(\sigma,g) $ .

現在盲簽版本如下:

  • **接收者(致盲):*保持消息Math Processing Errorm], 選擇[Math Processing Error] $ m $ [數學處理錯誤] r∈RZp∗數學處理錯誤h¯=H(m)gr] 數學處理錯誤h¯][Math Processing Error] $ r\in_R \mathbb{Z}_p^ $ 併計算[Math Processing Error] $ \overline{h}=H(m)g^r $ 並且寄出[Math Processing Error] $ \overline{h} $ 給簽名者。
  • **簽名者:**計算[數學處理錯誤] σ¯=m¯x數學處理錯誤σ¯][Math Processing Error] $ \overline{\sigma}=\overline{m}^x $ 並且寄出[Math Processing Error] $ \overline{\sigma} $ 到接收器。
  • **接收方(揭盲):**計算[數學處理錯誤] σ=σ¯y−r數學處理錯誤m][Math Processing Error] $ \sigma=\overline{\sigma}y^{-r} $ ,這是一個簽名[Math Processing Error] $ m $ .

很容易驗證這是正確的,因為 $ \sigma’y^{-r} = (H(m)g^r)^xy^{-r}=H(m)^xg^{rx}g^{-rx}=H(m)^x=\sigma $ .

還有各種其他基於離散對數的盲簽名方案可用於橢圓曲線設置,但上述盲 GDH 簽名方案產生短簽名,只需要兩次移動,所有其他 DL 方案需要更多互動(至少三個移動)和複雜得多。然而,它們在計算方面通常更便宜。例如,岡本在Crypto'92的附錄 B中提出的 Schnorr 協議的盲版本。此外,正如 Matteo 所提到的,還有盲 ElGamal 變體。

我不知道這些專利有什麼問題,但是David Chaum 的盲 RSA 簽名的原始專利已經過期。

我仍然是該領域的新手,但在嘗試了解它時,我遇到了您肯定知道的這兩篇論文,以防萬一我會指出它們:

順便說一句,如果你看一下第二個標題的介紹,它似乎是你要找的。


RSA 實驗室提供的有關電子現金的特定連結:


通過研究盲簽名,我讀到了一個基於 ElGamal 簽名方案的方案,我將提供我能夠瞥見的資訊。

您可以在以下連結中找到更多詳細資訊:

失明的ElGamal:

  • 表演:

所有者 Alice 需要計算兩個線上求模[Math Processing Error] $ p $ 與 |[Math Processing Error] $ q $ | 位指數和一個離線反模[Math Processing Error] $ q $ .

Notary Nancy 只需要計算一個線上指數模 [Math Processing Error] $ p $ 與 |[Math Processing Error] $ q $ | 指數位。

驗證者 Victor 需要計算兩個指數,而不是標準 ElGamal 方案所需的三個指數。

注意:您可以在我提供的連結中找到有關更有效變體的更多參考資料。

  • 專利:

我不知道!對不起…

  • 簡單:

我都清楚了,如果閱讀論文有任何疑問,請發布它們,我們可以一起檢查!

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