Key-Exchange
多方密鑰協議
我在Google上搜尋了“多方密鑰協議”,似乎沒有比 2005 年更近的東西了。
是否有已知的實用多方密鑰協商協議?
更準確地說,我想要一個協議:
- 允許多人同意一個共享秘密
- 對手無法通過收聽通信來判斷共享秘密是什麼。
- 它應該經過身份驗證,以便積極的對手無法說服參與者與對手知道的秘密進行通信。
注意:我知道來自 lattice 的多方密鑰交換協議,但是 a) 沒有任何答案;b) 我不僅對格密碼學感興趣(事實上,我更喜歡基於 ECC 或因式分解的東西)。
編輯:背景我想要一個用於加密電話會議的系統。如果每個呼叫者使用單獨商定的密鑰將他們的音頻發送給每個其他參與者,那麼所需的工作總量是 $ O(n^2) $ (每個參與者所做的工作是 $ O(n) $ )。如果每個人都同意一個共享的秘密,那麼我們也許可以減少所需的工作量。
從歷史上看,在大型網路中安全地建立共享密鑰所涉及的困難和風險都導致了公鑰密碼學的發明。因此,您可能首先要考慮使用數字簽名/非對稱加密,而不是在各方之間共享相同的秘密。
如果您需要所有(或部分)參與方共同簽署或加密消息,請考慮使用帶有分佈式密鑰生成協議的門檻值簽名方案。這將產生一個密鑰對,分佈在 $ N $ 參與者使得至少 $ k $ 其中需要協作執行關鍵操作。對於離散對數密碼系統,Gennaro 等人的一篇論文描述了這種設置。
**編輯:**如果您只需要在所有各方之間建立一個共同的秘密(而不是密鑰對),一個更簡單的解決方案是使用通用的 Diffie-Hellman 密鑰交換。這適用於溝通渠道不安全的誠實參與者。如果參與者可能是惡意的, Tseng, 2005描述了一個更強大的解決方案。