logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

SEAL全同态加密开源库(七) rns剩余数系统-源码解析

SEAL全同态加密开源库(七) rns剩余数系统-源码解析2021SC@SDUSC2021-11-14前言这是SEAL开源库代码分析报告第六篇,本篇将首先照例引入一些理论知识,然后本篇将开始分析整数运算部分,numth.cpp的源代码。关于其重要性,在公钥和密钥的生成、明文加密以及密文解密过程中,都需要整数的运算。举个陈智罡教授博客中的例子,假设已知明文为m,通过加密算法得到m+2r+pq,想要对

#同态加密
SEAL全同态加密开源库(十三) CKKS-源码浅析

2021SC@SDUSC2021-12-26前言这是SEAL全同态加密开源库分析报告的第13篇,我们继续上一篇的CKKS源码分析。代码分析现在x3_encryption与x1_encryption处于不同的级别,这阻止我们将它们相乘来计算x3。我们可以简单地将x1_encrypted切换到模数转换链中的下一个参数。然而,由于我们仍然需要将x3,乘以PI(plain_coeff3),所以我们先计算P

#同态加密
SEAL全同态加密开源库(十二) CKKS-源码浅析

2021SC@SDUSC2021-12-19前言前两篇我们讨论了SEAL对于BFV的实现。本篇开始我将开始讨论SEAL对于CKKS的实现。照例我会先补充理论知识,然后分析源码native/examples/_ckks_basis.cpp文件。当然注意,本文的目的并非深入探究CKKS原理,而是力求帮助开发者在完全不懂原理的情况下,快速构建CKKS工程,并掌握基本的使用技巧。CKKS简介CKKS算法是

#同态加密
SEAL全同态加密开源库(十八) 总结

前言2021SC@SDUSC2021-12-28时光飞逝,今天是12月28日,也是软件工程实践这门课验收的时间。我们持续了一学期的SEAL全同态加密开源库-源码分析,也就到此为止了。该写一篇总结。成果总结通过小组合作的方式,完成了微软SEAL全同态加密开源库的编译安装、运行、源码分析、示例代码分析。我完成了编译安装说明2篇,源码分析15篇,理论知识补充1篇。编译安装说明方面,我对SEAL库的最新3

#同态加密
SEAL全同态加密开源库(十三) CKKS-源码浅析

2021SC@SDUSC2021-12-26前言这是SEAL全同态加密开源库分析报告的第13篇,我们继续上一篇的CKKS源码分析。代码分析现在x3_encryption与x1_encryption处于不同的级别,这阻止我们将它们相乘来计算x3。我们可以简单地将x1_encrypted切换到模数转换链中的下一个参数。然而,由于我们仍然需要将x3,乘以PI(plain_coeff3),所以我们先计算P

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

SEAL全同态加密开源库(三) NTT代码分析2021SC@SDUSC2021-10-17前言这是SEAL开源库代码分析报告第三篇,本篇将首先介绍一下编译运行的最终版的成果,借此对第一篇博客的部分编译内容加以修正。然后本篇将重点介绍SEAL库多项式乘法的重要基础算法:NTT。注意这里将涉及大量的理论基础,可能略显枯燥困难。编译步骤的修正在第一篇博客中,讲述了编译运行SEAL库的完整步骤,但是并未经

#c++
SEAL全同态加密开源库(十七)同态加密-理论知识整理补充

2021SC@SDUSC2021-12-27前言对SEAL库的源码分析基本也接近尾声了,我反复提到过,全同态加密除了对代码能力有要求外,对于理论知识的掌握程度也有很高的要求,因此在我的博客里也一直在穿插着理论知识的介绍、补充。本篇,我们从宏观的角度,整理补充一下全同态加密所需的理论知识。以期在后续的学习中能够不断温故而知新。群同构–第一同构定理这里理论知识的补充,参考了博客https://blog

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

2021SC@SDUSC2021-10-31前言这是SEAL开源库代码分析报告第五篇,本篇将首先照例补充一些理论知识,然后本篇将继续上一篇的介绍,重点分析SEAL对于NTT算法的实现代码。由于老师讲过,NTT是同态加密的核心基础算法,因此有仔细分析的必要。ntt.h源码分析首先是Arithmetic类,其包含两个参数two_times_modulus和two_times_modulus,二次系数。

#同态加密
SEAL全同态加密开源库(九) CKKS-源码浅析

SEAL全同态加密开源库(八) CKKS-源码浅析2021SC@SDUSC2021-11-28介绍这篇文章我将从CKKS的源码进行入手,进一步理解CKKS的内部加密解密以及简单的加减乘等操作。源码分析生成公钥在我之前的博客中,大体介绍了加密解密以及简单的加法,可以再去回顾一下,以便于了解。生成组成公钥的要素 “ a ”Element a(dug, elementParams, Format::EV

#同态加密
到底了