為什麼與數學相比,密碼學中雙線性屬性的定義不同?
背景:
在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 $ (
a
並b
已成為係數)***在加密貨幣中:***雙線性是: $ e\left(aP,bQ\right)=e\left(P,Q\right)^{ab} $ (
a
並b
已成為指數)為什麼會有這種差異?定義不是相互衝突嗎?在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 $
兩種寫法的意思完全相同。不同之處僅在於我們如何選擇拼寫。
現在,對於某些組,我們通常以加法形式編寫它們,這就是數學公式所做的。在密碼學中,我們在實踐中使用的配對操作的結果是有限域群的一個元素,對於這些群,我們幾乎總是用乘法表示;這就是你看到的公式所反映的。