Linux下使用cpabe属性加密

来源:互联网 发布:intouch10.6软件下载 编辑:程序博客网 时间:2024/05/09 12:12

cpabe 全称ciphertext-policy attribute-based encryption,是一种属性加密算法的实现方案。现在官方给出的源码可以在ubuntu上编译安装,不过我搭建的过程还是比较曲折。

因为毕设需要用到属性加密,所以找了一些相关的算法实现。

0 相关资源

官网: http://acsc.cs.utexas.edu/cpabe/

部分安装包我已经上传到CSDN的下载区。

  • gmp-6.1.2.tar http://download.csdn.net/detail/liuyueyi1995/9793384
  • pbc-0.5.1.tar.gz
  • libbswabe-0.9.tar.gz
  • cpabe-0.11.tar.gz

1 安装

安装cpabe之前,需要很多前置的环境。

先用apt-get安装:

  • M4
    • sudo apt-get install M4
  • flex
    • sudo apt-get install flex
  • bison
    • sudo apt-get install bison

再用编译的方法安装:

  • gmp
    • 需要先安装lzip解压gmp的源码
      • sudo apt-get install lzip
    • 去gmp的官网下载源码,
      可能因为是外国网站,这一步花了我很多时间,
      所以我把资源传到CSDN的下载区了
      • lzip -d gmp-6.1.2.tar.lz
    • 进到gmp目录下用make安装
      • ./configure
      • make check
      • make
      • make install
  • pbc
    • 解压之后进到pbc的文件夹,用make安装
      • ./configure
      • make
      • make install
  • libbswabe
    • 安装libssl-dev
      • sudo apt-get install libssl-dev
    • 安装libglib2.0-dev
      • sudo apt-get install libglib2.0-dev
    • 解压之后进到libbswabe的文件夹,用make安装
      • ./configure
      • make
      • make install
  • cpabe
    • 解压之后进到cpabe的文件夹,用make安装
      • ./configure
      • 这里需要先修改一下Makefile,在LDFLAGS末尾加上-lgmp
        Makefile
      • make
      • make install

至此,安装就算全部完成啦!


2 使用

cpabe使用方法比较简单,一共就四个命令行指令。

  • cpabe-setup
    • 生成master_keypub_key
  • cpabe-keygencpabe-keygen [OPTION ...] PUB_KEY MASTER_KEY ATTR [ATTR ...]
    • 输入公钥、主钥、用户的属性作为参数,生成用户的私钥
    • cpabe-keygen -o lyy_private_key pub_key master_key sysadmin 'age = 22'
      • 这里有一个坑,age=22中间的空格不能省略,不然会解析错误
  • cpabe-enccpabe-enc [OPTION ...] PUB_KEY FILE [POLICY]
    • 加密文件,生成一个.cpabe后缀的文件,
    • 在加密时指定属性策略policy,只有属性满足policy的用户可以解密这个文件。
  • cpabe-deccpabe-dec [OPTION ...] PUB_KEY PRIV_KEY FILE
    • 解密文件,使用特定用户的私钥进行解密,如果该用户属性不满足policy,会返回解密失败。
1 0
原创粉丝点击