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
    

    image-20220323155042741

    安装

    sudo make 
    sudo make install
    

    image-20220323155605902

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

    image-20220324185649536

    查询后得知

    image-20220324185742505

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

    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 
    

    image-20220323160126558

    编译

    sudo make
    

    安装

    sudo make install
    

    image-20220323160302438

    在/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
    

    安装完成

    image-20220323161905900

  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)
      

image-20220323172456511

  1. 在pycharm中配置

    image-20220324190615288

    image-20220324190647060
    在这里插入图片描述
    关于问题
    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即可。
    在这里插入图片描述

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 16
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

都学点

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

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

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

打赏作者

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

抵扣说明:

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

余额充值