同态加密库Seal库的安装(win11+VS2022)

先说一下,seal库是微软开发的同态加密库,目前支持三种算法bfv,bgv和ckks。提供的语言版本是C艹和C#。

工具准备

image.png
这是github上提供的要求。
要准备的东西有

  • vs2022(社区版就行了,网上一堆教程),
  • cmake(最新版貌似是3.25,网上也有一堆教程),
  • git(这个主要是因为后续在下载seal库的时候会调用,所以得装上),
  • 去GitHub上把seal库打包下下来解压出来,假定解压出来的文件夹为SEAL。

安装步骤

  • 以管理员权限打开vs的命令行窗口

image.png

  • cd进入SEAL文件夹,三个命令按顺序敲
cmake -S . -B build -G "Visual Studio 17 2022" -A x64
cmake --build build --config Release
cmake --install build

第一个命令下载库的时候可能会报错链接问题,最好是科学上网,不然就只能多多尝试几次
全部执行完后可以看到SEAL下会多个build文件夹
image.png
里面的内容长这样
image.png
这就算安装完成

运行环境调整

  • 打开vs2022,新建一个空项目,然后随便建立一个cpp文件,不然你会看不到属性里的c/c++选项。
  • 然后右键项目属性

image.png

  • 配置附加目录

image.png

  • c++ 语言标准

image.png

  • 链接器里面的附加库目录

image.png

  • 最后是输入里的附加依赖项

image.png

测试

注意测试的是需要调整这两个的
image.png
同时也要调整运行库
image.png
不然会报错类似
error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”
可以根据报错的具体信息来调整
image.png
最后是测试代码

#include "seal/seal.h"

using namespace seal;

不保存就算安装成功。

如果要跑官方给的例子的话
把SEAL\native\examples里面的例子扔到项目就行
image.png
跑出来的结果大概长这样
image.png

猜你喜欢

转载自blog.csdn.net/qq_43271194/article/details/128024358