安装适用于Python的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. 安装Python
    sudo apt-get install git build-essential cmake python3 python3-dev python3-pip
    
  2. SEAL-python下载。
    git clone https://github.com/Huelse/SEAL-Python.git
    cd SEAL-Python
    
  3. 安装pybind11numpy
    pip3 install numpy pybind11
    
  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 ..
    
  5. 安装SEAL-Python
    python3 setup.py build_ext -i
    
测试
cp seal.*.so examples
cd examples
python3 4_bgv_basics.py

运行命令会打印一个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 ..
      
  3. 安装pybind11numpy

    pip3 install numpy pybind11
    
  4. 安装SEAL-Python

    python3 setup.py build_ext -i
    

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

    //激活环境
    activate your_environment
    
    //进入到setup.py文件目录下执行命令
    python setup.py build
    python setup.py install
    

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

测试
copy seal.*.so examples
cd examples
python3 4_bgv_basics.py

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

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值