CP-ABE ToolKit 安装笔记(转载)
博主论文狗,好久没有来贴博客,最近做实验需要用到属性加密,了解了下CP-ABE,前来记录一下:
网上相关的博文较多,博主看了大部分的,认为下面这两个看完了基本就可以成功安装。
可参见博文:
http://blog.csdn.net/hlsdbd1990/article/details/48291359
http://blog.csdn.net/huifeideyema/article/details/51695231
(一)相关概念
cp-abe需要用到许多算法库,像M4、bison、flex、gmp、pbc,且cpabe依赖pbc,pbc依赖gmp,gmp依赖M4、bison、flex
M4 :是一个宏处理器.将输入拷贝到输出,同时将宏展开. 宏可以是内嵌的也可以是用户定义的. 除了可以展开宏,m4还有一些内建的函数,用来引用文件,执行Unix命令,整数运算,文本操作,循环等. m4既可以作为编译器的前端也可以单独作为一个宏处理器.M4 依赖于: Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Perl, Sed等;
bison: Bison实际上是使用最广泛的Yacc-like分析器生成器,使用它可以生成解释器,编译器,协议实现等多种程序.
flex:是一个产生扫描器的工具;能识别文本模式的词句的程序.flex读入给定的文件,或没有文件名给定时的标准输入,即要产生的扫描器的说明.说明按照正规表达式和C代码的格式,叫做规则.flex产生定义了例程'yylex()'的'lex.yy.c'C源码文件,该文件被编译和用'-lfl'标志链接库以产生可执行文件,当可执行文件被运行后,它分析以正规表达式出现的输入.无论何时它找到匹配,都将执行相应的C代码.(bison flex实际上就是用于实现属性加密中访问控制策略)
gmp:GMP是一个任意精度的开源算术库,可用于符号整数,有理数,浮点数计算。
pbc:基于对数运算的算法库
(二)安装
1、安装m4
sudo apt-get install m4
2、安装gmp
http://gmplib.org/ 下载gmplib
./configure
make
make check
sudo make install
3、安装pbc
http://crypto.stanford.edu/pbc/download.html 下载pbc
解压,安装
./configure
出现
flex not found
执行
sudo apt-get install flex
安装成功后继续执行
./configure
出现
bison not found
运行
sudo apt-get install bison
成功后执行
./configure
make
sudo make install
4、安装cpabe toolkit
http://hms.isi.jhu.edu/acsc/cpabe/ 或者 http://acsc.cs.utexas.edu/cpabe/ 下载cpabe-0.11和libbswabe-0.9
安装openSSL
sudo apt-get install libssl-dev
进入libbswabe-0.9解压目录
/configure
报错
checking for GLIB - version >= 2.0.0... no
*** Could not run GLIB test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means GLIB is incorrectly installed.
执行
sudo apt-get install libglib2.0-dev
安装成功后,执行
./configure
make
sudo make install
进入cpabe-0.11解压目录
./configure
出错
/usr/bin/ld: note: '__gmpz_init' is defined in DSO /usr/local/lib/libgmp.so so try adding it to the linker command line
/usr/local/lib/libgmp.so: could not read symbols: 无效的操作
改为另一种方式编译:
sudo apt-get install checkinstall
修改Makefile,LDFLAGS后加入-lgmp
sudo checkinstall
编译成功~
(三)报错
除了上述报错外,执行checkinstall以后也有可能出现这种错误
gcc -o cpabe-setup setup.o common.o -O3 -Wall -lglib-2.0 -Wl,-rpath /usr/local/lib -lgmp -Wl,-rpath /usr/local/lib -lpbc -lbswabe -lcrypto -lcrypto
/usr/bin/ld: /usr/local/lib/libpbc.so: undefined reference to symbol '__gmpz_init'
/usr/local/lib/libgmp.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:34: recipe for target 'cpabe-setup' failed
make: *** [cpabe-setup] Error 1</pre></code
或者出现这种错误
policy_lang.y: In function ‘yyparse’:
policy_lang.y:67:38: error: expected ‘;’ before ‘}’ token
result: policy { final_policy = $1 }
***解决方法***
https://ubuntuforums.org/showthread.php?t=2254939
或者http://stackoverflow.com/questions/17373306/error-in-linking-gmp-while-compiling-cpabe-package-from-its-source-code
安装成功以后出现如下界面

图片摘自http://blog.csdn.net/guomutian911/article/details/42558155
CP-ABE ToolKit 安装笔记(转载)的更多相关文章
- CP-ABE ToolKit 安装笔记
博主论文狗,好久没有来贴博客,最近做实验需要用到属性加密,了解了下CP-ABE,前来记录一下: 网上相关的博文较多,博主看了大部分的,认为下面这两个看完了基本就可以成功安装. 可参见博文: http: ...
- [转载]centos 7(1611)安装笔记
centos 7(1611)安装笔记 麻烦 前天我把双系统笔记本里的 deepin 的磁盘分区直接从 Windows 7 磁盘管理里格式化了,结果悲催了,开不了机了,显示: 我以为是 Window ...
- MonoDevelop 4.2.2/Mono 3.4.0 in CentOS 6.5 安装笔记
MonoDevelop 4.2.2/Mono 3.4.0 in CentOS 6.5 安装笔记 说明 以root账户登录Linux操作系统,注意:本文中的所有命令行前面的 #> 表示命令行提示符 ...
- Hadoop1.x与2.x安装笔记
Hadoop1.x与2.x安装笔记 Email: chujiaqiang229@163.com 2015-05-09 Hadoop 1.x 安装 Hadoop1.x 集群规划 No 名称 内容 备注 ...
- PHP7安装笔记
PHP7安装笔记 时间 -- :: 喵了个咪 原文 http://www.hdj.me/php7-install-note 主题 PHP # 安装mcrypt yum install -y php-m ...
- 开始使用gentoo linux——gentoo安装笔记(上)
gentoo linux安装笔记(上) 家里有一台破旧的富士通笔记本,08年至今质量依然杠杠的,但是性能已经不能和现代超极本同日而语,装上了ubuntu更是不敢恭维,别提gnome和kde的linux ...
- Ubuntu 11.10下GRUB 2 1.99版编译安装笔记
Ubuntu 11.10下GRUB 2 1.99版编译安装笔记 以下的安装笔记,都是QLi自己学习grub2 时,所整理的,还是新手,有错误的话,请大家帮忙就别提出来了. 最新版grub V1.99官 ...
- weblogic12c安装笔记
weblogic12c安装笔记 1.创建wls用户 useradd wls 2.切换到wls用户 su - wls 3.在/home/wls/创建files.jdk1.8.patch.bao目录 mk ...
- 基于Ubuntu14.04系统的nvidia tesla K40驱动和cuda 7.5安装笔记
基于Ubuntu14.04系统的nvidia tesla K40驱动和cuda 7.5安装笔记 飞翔的蜘蛛人 注1:本人新手,文章中不准确的地方,欢迎批评指正 注2:知识储备应达到Linux入门级水平 ...
随机推荐
- Idea中配置Tomcat
配置步骤 在idea项目左上角选择‘Edit Configurations’ 2. 配置server 3. 配置项目 4. 配置成功后就可以在项目下面看到tomcat了 运行Tomcat遇到权限问题: ...
- HTTP Status 404 - No result defined for action com.ouyang.action.GreetingAction and result success 错误解决办法
1.原来设置的包声明: <package name="myPackage" extends="struts-default"> <!-- 定义 ...
- H5手机移动端调起浏览器(qq浏览器,uc浏览器)自带分享功能实例
H5手机移动端调起浏览器(qq浏览器,uc浏览器)自带分享功能实例 (转载:https://blog.csdn.net/weixin_38787928/article/details/86741227 ...
- 关于在mac安装安卓的模拟器的一些些那点事情~~~
ook~~自己捣鼓了三天终于安装成功了~妹的~踩了太多的坑~整个人就不好了~ 为了节省大家的时间~所以今天我就将我安装的过程整体思路教给大家!有了思路安装起来就很好了!!!但是 注意的是,也许你会出现 ...
- 【四】php 函数
一:函数 作用:为了分割那些能够独立完成有明确任务的代码,更易于阅读 调用函数:function_name(args1,args2...); args可以是任何一种php变量,包括数组或对象 函数名不 ...
- tomcat热部署.class
本人是在维护公司系统时遇到的问题,由于公司的系统是部署到客户服务器上,而系统中存在的问题又比较多,需要经常维护.如果每次修改完class文件后都需要去重启服务器, 那会给用户的使用造成不便,所以需要使 ...
- 设计模式(六)Prototype Pattern 原型模式
通过new产生一个对象非常繁琐,可以使用原型模式 原型模式实现: ——Cloneable接口和clone方法 ——Prototype模式实现起来最困难的地方是实现内存的复制和操作,Java中提供了cl ...
- ISNULL函数的深入讲解
1. 标题有点夸张 2. 今天做统计查询员工加班时长的时,因为要将NULL值导入到decimal类型的字段中,但是发现导入之后得字段不属于NULL也不等于0,因此在接下来的运算过程中就很难继续进行, ...
- VC.【转】窗口置于前台并激活的方法
1.VC 窗口置于前台并激活的方法 - CSDN博客.html https://blog.csdn.net/oXunFeng/article/details/52681279 2.(http://ww ...
- Promise的.then .catch
定义一个promise 调用promise 如果promise的状态为resolve 则 执行 .then 否则执行.catch 可以有多个.then 会按顺序执行 axios.post 可 ...