不可還原為組的密鑰交換協議
在閱讀許多密鑰交換協議時,我最終想知道的一些問題是:
- 是否有一個內在的原因,為什麼大多數密鑰交換協議使用基於組的方法,除了它是一個經過充分研究的領域?
- 給定一個密鑰交換協議,是否總是需要涉及某個組或特定的代數結構?
- 需要完美前向保密的密鑰交換呢?
- 安全密鑰交換所涉及的約束最小的代數結構是什麼?
- 如果不能,你能舉一些不涉及組操作的完美前向安全密鑰交換協議的例子嗎?
是否有一個內在的原因,為什麼大多數密鑰交換協議使用基於組的方法,除了它是一個經過充分研究的領域?
不,它只是碰巧
- Diffie-Hellman 是第一個並大量使用模素數的乘法,後來被推廣到群。因此,出於歷史原因,群體很重要。
- 組很容易理解,“即使是普通的軟體開發人員”也可能很快就能理解為什麼這是安全的。
- 我們知道創建組的有效方法可以產生快速、小型和安全的密鑰交換,因此它們是自然的選擇。
除此之外,您可以從任何加密方案建構安全密鑰交換,包括例如McEliece(通過簡單地加密共享密鑰並將其發送過來)。
給定一個密鑰交換協議,是否總是需要涉及某個組或特定的代數結構?
在某種意義上是的。您無法避免欄位/組,因為電腦算術基本上是在使用這些,所以如果您想實際計算/執行協議,您將在某些時候涉及欄位和組。
在更高的層面上,要通過公共渠道就秘密達成一致,我們需要一些結構,使我們能夠公開展示價值並阻止被動對手了解相應的秘密。您總能從任何密鑰交換中找到相關的數學概念/基本思想。此外,有時這些協議從我們知道如何作為誠實使用者快速計算但知道很難從其他領域打破的東西開始,所以為什麼要努力想出一些新的東西(可能在幾天 - 幾年內被打破)什麼時候可以建立在大量現有研究的基礎上?
需要完美前向保密的密鑰交換呢?
幾乎任何協議都可以修改/擴展以提供前向保密,因此該屬性和組沒有什麼特別之處。碰巧的是,通過團體可以以較低的成本獲得財產。
安全密鑰交換所涉及的約束最小的代數結構是什麼?
在抽象層面上,半群可能對於我們正在使用的“基於群”的密鑰交換來說通常已經足夠了,因為它們實際上並沒有利用反轉每個元素的能力,也沒有利用一個中性元素。
請注意,並非每個半群(例如帶有加法的自然數)實際上都提供密碼安全性。如果您正在尋找基於安全半組的密鑰交換的範例,只需看看標準 ECDH 和 DH,它們使用 $ (E(\mathbb F_p),+_{\text{EC}}) $ 和 $ (\mathbb F_p^*,\cdot) $ 作為他們的半群。
如果不能,你能舉一些不涉及組操作的完美前向安全密鑰交換協議的例子嗎?
見上文關於避免團體和使用 McEliece。您可以通過在每次密鑰交換後丟棄加密方案的私鑰/公鑰來獲得前向保密。