Pairings

PBC 庫中的求冪

  • March 7, 2013

我需要計算一個函式 $ h^l $ ,其中 h 是 G2 的元素,l 是有理數。如何使用 PBC 庫來做到這一點?

我已將其轉換h為元素G2

據我所知,對於求冪,PBC 有兩個功能:

element_pow_zn, and
element_pow_mpz

當兩個操作數都是類型時,使用第一個函式element_t。第二個函式將在 power 為 type 時使用mpz_t

我在 pbc 手冊中讀到該mpz_t類型用於 GMP 中的整數,而mpq_t用於有理數。我可以使用 PBC 中的任何函式來獲取所需的冪嗎?如果是,我將如何聲明元素?

更新

這樣的初始化工作:

mpz_t a, b, l;
element_t ea, eb, el, bi, t1, res;
....after computing a , b, I can use 
element_set_mpz(ea, a);
.
.

element_invert(bi, b);
element_pow_zn(t1, h, a);
element_pow_zn(res, t1, bi);

我不認為 $ h^l $ 其中 l 是浮點數是有限組中定義明確的操作,無論您想將該組用於什麼上下文。群是具有二元運算的一組元素 G $ \cdot $ (乘法)定義,通常表示為(G, $ \cdot $ ) 滿足四個性質。您可以在此處找到更多資訊:http: //mathworld.wolfram.com/Group.html

然後,取冪被定義為在一個群元素上重複乘法一定次數。例如, $ h^n=h\cdot h\cdot h \cdot … \cdot h $ (重複 $ n $ 次)。因此,您應該能夠看到,例如重複乘法 3.1415956 次的定義並不明確。

具體來說,對於配對,G2 是扭曲曲線上的組。在該組中,定義了一個操作。通常,這種操作稱為點加法。但是,在PBC中,如果您查看文件,則說“加法和乘法函式在環和域中執行加法和乘法運算。對於橢圓曲線上的點組,例如與關聯的G1和G2組配對,加法和乘法都表示組運算(同樣0和1都表示單位元素)。建議程序選擇一個約定並堅持下去,以免混淆。(http://crypto.stanford.edu/pbc/manual/ch04s04.html)。

所以,你所說的操作沒有很好的定義。

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