存在哪些盲簽名方案,它們如何比較?
我正在研究用作數字現金的盲簽名方案。我遇到了盲目的 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 方案所需的三個指數。
注意:您可以在我提供的連結中找到有關更有效變體的更多參考資料。
- 專利:
我不知道!對不起…
- 簡單:
我都清楚了,如果閱讀論文有任何疑問,請發布它們,我們可以一起檢查!