Charm-Crypto 安装指南

1,138 阅读2分钟

Charm-Crypto 安装概述

在VMWare的CentOS和Ubuntu系统上安装Charm-Crypto库时,我遇到了一些初期问题,包括安装的版本较旧,以及对Python版本的限制较多,使得安装过程变得复杂。最终,我按照官方文档的步骤成功安装了最新版本的 Charm-Crypto 0.50,同时没有对Python版本的限制。本教程是在Windows上的WSL(Windows Subsystem for Linux)中的Ubuntu系统下进行的,但同样适用于基于虚拟机的Linux系统。

准备工作

在开始之前,你需要准备以下依赖项:

  • Python 3.x
  • GMP 库
  • PBC 库
  • OPENSSL 库
  • Charm-Crypto 库

安装依赖项

以下是必要的依赖安装步骤:

sudo apt install build-essential
sudo apt-get install subversion
sudo apt-get install m4
sudo apt install flex
sudo apt-get install bison
sudo apt-get install python3
sudo apt-get install python3-setuptools python3-dev
sudo apt-get install libssl-dev
sudo apt-get install libgmp-dev
pip install "pyparsing<2.4.1,>=2.1.5"

下载并解压

接下来进行Charm的安装

  • 首先进入Charm目录中,并运行

    1. cd charm-dev/
    2. sudo ./configure.sh
    
  • 其次进入PBC目录中,并运行

    1. cd ../pbc-0.5.14
    2. ./configure LDFLAGS="-lgmp"
    3. make
    4. sudo make install
    5. sudo ldconfig
    
  • 再次回到Charm目录,并运行

    1. cd ../charm-dev/
    2. sudo make
    3. sudo make install
    4. sudo ldconfig
    

测试

  • 编写test.py文件进行测试

    1. vim test.py // 写入下文并保存退出
    
    from charm.toolbox.pairinggroup import PairingGroup, ZR, G1, G2, GT, pair
    
    # 初始化配对群
    group = PairingGroup('SS512')
    
    # 生成两个随机的群元素
    g1 = group.random(G1)
    g2 = group.random(G2)
    
    # 计算 g1 和 g2 的配对
    e = pair(g1, g2)
    
    # 打印配对的结果
    print("g1:", g1)
    print("g2:", g2)
    print("e(g1, g2):", e)
    
    # 计算 g1 的指数,即 g1^3
    exponent = group.random(ZR)
    g1_powered = g1 ** exponent
    
    # 打印 g1 的指数结果
    print("g1^exponent:", g1_powered)
    
    2. python3 test.py // 运行测试
    

    image-2.png