先说一下,seal库是微软开发的同态加密库,目前支持三种算法bfv,bgv和ckks。提供的语言版本是C艹和C#。
工具准备
这是github上提供的要求。
要准备的东西有
- vs2022(社区版就行了,网上一堆教程),
- cmake(最新版貌似是3.25,网上也有一堆教程),
- git(这个主要是因为后续在下载seal库的时候会调用,所以得装上),
- 去GitHub上把seal库打包下下来解压出来,假定解压出来的文件夹为SEAL。
安装步骤
- 以管理员权限打开vs的命令行窗口
- cd进入SEAL文件夹,三个命令按顺序敲
cmake -S . -B build -G "Visual Studio 17 2022" -A x64
cmake --build build --config Release
cmake --install build
第一个命令下载库的时候可能会报错链接问题,最好是科学上网,不然就只能多多尝试几次
全部执行完后可以看到SEAL下会多个build文件夹
里面的内容长这样
这就算安装完成
运行环境调整
- 打开vs2022,新建一个空项目,然后随便建立一个cpp文件,不然你会看不到属性里的c/c++选项。
- 然后右键项目属性
- 配置附加目录
- c++ 语言标准
- 链接器里面的附加库目录
- 最后是输入里的附加依赖项
测试
注意测试的是需要调整这两个的
同时也要调整运行库
不然会报错类似
error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”
可以根据报错的具体信息来调整
最后是测试代码
#include "seal/seal.h"
using namespace seal;
不保存就算安装成功。
如果要跑官方给的例子的话
把SEAL\native\examples里面的例子扔到项目就行
跑出来的结果大概长这样
版权归原作者 Amire0x 所有, 如有侵权,请联系我们删除。