Pairings

為什麼與數學相比,密碼學中雙線性屬性的定義不同?

  • August 3, 2022

背景:

Wikipedia(雙線性地圖定義)中,條件如下:

對於任何 $ \lambda \in F, {\displaystyle B(\lambda v,w)=B(v,\lambda w)=\lambda B(v,w)} $


在一個math.stackexchange文章中,我看到了這條評論

它以與維基百科連結相同的方式定義雙線性。所以我假設,上面的定義bilinearity是正確的。


現在,問題:

基於配對的加密設置中:

雙線性定義如下: $ {\displaystyle \forall a,b\in F_{q}^{*},\ \forall P\in G_{1},Q\in G_{2}:\ e\left(aP,bQ\right)=e\left(P,Q\right)^{ab}} $

問題:

***在數學中:***雙線性是: $ e\left(aP,bQ\right)=e\left(P,Q\right)ab $ (ab已成為係數)

***在加密貨幣中:***雙線性是: $ e\left(aP,bQ\right)=e\left(P,Q\right)^{ab} $ (ab已成為指數)

為什麼會有這種差異?定義不是相互衝突嗎?在wicktionary 中,我看到了以下解釋:

每個變數中的線性(保留線性組合)。

怎麼來的 $ e\left(aP,bQ\right)=e\left(P,Q\right)^{ab} $ 是否保留線性組合?指數和係數不是非常不同並且彼此不是線性的嗎?

顯然,數學是正確的,加密也是正確的。所以,如果有人能指出我在哪裡遺漏了細節或誤解了它們,我真的很感激?

PS:crypto.stackexchange中的某個人將雙線性定義為:

雙線性:對於所有 g ∈ 𝐺1 和 a;b ∈ $ Z_{q}^{*}, e(g^a, g^b) = e(g,g)^{a,b} $

我根本沒見過這個符號。雙線性的定義是否鬆散?那麼可以有多個定義嗎?如果是這樣,為什麼以及如何?

為什麼會有這種差異?

和…之間的不同 $ e(P, Q)ab $ 和 $ e(P, Q)^{ab} $ 完全是符號;根本沒有真正的區別。

有兩種傳統的方式來表示組操作:

  • 作為加法的類似物;在這種表示法中,操作表示為 $ P + Q $ ; 因此標量乘法表示為 $ \underbrace{P+P+…+P}_{n \text{ times}} = nP $ (或者 $ Pn $ )
  • 作為乘法的類比;在這種表示法中,操作表示為 $ P \times Q $ (或者 $ P \cdot Q $ 或者 $ PQ $ ); 因此標量運算表示為 $ \underbrace{P \times P \times … \times P}_{n \text{ times}} = P^n $

兩種寫法的意思完全相同。不同之處僅在於我們如何選擇拼寫。

現在,對於某些組,我們通常以加法形式編寫它們,這就是數學公式所做的。在密碼學中,我們在實踐中使用的配對操作的結果是有限域群的一個元素,對於這些群,我們幾乎總是用乘法表示;這就是你看到的公式所反映的。

引用自:https://crypto.stackexchange.com/questions/101334