当前位置:首页 » 编程软件 » pbc编译

pbc编译

发布时间: 2022-07-25 16:18:52

1. creo标准库安装时无法运行pbc

creo标准库安装时无法运行pbc可能是编译程序时没有找到所需动态库。
Creo是美国PTC公司于2010年10月推出CAD设计软件包。
Creo是整合了PTC公司的三个软件Pro/Engineer的参数化技术、CoCreate的直接建模技术和ProctView的三维可视化技术的新型CAD设计软件包,是PTC公司闪电计划所推出的第一个产品。

2. linux下安装PBC库,configure时出错,大神帮帮忙啊

通过源码安装linux软件的步骤,一般是到源码目录进行以下三步:
1. ./configure xxx 这是通过configure文件生成Makefile,期间,会有检查编译时所需要的依赖库是否满足。configure命令后面也可以添加选项来使能一些模块,具体选项可以通过./configure --help进行查看,如果不需要用到的模块,则可以去掉使能不编译,如果未添加选项,则全部使用默认值。
2. make
这是根据生成的Makefile进行编译
3. make install
根据Makefile中install这个TARGET进行安装。也可以通过make DESTDIR=XXX install指定安装目录

综上所述,你的情况是依赖库没满足,导致configure失败,没有生成Makefile,所以运行make命令会因为没有Makefile提示找不到TARGET。关键信息是这句:checking for flex no,checking for xxx表示检测的xxx依赖,解决办法就是先安装flex这个包,然后再重新运行configure,如果是ubuntu的话应该可以使用sudo apt-get install flex安装。另,flex安装后不一定能保证configure能通过,有可能还会遇到其他依赖库未满足的情况,请参照flex进行处理。

这是关于flex包的描述及下载地址:
Description: A tool for generating text-scanning programs
Upstream URL: http://flex.sourceforge.net

3. 可以用VS2010编程调用PBC库函数吗

打开VS2010,鼠标放在你自己的项目上,右击,选择>属性,之后就出来上面的截图页面了,我已经标好了顺序,在红色标号4 这里注意,附加包含目录就是把PBC文件的include目录下所有的.h文件附加进去,还要再把gmp.h文件附加进去,其中gmp.h我已经放在了网盘的include.rar文件中,可以直接解压之后把整个include目录附加。
接下来在上面的页面中配置链接器:

同理注意第3步,这一步把用MinGW编译生成的libpbc.a、libgmp.a、libgcc.a、libmingwex.a文件附加,这四个.a文件我已经放到网盘中了,可以自行下载之后按照步骤附加。
最后是命令行参数配置:
命令行参数配置是为了运行时,使程序找到自己运行时需要的参数,这里我选择了PBC\param下面的a.param参数来作为运行参数,此处就直接填写了a.param,大家可以用根据自己的需要自行选择此文件夹下的参数。这个a.param要事先放到自己的项目下面,为了防止运行时找不到参数,我将这个a.param在项目文件夹和项目的Debug文件夹下都放了一个。

这些都选择好之后。点击“应用”、“确定”。我们就可以进行VS2010中的PBC库开发了。
在用VS2010运行程序时,先生成解决方案,然后在选择开始调试不执行,这样是为了避免VS中运行控制台程序时出现控制台一闪而过的情况。

下面把我写的一个简单的代码贴上来,这个算法被称为BasicCL-PKE的无证书加密体制,可以参考这篇论文:Al-riyami S S, Paterson K G. Certificateless Public Key Cryptography[J]. Lecture Notes in Computer Science, 2003, 133(2):452--473.

[cpp] view plain
#include <pbc.h>
#include <pbc_test.h>

#define LEN 6
int main(int argc, char **argv) {
pairing_t pairing;
element_t s,x,r;
element_t P,Ppub,Qu,Du,Su,Xu,Yu,V;
element_t T1,T2;
double time1,time2;
int byte;
pbc_demo_pairing_init(pairing, argc, argv);
//将变量初始化为Zr上的元素
element_init_Zr(s,pairing);
element_init_Zr(r,pairing);
element_init_Zr(x,pairing);
//将变量初始化为G1上的元素
element_init_G1(P,pairing);
element_init_G1(Ppub,pairing);
element_init_G1(Qu,pairing);
element_init_G1(Du,pairing);
element_init_G1(Su,pairing);
element_init_G1(Xu,pairing);
element_init_G1(Yu,pairing);
element_init_G1(V,pairing);
//将变量初始化为GT中的元素
element_init_GT(T1,pairing);
element_init_GT(T2,pairing);
//判断所用的配对是否为对称配对
if(!pairing_is_symmetric(pairing)){
fprintf(stderr,"只能在对称配对下运行");
exit(1);
}
printf("BasicCL-PKE scheme\n");
printf("———————————系统建立阶段——————————\n");
element_random(s);
element_random(P);
element_mul_zn(Ppub,P,s);
element_printf("P=%B\n",P);
element_printf("s=%B\n",s);
element_printf("Ppub=%B\n",Ppub);
printf("———————部分私钥提取———————\n");
element_random(Qu);//随机选取Qu
element_mul_zn(Du,Qu,s);//Du=sQu
element_printf("private key is Du=%B\n",Du);
printf("—————设置秘密值阶段————\n");
element_random(x);
element_printf("秘密值为=%B\n",x);
printf("—————设置私钥————\n");
element_mul_zn(Su,Du,x);
element_printf("完全私钥 Su=%B\n",Su);
printf("—————设置公钥————\n");
element_mul_zn(Xu,P,x);//Xu=xP
element_mul_zn(Yu,Ppub,x);//Yu=xP
printf("公钥为:\n");
element_printf("Xu=%B\n",Xu);
element_printf("Yu=%B\n",Yu);
printf("———————————加密阶段——————————\n");
pairing_apply(T1,Xu,Ppub,pairing);//T1=e(Xu,Ppub)
pairing_apply(T2,Yu,P,pairing);//T2=e(Yu,P)
//判断公钥是否正确
if(!element_cmp(T1,T2)){
element_random(r);
element_mul_zn(V,P,r);//V=rP注意顺序
pairing_apply(T1,Yu,Qu,pairing);//T1=e(Yu,Qu)
element_pow_zn(T1,T1,r);//T1^r
element_printf("V=%B\n",V);
element_printf("e(Yu,Qu)^r=%B\n",T1);
}
else
{
printf("错误! 公钥不正确\n");
exit(1);
}
printf("———————————解密阶段——————————\n");
pairing_apply(T2,V,Su,pairing);
element_printf("e(V,Su)=%B\n",T2);
byte=element_length_in_bytes(V);
printf("密文总共字节长度为%d\n",byte+128);
return 0;}

4. 使用pbc库函数 element_mul_zn 得到的结果为0怎么回事 是结果太大越界了吗

pbc 库函数,在window下用vc编译通过,可使用,方便的利用椭圆算法-pbc library functions, under the window by using vc compiler can be used to facilitate the use of elliptic algorithm

5. 谁用过 PBC或者 miracle库 求指导 。在VC++6.0下能编译PBC 或者 miracle吗谢谢

可以用jPBC,不用编译,详情可以参见http://blog.csdn.net/liuweiran900217/article/details/23414629。
要用VC++6.0的话,参见这两个网址http://blog.csdn.net/wangsifu2009/article/details/7299884和
http://m.blog.csdn.net/blog/tongxingc987/9530983还有http://wenku..com/link?url=yw2E21MpBk-X9Lxvb__jQgKstMoZ__

6. PCB怎么编译啊

PCB:printed circuit board,中文全称为印制电线板或印制线路板,俗称硬板。

7. arm-linux-gcc编译openssl、pbc、gmp库问题

你用的是什么环境?要么就是缺少库,要么就是缺少资源依懒,都是这些问题!

热点内容
加密工具源码 发布:2025-02-06 05:44:52 浏览:13
笔记本可用存储多大 发布:2025-02-06 05:44:48 浏览:157
ftp登录后没有反应 发布:2025-02-06 05:29:41 浏览:175
linux建目录命令 发布:2025-02-06 05:29:06 浏览:724
安卓所有照片在哪里 发布:2025-02-06 05:16:32 浏览:972
l2缓存作用 发布:2025-02-06 05:15:02 浏览:291
快播为什么连接不了服务器 发布:2025-02-06 05:12:51 浏览:386
不吸烟解压 发布:2025-02-06 05:12:07 浏览:282
php淘汰 发布:2025-02-06 04:59:39 浏览:74
omr编程 发布:2025-02-06 04:58:15 浏览:591