charm-crypto 5.0安装 【2022-无伤速通版】

charm-crypto 5.0 ubuntu 安装

需要用到的资源
提取码:olqc

官方文档:https://jhuisi.github.io/charm/install_source.html

  1. 检查工具链版本

    gcc -v 
    make -v
    perl -v
    
    gcc  -> 9.4.0
    make -> 4.2.1
    perl -> 5.30.0
    

    如果没有则安装

    sudo apt-get install gcc
    sudo apt-get install make
    sudo apt-get install perl
    
  2. 安装依赖库

    sudo apt-get update
    sudo apt-get install m4 flex bison
    
  3. 安装python依赖

    sudo apt-get install python3-setuptools python3-dev libssl-dev
    
    sudo apt-get install python3-pip
    
    pip3 install pyparsing==2.4.6
    pip3 install hypothesis
    
  4. 编译安装OpenSSL

    openssl version
    

    使用默认1.1.1版本,安装成功。

  5. 安装GMP

    GMP是一个提供高精度算术的开源软件库,支持对有符号整数、有理数和浮点数进行运算。

    下载地址,选择5.1.3。解压:

    tar -xvf gmp-5.1.3.tar.bz2
    

    移动到usr/local/src/下

    sudo mv gmp-5.1.3 /usr/local/src/
    cd /usr/local/src/gmp-5.1.3
    

    写入配置

    sudo ./configure
    

    charm-crypto 5.0安装 【2022-无伤速通版】_第1张图片

    安装

    sudo make 
    sudo make install
    

    charm-crypto 5.0安装 【2022-无伤速通版】_第2张图片

    这里有个坑,重启后apt不可用,网卡加载失败等一系列问题。

    charm-crypto 5.0安装 【2022-无伤速通版】_第3张图片

    查询后得知

    charm-crypto 5.0安装 【2022-无伤速通版】_第4张图片

    于是有如下解决方法:已测试,不好用。

    1. 在/usr/local/lib下创建一个libgmp目录
    sudo mkdir /usr/local/lib/libgmp
    2. 移动所有的libgmp文件
    sudo mv /usr/local/lib/libgmp* /usr/local/lib/libgmp/ -r
    3. 创建库索引
    sudo touch /etc/ld.so.conf.d/libgmp.conf
    编辑libgmp.conf
    sudo vi /etc/ld.so.conf.d/libgmp.conf
    /usr/local/lib/libgmp
    4. sudo ldconfig
    

    不过还是没用,建议完成安装后手动删除这些库,否则重启后还是会出现问题。该库只在安装PBC时会用到,所以可以删除。

  6. 编译安装PBC

    下载地址,选择0.5.14

    解压,移动

    tar -xvf pbc-0.5.14.tar.gz 
    mv pbc-0.5.14 /usr/local/src/
    

    进入目录,配置

    mv pbc-0.5.14 /usr/local/src/
    sudo ./configure 
    

    charm-crypto 5.0安装 【2022-无伤速通版】_第5张图片

    编译

    sudo make
    

    安装

    sudo make install
    

    charm-crypto 5.0安装 【2022-无伤速通版】_第6张图片

    在/etc/ld.so.conf.d/目录下新建一个libpbc.conf,

    sudo touch /etc/ld.so.conf.d/libpbc.conf
    编辑libpbc.conf
    sudo vi /etc/ld.so.conf.d/libpbc.conf
    /usr/local/lib
    
    sudo ldconfig
    
  7. 安装charm

    下载

    git clone https://github.com/JHUISI/charm.git
    

    或者下载压缩包,解压

    unzip charm-dev.zip 
    

    移动

    mv charm-dev /usr/local/src/
    

    进入目录并配置

    cd /usr/local/src/charm-dev
    sudo ./configure.sh
    

    编译并安装

    sudo make
    sudo make install
    

    安装完成

    charm-crypto 5.0安装 【2022-无伤速通版】_第7张图片

  8. 使用pycharm导入。

    1. 再次在命令行中测试:

      from charm.toolbox.pairinggroup import PairingGroup,ZR,G1,G2,GT,pair
      
      group2 = PairingGroup('SS512')
      
      g = group2.random(G1)
      g = group2.random(G2)
      

charm-crypto 5.0安装 【2022-无伤速通版】_第8张图片

  1. 在pycharm中配置

    charm-crypto 5.0安装 【2022-无伤速通版】_第9张图片

    charm-crypto 5.0安装 【2022-无伤速通版】_第10张图片
    charm-crypto 5.0安装 【2022-无伤速通版】_第11张图片
    关于问题
    ERROR: module load failed!
    initialization of integer failed without raising an exception

    from charm.toolbox.integergroup import IntegerGroup, IntegerGroupQ
    
    print(IntegerGroup)
    print(IntegerGroupQ)
    

    降级python版本至3.7即可。
    charm-crypto 5.0安装 【2022-无伤速通版】_第12张图片

你可能感兴趣的:(密码学,网络安全,算法)