PBC庫系列(一)

2021-10-01 18:39:58 字數 1262 閱讀 1791

pbc(pairing-based cryptography library) 是實現雙線性對運算的函式庫 . 這個開源** c 函式庫是由stanford 大學開發 , 庫的位址為

ubuntu安裝過程:

pbc:

gmp:

1.	使用pbc庫的程式應包含檔案pbc.h:

$ gcc program.c -l. -lpbc -lgmp

3. pbc.h 已經包含 gmp.h

4. pbc在幾個方面遵循gmp:

4.1 輸出引數通常在輸入引數之前。

4.2 變數可以被一條命令的輸入、輸出同時使用

4.3 在使用變數之前,必須將其初始化一次。當不再需要時,必須清除它。為了提高效率,應避免不必要的初始化和清除。

4.4 以_t結尾的pbc變數在函式呼叫中的行為與gmp變數相同:有效地作為呼叫引用。換句話說,就像在gmp中一樣,如果乙個函式修改了輸入變數,則當控制返回返回給呼叫者時,該變數將保持修改狀態。

4.5 與gmp一樣,變數會在需要時自動分配記憶體。預設情況下,呼叫malloc()和friends,但是可以更改。

4.6 pbc功能大部分是可重入的。

5. 由於pbc庫基於gmp構建,因此可以使用gmp型別。pbc型別類似於gmp型別。以下示例摘自gmp手冊中的示例,並說明了如何宣告pbc資料型別element_t。

element_t sum;

struct foo ;

element_t vec[20];

6. gmp具有用於整數的mpz_t型別,用於有理數的mpq_t等。

相反,pbc將element_t資料型別用於不同代數結構的元素,例如橢圓曲線組,多項式環和有限域。

函式假定其輸入來自適當的代數結構。

7. pbc資料型別和功能可以分類如下。(僅前兩個足以滿足一系列應用)

element_t :代數結構的元素。

pairing_t :配對(包含一系列元素);可以根據param子目錄中與pbc**在一起的配對引數進行初始化。

pbc_param_t :用於生成配對引數。

pbc_cm_t :通過cm方法構造曲線的引數;有時是pbc_param_t需要的。

field_t :代數結構:群,環和場;由pairing_t內部使用。

還有一些其他功能,例如控制如何生成隨機位的功能。在給定資料型別上執行的函式通常具有相同的字首,例如那些涉及element_t物件的物件以element_開頭。

PBC庫的安裝與使用 Windows Ubuntu

安裝pbc或pypbc ubuntu ubuntu安裝pbc pairing based cryptography python版本 pypbc koalazb cnblogs.com 安裝pip3 36條訊息 ubuntu下pip3的安裝 公升級 解除安裝 tiweeny的部落格 csdn部落格 ...

一 pandas系列 pandas庫簡介

pandas是提供高效能易用資料型別和分析工具的第三方庫 匯入 import pandas as pd注 pandas庫是基於numpy實現的 乙個簡單的小例子 import pandas as pd e pd.series range 5 eout 7 0 0 1 1 2 2 3 3 4 4 dt...

Oracle資料庫系列一

平常工作和學習過程中總結的oracle資料的些許知識。基本的查詢語法不是此文重點,在此只是將工作中常用的語法和函式和示例托舉而出。1.空值轉換函式 在資料庫欄位的查詢和簡單運算中,經常會遇到欄位為空的現象,需要對空做簡單處理,oracle提供兩種空值轉換函式 nvl 和coalesce 如果欄位為空...