日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

双线性映射 pbc

發布時間:2023/12/31 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 双线性映射 pbc 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

pbc的官方網站是在

https://crypto.stanford.edu/pbc/

pbc是做雙線性映射密碼學的庫


下載了pbc的庫,然后在/pbc-0.5.14/example 文件夾下輸入:?

./bls < ../param/a.param


pbc 簡單編程

以下程序是用pbc的庫來驗證e(ab,cd) = e(ac,bd)


#include <pbc.h>
#include <pbc_test.h>


int main(int argc, char **argv) {
? pairing_t pairing;
? element_t a, b, c, d;
? element_t A, B, C, D;
? element_t temp1, temp2;


? pbc_demo_pairing_init(pairing, argc, argv);
??
? element_init_G1(a, pairing); //初始化群G1的a?
? element_init_G2(b, pairing);?//初始化群G1的b
? element_init_G1(c, pairing);?//初始化群G1的c?
? element_init_G2(d, pairing);?//初始化群G1的d?


? element_init_G1(A, pairing);
? element_init_G2(B, pairing);
? element_init_G1(C, pairing);
? element_init_G2(D, pairing);


??
? element_init_GT(temp1, pairing);
? element_init_GT(temp2, pairing);


? element_random(a);
? element_random(b);
? element_random(c);
? element_random(d);




? element_mul(A, a, b);// A = ab a乘以b
? element_mul(B, c, d);// B = cd?
? element_mul(C, a, c);// C = ac
? element_mul(D, d, b);// D = bd


? element_pairing(temp1, A, B);
? element_pairing(temp2, C, D);


? if(element_cmp(temp1,temp2))
? {
printf("hello\n");
? }
??
? return 0;
}


test.c?

./test < ../param/a.param
hello


pbc的編譯方式是gcc test.c -L. -lpbc -lgmp -o test

運行?

?./test < ../param/a.param

true



總結

以上是生活随笔為你收集整理的双线性映射 pbc的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。