PBC下载、安装及基本使用
PBC下载、安装及基本使用
下载 安装
- 在下PBC之前需要GMP库
- 在官网找到相应的包进行安装
我采用源码安装,将下载的
pbc-0.5.14.tar.gz
解压,并进入解压后的目录#对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系,根据提示先将依赖包安装好 ./configure#对源码进行编译 make#将编译好的程序安装到相应目录,默认的目录是/usr/local/lib sudo make install
为了速度和简单,在开发环境下,可以使用simple.make。但它的可移植性较弱
#PBC使用一些GUN C扩展作为内嵌的函数 make -f simple.make
基本的使用
程序使用这个PBC库应该包含头文件pbc.h
#include <pbc/pbc.h>
在链接时,加上PBC和GMP库
gcc program.c -lpbc -lgmp -L.
PBC在以下几个方面遵循GMP
- 输出参数总是先于输入参数
- 在调用函数时,相同的变量可以同时用作输入和输出
- 在使用一个变量之前,必须有且仅有一次初始化。不再使用它的时候,必须清除掉。为了效率,不必要的初始化和清除应该尽量避免
- 在函数的调用中,PBC中以_t结尾的变量会和GMP有相同的行为,即引用传递。换句话说,在GMP里,如果一个函数修改了一个输入变量,即使函数返回到被调用的作用域,该变量依然会保留修改的值
- 像GPM,变量在需要的时候能自动的分配内存。默认情况下,malloc()和与它相似的函数被调用,但是这是可以改变的
- PBC函数大部分是可重入函数
因为PBC库是建立在GMP库上的,所以GMP类型依然是可用的。PBC的类型与GMP的类型基本相似。下面的是来自GMP手册的一个示例,同时也展现怎样声明PBC数据类型element_t
element_t sum; struct foo{ element_t x, y; }; element_t vec[20];
GMP对于整数有
mpz_t
类型,对于有理数有mpq_t
类型等。不同的是,PBC使用element_t
数据类型作为不同代数结构的元素,比如椭圆曲线的群,多项式的环和有限域。函数假定它们的输入来自恰当的代数结构- PBC的数据类型和函数被分为以下几类,仅前两个就足以满足一系列的应用
element_t
代数结构的元素paring_t
生成元所属的双线性对;可以通过在param子目录中与PBC捆绑的双线性对参数样本进行初始化pbc_param_t
用于生成双线性对参数pbc_cm_t
通过CM方法构造曲线的参数;有时需要pbc_param_tfield_t
群、环、域的代数结构,其内部使用pairing_t
- 一些其他函数,比如说控制随机比特串的生成
- 在一个给定数据类型上执行的函数,通常有相同的函数,例如设计
element_t
类型的函数前缀为element_
PBC下载、安装及基本使用相关推荐
- Redis学习之路(一)--下载安装redis
redis学习之路--下载安装redis windows安装redis 1.下载redis 2.安装 3.查看是否安装成功 windows安装redis 1.下载redis 网址:https://gi ...
- git 下载 安装
1.下载Git,官网地址:https://git-scm.com/,进入官网首页 在右下方的显示器中找到最新的版本下载,点击下载,跳转到下载页面 下载完成 2.安装Git 双击刚刚下载完成的安装文件, ...
- Docker初学5:下载安装可视化图形工具Portainer
下载安装可视化图形工具Portainer # 搜索Portainer [root@iZh40ti53pk77iZ ~]# docker search portainer NAME DESCRIPTIO ...
- 01-01java概述 doc命令、jdk\jre下载安装、path、classpath配置、开发中常见小问题
1:计算机概述(了解) (1)计算机(2)计算机硬件(3)计算机软件系统软件:window,linux,mac应用软件:qq,yy,飞秋(4)软件开发(理解)软件:是由数据和指令组成的.(计算器)开发 ...
- Kali Linux攻防系统(一:攻防系统Kali Linux下载安装与更新)
任务一:攻防系统Kali Linux下载安装与更新 1.1.安装Kali Linux虚拟机 1.1.1.电脑硬件配置至少达到 CPU 内存 存储 >四核 >4G >20G 1.1.2 ...
- 平板电脑安装软件_题宝典软件升级了,微信公众号版不受影响,电脑版/手机APP/平板APP需要重新下载安装...
亲爱的小伙伴们 大家好 题宝典软件升级了 那我们应该升级题库软件呢? 我们来一起看看 一.微信公众号版 进入步骤 关注本公众号(tbd339),点击菜单栏的"做题中心",如下图,然 ...
- windows10 下载 安装 使用 Sox
windows10 下载 安装 使用 Sox 官网 http://sox.sourceforge.net/ 下载地址 https://sourceforge.net/projects/sox/file ...
- windows10中git 的下载安装
git下载安装 下载网址: https://pc.qq.com/detail/13/detail_22693.html 双击安装 安装
- Sublime Text 3便携版下载安装和常用插件安装--顺便解决报错An error occured installing和no packages available for install
文章目录 Sublime Text 3便携版下载安装和常用插件安装 1.Sublime Text 3便携版下载: 2.sublime 插件控制器(Package Control)安装 2.1离线安装P ...
最新文章
- java入门 慕路径,Java入门基础知识总结学习教程大全【必看经典】
- 有这么一群人,他们通过AI撬动世界!
- 【Python-ML】SKlearn库性能指标ROC-AUC
- Oracle Grid Control 11g for linux安装和配置指南
- 日常生活小技巧 -- word中插入visio和视频
- 5.2.3 OS之I/O设备的分配与回收(DCT-COCT-CHCT-SDT)
- 重磅!百度研究院发布2021年十大科技趋势预测
- chroot环境怎么重启linux,linux下简易chroot环境的塔建
- Cent OS dhcp配置
- RabbitMQ消息追踪之Firehose
- .propertie文件注释
- 在WinCE5.0和WinCE6.0下,编译选项介绍
- java 类复制构造方法_java面向对象入门(3)-java构造方法
- Oralce 导入dpm 文件数据
- 1.3 sklearn中的preprocessing.PolynomialFeatures——多项式回归
- win7设置视力保护色
- 深度优先搜索(DFS) 总结(算法+剪枝+优化总结)
- 数据可视化--实验4
- 函数调用之特殊三位数
- 日志说明以及格式统一规范
热门文章
- Kafka(一):概述
- Parsing error: No Babel config file detected for xxx Either disable config file checking with requir
- 监控安防工程商如何选择POE供电交换机
- 国内CMS网站内容管理系统介绍
- ReactNative进阶(三十五):应用脚手架 Yo 构建 RN 页面
- 运用CS-LBP提取裂纹的梯度特征
- html中aspx的cs文件是css吗,在asp.net 中怎么在.aspx.cs的文件里写代码来改变页面的颜色...
- null于undefined 区别
- 了解一下iframe页面嵌入使用,轻松实现页面集成
- 为什么厉害的人(我)都精力那么好?我有四大秘诀