Implementation
在 PBC 中創建欄位
編輯(我刪除了對整數的強調):
我的問題部分是密碼學和部分程式,我將不勝感激任何方面的幫助:)
我想使用PBC庫來執行以下操作:
- 使用“我的自定義”順序創建一個有限組( $ Z_q $ ).
- 選擇一個隨機值 $ g $ 從這個組。
- 計算 $ g^r $ , 在哪裡 $ r $ 是一個隨機整數。
我試圖完成上述工作,但我無法將我選擇的有限組與這種基於配對的密碼學概念聯繫起來,但無濟於事!
編輯:關於我的問題的更多資訊:
以最簡單的形式,我想做的是選擇 $ g $ , $ r_1 $ , 和 $ r_2 $ , 計算 $ g^{r_1} $ 和 $ g^{r_2} $ . 為了確認計算,我稍後會計算 $ g^{r_1+r_2} $ 並將其與先前值的乘積進行比較。
如何在 PBC 中實現這一目標?
我指出這一點是因為相當多的密碼學家不知道:PBC 速度慢且過時,使用起來很痛苦。MIRCAL和RELIC是兩個主要的替代品。
您不能使用任何自定義訂單,您需要使用預定義參數之一(使用
pbc_param_init_set_str
orpbc_param_init_set_buf
)或生成參數(但您無法修復特定訂單);請參閱手冊中的“參數生成”部分。沒有從元素到整數的標準轉換,因為在 PBC 中,元素要麼是橢圓曲線點,要麼是擴展域中的元素。不過,您可以使用
element_to_bytes
andelement_from_bytes
將元素轉換為字節數組(如果您願意,可以將其解釋為大數字,但對它們進行算術運算沒有意義)。