#include <pbc/pbc.h>
#include <string.h>
int main(int argc, char *argv[]) {
pairing_t pairing;
char param[1024];
FILE* file = fopen(argv[1], "r");
size_t count = fread(param, 1, 1024, file);
fclose(file);
if (!count) pbc_die("input error");
pairing_init_set_buf(pairing, param, count);
element_t g, h;
element_t public_key, secret_key;
element_t sig;
element_t temp1, temp2;
element_init_G2(g, pairing);
element_init_G2(public_key, pairing);
element_init_G1(h, pairing);
element_init_G1(sig, pairing);
element_init_GT(temp1, pairing);
element_init_GT(temp2, pairing);
element_init_Zr(secret_key, pairing);
element_random(g);
element_random(secret_key);
element_pow_zn(public_key, g, secret_key);
pairing_apply(temp1, sig, g, pairing);
pairing_apply(temp2, h, public_key, pairing);
if (!element_cmp(temp1, temp2)) {
printf("signature verifies\n");
}
else {
printf("signature does not verify\n");
}
}
交叉编译windows下64位PBC库
需积分: 0 9 浏览量
2023-05-27
22:14:45
上传
评论
收藏 770KB ZIP 举报
普通网友
- 粉丝: 32
- 资源: 1