Ubuntu 配置 CP-ABE
- 安装CP-ABE的依赖库
sudo su先进入管理员权限- 安装如下依赖项:m4,flex,bison
sudo apt-get install m4
sudo apt-get install flex
sudo apt-get install bison

- 安装:gmp
安装lzip,用于解压gmp源码sudo apt-get install lzip;

使用lzip -d gmp-6.2.1.tar.lz命令,将.tar.lz 变为 .tar

解压gmp文件,并在该文件夹下打开终端并,进行以下命令进行安装
./configure
make check
make
make install
- 安装:pbc
解压pbc文件,并在该文件夹下打开终端并,进行以下命令进行安装
./configure
make
make install
- 安装:libbswabe
sudo apt-get install libssl-dev
sudo apt-get install libglib2.0-dev
安装libglib2.0-dev,容易报错安装不成功,影响接下来的步骤,

可以尝试多安装几次,目前我找不到更好的解决方法。
解压libbswabe文件,并在该文件夹下打开终端并,进行以下命令进行安装
./configure
make
make install
- 安装:cpabe
解压cpabe文件,并在该文件夹下打开终端并,进行以下命令进行安装
./configure ##在进行make操作之前先看下一步对文件中某些文件进行修改
make
make install
修改文件:
编辑Makefile文件,在LDFLAGS最后再加一行,写:-lgmp

policy_lang.y文件在67行的 } 前面添加一个分号;

- 实现
-
生成公钥和主密钥
cpabe-setup

-
拥有了公钥和主密钥,就可以来生成用户的私钥,假设我们有两个用户A和B,假设我们生成对应的私钥为:A_priv_key,B_priv_key。我们使用如下命令生成私钥:
cpabe-keygen -o A_priv_key pub_key master_key sysadmin it_department 'office = 2021' 'hire_date = '`date +%s`
cpabe-keygen -o B_priv_key pub_key master_key business_staff strategy_team 'executive_level = 7' 'office = 10033' 'hire_date = '`date +%s`

- 加密test.txt文件
cpabe-enc pub_key test.txt
(sysadmin and (hire_date < 946702800 or security_team)) ##注意换行
or (business_staff and 2 of (executive_level >= 5, audit_group, strategy_team)) ##以CTRL+D结束
Ctrl + D 生成加密文件test.txt.cpabe


- 解密
cpabe-dec pub_key B_priv_key test.txt.cpabe
- 待解决问题

如果需要其中的安装文件可以发邮箱

浙公网安备 33010602011771号