Ubuntu 配置 CP-ABE
阿新 • • 發佈:2022-04-03
- 安裝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
- 待解決問題