ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

同态加密Microsoft开源库SEAL安装说明

2022-06-05 19:35:50  阅读:339  来源: 互联网

标签:加密 同态 blog https SEAL 安装 Microsoft


前言

毕业设计要做同态加密的密文机器学习算法,SEAL库是一个实现了主流的全同态加密方案BFV和CKKS的开源项目,下面将说明如何在Windows平台安装SEAL库。

VS2017

SEAl库整体是使用C++代码实现的,所以需要先安装好微软的VS2017或VS2019,千万不要安装其他最新版本会导致不兼容。

  • 勾选使用C++的桌面开发、通用Windows平台开发
  • .NET Core 2.1 SDK

SEAL3.3

最新的SEAl库取消了SEAL.sln文件,安装步骤会繁琐很多,这也是为什么VS不能安装最新版本。这里提供一个SEAL3.3的下载链接:https://pan.baidu.com/s/1VkgMteftHnrkmCzKcWYd0g?pwd=7fqk 提取码: 7fqk

  1. 解压后放在如下目录
  1. 双击SEAL.sln,选择Release、x64,右键SEAL选择设为启动项目
  1. 执行SEAL生成seal.lib

SEAL示例

下面演示运行SEAL库自带的示例程序,选择SEALExamples右键 - 属性。

  1. 设置 配置属性 - C/C++ - 常规 - 附加包含目录
  1. 设置 配置属性 - 链接器 - 常规 - 附加库目录,在目录末尾加上\$(Platform)\$(Configuration)
  1. 设置 配置属性 - 链接器 - 输入 - 附加依赖项,添加seal.lib
  1. 先应用再确定,然后设置SEALExamples为启动项目执行

如果英语不好,可以看CSDN上一只老阿木的SEAL实例代码讲解。链接: https://pan.baidu.com/s/1AKwaFnC61Swm_HRYVVJEgQ?pwd=8b3u 提取码: 8b3u

SEAL引入

逐个阅读上面官方提供的示例程序,了解基本同态加密的参数配置以及编码、解码、加密、解密、密文乘法、密文加法、标量乘法等操作,我们就可以写自己的程序。

  1. 创建C++空项目,注意选择Release、x64
  1. 创建cpp文件,选择 源文件 - 右键 - 添加 - 新建项
  1. 选择 创建的BFV项目 - 右键 - 属性,依次设置附加包含目录、附加库目录、附加依赖项。
  1. 引入头文件,开始书写自己代码

参考资料

【vs2019上seal-3.3.0的安装】https://blog.csdn.net/qq_51271165/article/details/121881118?spm=1001.2014.3001.5502
【SEAL库的安装(Windows VS2019环境下3.5.9版本SEAL)】https://blog.csdn.net/qq_46314975/article/details/115916096
【关于在Win11-Visual Studio 2022环境中安装MicrosoftSEAL4.0(新支持BGV方案的版本)同态加密运算库】https://blog.csdn.net/qq_46000760/article/details/123652221?spm=1001.2014.3001.5502
【全同态加密-SEAL库CKKS工程搭建】https://blog.csdn.net/weixin_43892650/article/details/111992580?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-1-111992580-blog-102980002.pc_relevant_antiscanv2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-1-111992580-blog-102980002.pc_relevant_antiscanv2&utm_relevant_index=2

标签:加密,同态,blog,https,SEAL,安装,Microsoft
来源: https://www.cnblogs.com/lijiaji/p/16336005.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有