SEAL全同态加密开源库(三) NTT代码分析

本文详细解读了SEAL开源库中多项式乘法的基础算法NTT,基于FFT原理并利用数论中的原根概念,介绍了NTT的优化优势,包括取模、精度提升和整数运算效率。通过理论阐述和代码实例,深入探讨了NTT在加密计算中的关键作用。

SEAL全同态加密开源库(三) NTT代码分析

2021SC@SDUSC

2021-10-17

前言

这是SEAL开源库代码分析报告第三篇,本篇将首先介绍一下编译运行的最终版的成果,借此对第一篇博客的部分编译内容加以修正。然后本篇将重点介绍SEAL库多项式乘法的重要基础算法:NTT。注意这里将涉及大量的理论基础,可能略显枯燥困难。

编译步骤的修正

在第一篇博客中,讲述了编译运行SEAL库的完整步骤,但是并未经过实战检验,经过检验,发现部分内容存在漏洞,在经过很久的尝试之后,终于对最新版的SEAL库(version:3.7)实现了编译运行,这在网络上还是很难找到相关的资料的,因此我觉得有必要加以记录下来。

当时的步骤是这样的:

在这里插入图片描述

但是后来发现这样是不对的,原因在于release版本和debug版本的编译结果并不能完全混用,因此我重新想办法解决了这个问题:

完美运行SEAL库示例

打开cmake编译后的SEAL工程,找到INSTALL,这个时候要注意,我们要选择release编译(VS没有,那就在config里面新建一个release的编译选项),右键INSTALL 点击生成。然后等待显示成功编译后,我们回到这个目录 就会发现生成了release所对应的lib库,(再说一次,带d的是debug的,不带d的是release),接下来就可以进行release的配置了。完美!

其中可能会遇到报错,解决方案:用管理员身份打开VS2019即可。

目前终于完全解决了安装配置的问题。

可以做到新建项目文件中导入SEAL作为第三方库。(虽然短期看来没什么用,主要是为了验证安装

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值