• 同态加密库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
    
    • 1
    • 2
    • 3

    第一个命令下载库的时候可能会报错链接问题,最好是科学上网,不然就只能多多尝试几次
    全部执行完后可以看到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;
    
    
    • 1
    • 2
    • 3
    • 4

    不保存就算安装成功。

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

  • 相关阅读:
    消息队列概述与扩展
    渗透测试-渗透中403/401页面绕过的思路总结
    Python二级 每周练习题18
    【Bun1.0】使用 Bun.js 构建快速、可靠和安全的 JavaScript 应用程序
    云计算时代改变了什么?
    算法分析与设计编程题 递归与分治策略
    混沌工程平台 ChaosBlade-Box 新版重磅发布
    Springboot 集成 WebSocket
    企业制胜采购管理分别有哪五种策略?
    微服务管家婆-Nacos Discovery
  • 原文地址:https://blog.csdn.net/qq_43271194/article/details/128024358