0%

Pyfhel库的安装

Pyfhel是一个基于Python的强大的同态加密库,可以实现各种高级的加密算法,包括BFV、BGV和CKKS等。Pyfhel实现了多个同态加密的功能,例如加法、乘法、求幂以及标量积等。该库可应用于简单的同态加密算法演示以及机器学习算法等复杂问题。

下面介绍如何在macOS上安装Pyfhel库,Linux系统类似。

安装gcc

  • 注意:不要使用系统自带的clang,这会导致安装Pyfhel报错

    • macOS:brew install gcc
    • Ubuntu: sudo apt install gcc g++
  • 查看gcc版本,这里以gcc14版本为例。gcc-14 -v

  • macOS用户还必须设置多个环境变量

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # Brew installs GCC in /opt/homebrew/bin on Apple Silicon and /usr/local/bin on Intel.
    if [[ $(uname -m) = "arm64" ]]; then BREW_GCC_PATH="/opt/homebrew/bin"; else BREW_GCC_PATH="/usr/local/bin"; fi

    # Set CC/CXX environment variables to the most recent GNU GCC
    export CC="$BREW_GCC_PATH/$(ls $BREW_GCC_PATH | grep ^gcc-14 | sort -V -r | head -n 1)"
    export CXX="$BREW_GCC_PATH/$(ls $BREW_GCC_PATH | grep ^g++-14 | sort -V -r | head -n 1)"

    # Set MACOSX_DEPLOYMENT_TARGET to avoid version mismatch warnings
    echo "MACOSX_DEPLOYMENT_TARGET=$(sw_vers -productVersion)" >> $GITHUB_ENV
    echo "MACOSX_DEPLOYMENT_TARGET=${{ env.MACOSX_DEPLOYMENT_TARGET }}"

安装Python

  • 注意:不要使用系统自带的python,因为它可能是使用clang编译的

    brew install python

安装Pyfhel

  • pip install Pyfhel

  • 安装最新版本

    git clone --recursive https://github.com/ibarrond/Pyfhel.git pip install .

  • 如果安装过程中有类似的报错[Config.h - No such file or directory],可能系统中缺少libconfig-dev

    brew install libconfig-dev

结语

Pyfhel是一个很有用的库,更多内容可以自行查阅:

Pyfhel库

-------------    本文结束  感谢阅读    -------------