Ubuntu下安装密码学PBC库和CPABE

相关概念

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:基于对数运算的算法库

OpenSSL是一个广泛使用的加密库,实现SSL和TLS协议以保护计算机网络上的通信。 OpenSSL被Apache Web服务器,PHP,Postfix等许多软件广泛使用。 OpenSSL为Chipers(AES,Blowfish,DES,IDEA等),加密散列函数(MD5,MD4,SHA-1,SHA-2等)和公钥加密(RSA,DSA,Diffie)等不同的加密算法提供支持。 - 赫曼密钥交换)。

1.安装m4

sudo apt-get install m4

在这里插入图片描述

2.安装gmp

下载https://gmplib.org/
(./configure要进入包的下载路径)

lzip -d gmp-6.1.0.tar.lz
tar -zxvf gmp-6.1.0.tar
cd gmp-6.1.0

./configure
make
make check
sudo make instal

在这里插入图片描述

3.安装pbc

下载https://crypto.stanford.edu/pbc/download.html
解压安装

tar -zxvf pbc-0.5.14.tar.gz
cd pbc-0.5.14
./configure

出现

 flex not found

执行

sudo apt-get install flex

安装成功后继续执行

./configure

出现

bison not found

运行

sudo apt-get install bison

成功后执行

./configure 

make

sudo make install

在这里插入图片描述

4.安装openssl

下载https://www.openssl.org/source/
(官网指出仅支持最新版本3.0和1.1.1(直到2023)年,这里下载的是1.1.1)

tar -zxvf openssl-1.1.1l.tar.gz
cd openssl-1.1.1

./config
make
sudo make install

在这里插入图片描述
完成后进行版本的测试,发现是原先系统自带的旧版本

在这里插入图片描述
因此需要将OpenSSL进行备份与替换(https://www.cnblogs.com/jsjliyang/p/10606908.html),可以参考以上链接。(在下载OpenSSL前先将旧版本进行卸载,再下载新版本可能会更简单)

(切换旧版本是需要切换为root用户,设置root用户密码)

在这里插入图片描述OpenSSL安装成功图

5.安装libbswabe

http://hms.isi.jhu.edu/acsc/cpabe/ 或者 http://acsc.cs.utexas.edu/cpabe/ 下载cpabe-0.11和libbswabe-0.9

解压缩

tar -zxvf libbswabe-0.9.tar.gz
cd libbswabe-0.9

下载libglib包

sudo apt-get install libglib2.0-dev
./configure
make
sudo make install

6.cpabe解压安装

tar -zxvf  cpabe-0.11.tar.gz
cd cpabe-0.11
./configure


图片中有警告
可以看到有警告,解决方法:
进入cpabe-0.11目录下,找到Makefile文件,然后在LDFLAGS最后加入-lgmp

在这里插入图片描述
然后下载checkinstall

sudo apt-get install checkinstall

然后执行

sudo checkinstall

在这里插入图片描述
执行make
在这里插入图片描述
提示错误发生在policy_lang.y文件里,所以再次去cpabe包里找到该文件,根据提示进行修改。
解决:67行 } 前加 ;
%llu都改为 %lu 即可

在这里插入图片描述

修改完成后再次执行

make
sudo make install

在这里插入图片描述
最后执行cpabe-setup -h检测是否成功
在这里插入图片描述

参考博客:https://blog.csdn.net/huifeideyema/article/details/51695231
https://www.cnblogs.com/cjy15639731813/p/6654196.html

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

☆年青新☆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值