Linkable/Tracable Ring Signatures 簡單說明
我目前正在了解環簽名。
現在我已經到了 Linkable/Tracable Ring Signatures,但是我並不真正理解它們。
有人可以解釋一下它背後的原理是如何工作的嗎?一個例子也會很有幫助。
非常感謝!
考慮一個環,其中環中的每個項目都基於環中前一個項目的雜湊。
$ i_0 = H(i_3) $
$ i_1 = H(i_0) $
$ i_2 = H(i_1) $
$ i_3 = H(i_2) $
首先,請注意任何人都可以重建戒指,如果他們被告知其中一個 $ i $ 價值觀。
其次,請注意,如果雜湊是抗碰撞的,那麼應該不可能形成這樣的環。這是因為在創建時 $ i_0 $ ,你需要“時間旅行”來找出什麼價值 $ i_3 $ 將是。
如果我們使用“變色龍散列”而不是正常散列,我們可以構造這樣的環。這是因為如果知道特定的秘密,可以控制“變色龍雜湊”以產生必要的輸出。
例如,此答案可連結自發匿名組簽名的變色龍散列基於 EC Schnorr 構造。
能夠控制變色龍散列需要知道對應於環中公鑰之一的私鑰之一。因此,能夠建構一個環證明您知道其中一個私鑰。一旦建構了環,任何人都可以驗證環是否存在,但無法通過特定私鑰的知識來判斷環在哪裡“連接在一起”。
可連結環簽名通過包含“密鑰圖像”擴展了這一概念。當您創建環並使用特定的私鑰“加入環”時,會聲明一個密鑰圖像,它是與該私鑰對應的公鑰,除了在不同的生成器點上。
由於 EC 離散對數問題,沒有人知道密鑰映像基於環中的哪個公鑰。然而,環的構造實際上包含了一個“離散對數等價證明”,它驗證了加入環的環中的公鑰必須與聲明的密鑰圖像共享相同的私鑰。
因此,
- 驗證者可以告訴簽名者知道與環中的一個公鑰對應的至少一個私鑰。
- 驗證者知道密鑰映像的格式正確,以共享用於加入環的相同私鑰。
這意味著如果再次看到密鑰圖像,則必須使用相同的私鑰來加入此環。在使用相同的私鑰進行兩次簽名時,無法通過創建不同的密鑰映像來“欺騙”驗證者,因為離散對數等價證明證明密鑰映像已正確創建和聲明,並且必須對應於相同的公鑰在已知私鑰的環中。