Algorithm-Design
基於配對的密碼學本質上是否需要 CRS/可信設置?
在我見過的所有依賴於基於配對的密碼學的算法中(一些例子:沒有 PCP的 snarks ,更多 snarks,次線性環簽名),需要一個公共參考字元串。總是這樣嗎?如果是這樣,那意味著需要 CRS 的配對(或使用它們的算法?)是什麼?
我知道 ZCash 通過使用 MPC 來模擬 TTP 來解決這個問題,如此處、此處和此處所描述的,但我更感興趣的是了解為什麼需要 CRS。澄清一下,我並不是說為什麼需要信任生成它的一方,因為我知道如果不使用以後必須銷毀的“私有”組件就無法生成 CRS 的公共參數,但我想知道為什麼需要公共參數?
(我已經看過基於配對的加密準備好用於生產用途,認為它可能會回答這個問題,但事實並非如此)
不需要。例如,這些基於配對的協議不需要受信任的設置:
- BLS 簽名;
- 正如 Elias 的回答中提到的那樣,三方 Diffie-Hellman;
- 一些基於身份的加密方案(當使用者是他們自己的 PKG 時,例如使用 IBE 進行前向安全加密時);
- Bünz –Maller–Mishra–Vesely多項式承諾方案。(這原則上可以用於 NIZK 知識論證,儘管它有 $ \Theta(\sqrt{N}) $ 驗證等並不完全簡潔。)
使用配對的介紹性範例是Joux 與單個消息的三方 Diffie-Hellman密鑰交換。
它不需要受信任方或 CRS。
這種允許 3 方之間進行類似 DH 的互動的性質是許多 TTP 設置與配對一起工作的原因。它用於第三方。