当前位置:   article > 正文

安装适用于Python的SEAL库_如何安装seal同态加密库

如何安装seal同态加密库

SEAL-Python安装

SEAL-Python简介

Microsoft SEAL是一个易于使用的开源(MIT 许可)同态加密库,由 Microsoft 的密码学研究小组开发。而 SEAL-PythonSEAL的python版本,能方便用python实现同态加密功能。我们在linux系统和Windows系统下实现安装,linux系统是用的Ubuntu22版(当然我用的Windows下的Ubuntu的子系统)。下面我们分系统介绍如何安装SEAL-Python

Ubuntu系统

基础环境
  1. 平台:Ubuntu22(只要是Ubuntu系统就行)
  2. 环境需求:Clang++ (>= 10.0) 或 GNU G++ (>= 9.4)、CMake (>= 3.16)、git。
    • 安装上述内容:
      sudo apt-get install clang
      sudo apt-get install cmake
      sudo apt-get install gcc
      sudo apt-get install g++
      sudo apt-get install git
      
      • 1
      • 2
      • 3
      • 4
      • 5
安装步骤
  1. 安装Python
    sudo apt-get install git build-essential cmake python3 python3-dev python3-pip
    
    • 1
  2. SEAL-python下载。
    git clone https://github.com/Huelse/SEAL-Python.git
    cd SEAL-Python
    
    • 1
    • 2
  3. 安装pybind11numpy
    pip3 install numpy pybind11
    
    • 1
  4. 安装SEAL
    # 下载相关依赖
    git submodule update --init --recursive
    
    # 进入SEAL文件夹,安装SEAL
    cd SEAL
    cmake -S . -B build -DSEAL_USE_MSGSL=OFF -DSEAL_USE_ZLIB=OFF
    cmake --build build
    cd ..
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
  5. 安装SEAL-Python
    python3 setup.py build_ext -i
    
    • 1
测试
cp seal.*.so examples
cd examples
python3 4_bgv_basics.py
  • 1
  • 2
  • 3

运行命令会打印一个bgv方案的简单例子,如果能正确运行,则安装成功。

Windows系统

Windows系统下安装SEAL-Python相对来说更加复杂。

基础环境
  1. 平台:Windows11
  2. 环境需求:Visual Studio 2022(2019以上)、git、python。
    Visual Studio 2022git参考链接: 在Windows环境下安装SEAL同态加密库
    python比较简单,自行安装。
安装步骤
  1. 下载SEAL-PythonSEAL
    下载地址:SEAL-Python
    下载地址:SEAL

    下载时也可以通过链接直接下载所有源码,并且能保证正确的目录结构。
    在这里插入图片描述

  2. 安装SEAL

    • 需要 Visual Studio 2019 或更高版本。仅支持 x64!并使用VS 命令提示符的 x64 Native Tools Command Prompt 来配置和构建 Microsoft SEAL 库。
      在这里插入图片描述
      将目录调整到SEAL-Python的解压目录。

    • 进入SEAL文件夹

      # 进入SEAL文件夹,安装SEAL
      cd SEAL
      cmake -S . -B build -DSEAL_USE_MSGSL=OFF -DSEAL_USE_ZLIB=OFF
      cmake --build build
      cd ..
      
      • 1
      • 2
      • 3
      • 4
      • 5
  3. 安装pybind11numpy

    pip3 install numpy pybind11
    
    • 1
  4. 安装SEAL-Python

    python3 setup.py build_ext -i
    
    • 1

    :在安装时可以通过以下步骤将库安装到Anaconda环境中。

    //激活环境
    activate your_environment
    
    //进入到setup.py文件目录下执行命令
    python setup.py build
    python setup.py install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    pip list打印结果中包含seal库。
    在这里插入图片描述

测试
copy seal.*.so examples
cd examples
python3 4_bgv_basics.py
  • 1
  • 2
  • 3

运行命令会打印一个bgv方案的简单例子,如果能正确运行,则安装成功。
:这是官方给的例子,他依赖生成的后缀文件.so,所以并不是所有地方运行都能完成,必须要保证运行目录下有这个文件才行。如果是安装到库,则使用from seal import *直接使用,以下是4_bgv_basics文件内容和运行成功截图,一定要保证环境正确。
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/996987
推荐阅读
相关标签
  

闽ICP备14008679号