
软件工程应用与实践
文章平均质量分 84
小河豚oO
我很懒,还没有添加任何简介。
展开
-
2021SC@SDUSC PALISADE开源库(五)公钥加密模块的示例程序(三)depth-bgvrns.cpp
2021SC@SDUSC目录介绍大体步骤设置相关参数参数迭代对源数据进行编码加密两个密文的同态乘法7个密文的同态乘法无任何再线性化的3个密文的同态乘法3个密文的同态相乘,每次相乘后再线性化运行结果介绍这次是介绍有关depth-bgvrns.cpp的示例程序。这次介绍的 BGVrns 程序演示了深度6的同态乘法和深度3乘法的三种不同方法。大体步骤设置相关参数std::cout << "\nThis code demons..原创 2021-12-23 09:15:09 · 229 阅读 · 0 评论 -
2021SC@SDUSC PALISADE开源库(五)公钥加密模块的示例程序(二)depth-bfvrns.cpp
2021SC@SDUSC目录介绍大体步骤设置相关参数参数迭代执行密钥生成操作对源数据进行编码加密两个密文的同态乘法7个密文的同态乘法无任何再线性化的3个密文的同态乘法3个密文的同态相乘,每次相乘后再线性化运行结果介绍这次是介绍有关 depth-bfvruns.cpp的示例程序。这次介绍的 BFVrns 程序演示了深度6的同态乘法和深度3乘法的三种不同方法。大体步骤设置相关参数 std::cout << "\nThi..原创 2021-12-23 09:05:40 · 786 阅读 · 1 评论 -
2021SC@SDUSC PALISADE开源库(五)公钥加密模块的示例程序(一)advanced-real-numbers.cpp
2021SC@SDUSC目录介绍EXACTRESCALE和APPROXRESCALE两种变体void AutomaticRescaleDemo(RescalingTechnique rsTech)判断是哪一个变体进行操作相关参数的设置输入要参加计算的数据计算 f(x) = x^18 + x^9 + 1运行结果EXACTRESCALEAPPROXRESCALE两种不同的密钥交换算法void HybridKeySwitchingDemo1()相关参数的..原创 2021-12-13 14:43:44 · 991 阅读 · 0 评论 -
2021SC@SDUSC PALISADE开源库(二)CKKS讲解系列(六)旋转(rotation)
2021SC@SDUSC目录介绍rotation了解两种基本操作旋转列运行结果旋转行运行结果源代码介绍由于之前我的疏忽,在进行CKKS讲解代码的过程中,忘记介绍rotation(旋转)的部分,所以,现在在这篇博客中。我们将进一步走近有关CKKS旋转的部分,进行进一步的学习。rotation了解 CKKS中的旋转大多就是进行对于矩阵的旋转,通俗一点讲就是,对于矩阵来说,旋转列可能就是将一列元素进行向左或者是向右进行平...原创 2021-12-05 15:09:14 · 1406 阅读 · 3 评论 -
2021SC@SDUSC PALISADE开源库(三)CKKS代码分析(三)高级代码步骤介绍
2021SC@SDUSC目录介绍大体步骤1. 启用TIC-TOC定时测量2. 定义要用到的函数以及方法3.“EXACTRESCALE”和“APPROXRESCALE”4.HYBRID切换技术5.缩放操作6. 手动重新调节演示介绍在这一篇博客中,我们主要是介绍了利用PALISADE的主要API来进行CKKS的同态加密解密以及实现的的大体步骤以及部分代码,如果想要看完整代码和运行过程及结果的同学,请查看的我的下一篇博客来进行具体的操作。大体步骤...原创 2021-11-27 14:40:46 · 1072 阅读 · 0 评论 -
2021SC@SDUSC PALISADE开源库(四)对CKKS源码分析(一)实现简单的加减乘
2021SC@SDUSC目录介绍源码分析生成公钥实现密文之间的加法实现密文之间的减法实现密文之间的乘法总结介绍 这篇文章我将从CKKS的源码进行入手,进一步理解CKKS的内部加密解密以及简单的加减乘等操作。毕竟是我第一次大规模的看别人的开源代码,有什么分析不对的地方希望大家指正,一起加油,一起进步!!!源码分析生成公钥 在我之前博客中PALISADE开源库(二)CKKS讲解系列(三)加密和解密大体介绍了加密解密以及简单的加...原创 2021-11-16 12:08:42 · 834 阅读 · 0 评论 -
2021SC@SDUSC PALISADE开源库(三)CKKS代码分析(二)简单代码运行及结果
目录介绍程序源码及注解运行结果总结介绍在这一篇文章中,我们主要给出了程序有关的源码,如果在看源码的过程中发现有不懂的地方,可以查看我的上一篇博客PALISADE开源库(三)CKKS代码分析(一)简单代码步骤介绍,如果再不懂的话,可以评论或者私信问我,大家一起加油,fighting!!!程序源码及注解#define PROFILE#include "palisade.h"using namespace lbcrypto;int main() { //指定乘..原创 2021-11-10 10:39:14 · 1247 阅读 · 1 评论 -
2021SC@SDUSC PALISADE开源库(三)CKKS代码分析(一)简单代码步骤介绍
2021SC@SDUSC目录介绍大体步骤1. 设置CryptoContext类1)指定乘法深度2)指定缩放因子的位长3)指定密文中使用的明文槽数4)指定基于FHE标准的期望安全级别5)基于指定参数加密上下文2. 密钥生成1)生成加密密钥2)生成重新线性化键3)生成旋转键3.输入后的编码和加密4. 进行加减乘等操作5. 解密和输出介绍 在这一篇博客中,我们主要是介绍了利用PALISADE的主要API来进行CKKS的同态加密...原创 2021-11-10 00:11:54 · 1782 阅读 · 0 评论 -
2021SC@SDUSC PALISADE开源库(二)CKKS讲解系列(五)重新缩放
2021SC@SDUSC目录介绍模数链的高层视图语境香草的解决方案介绍在 CKKS 的上一篇文章中,PALISADE开源库(二)CKKS讲解系列(四)乘法和重新线性化,我们看到了密文乘法在 CKKS 中是如何工作的,为什么我们需要重新线性化输出以保持密文大小不变,以及如何做到这一点。尽管如此,正如我们将看到的,我们需要一个称为重新缩放的最终操作来管理噪音并避免溢出。这将是本系列的最后一篇理论文章,在下一系列文章中,我们将用 c++ 实现一切!为了理解它是如何工作的,我们首原创 2021-11-03 14:25:06 · 1120 阅读 · 5 评论 -
2021SC@SDUSC PALISADE开源库(二)CKKS讲解系列(四)乘法和重新线性化
2021SC@SDUSC目录介绍基本操作回顾同态操作加法操作乘法操作(明文 x 密文)密文 - 密文乘法重新线性化介绍在上一篇文章PALISADE开源库(二)CKKS讲解系列(三)加密和解密中,我们看到了如何基于RLWE问题创建同态加密方案,实现了加法和密文 - 明文乘法。虽然执行密文 - 明文乘法很容易,但正如我们将看到的,密文 - 密文要复杂得多。事实上,我们需要处理很多事情才能正确地完成它,例如找到正确的操作,以便一旦解密我们就得到两个密文的乘积...原创 2021-10-27 16:31:27 · 1351 阅读 · 2 评论 -
2021SC@SDUSC PALISADE开源库(二)CKKS讲解系列(三)加密和解密
介绍在上一篇文章PALISADE开源库(二)CKKS讲解系列(二)完整编码和解码中,我们看到了如何实现CKKS的编码器和解码器,这使得我们能够将向量转化为多项式,反之亦然。这一步是必然的,因为我们将看到使用多项式要比直接使用向量更有效地构建同态加密方法。...原创 2021-10-18 15:57:31 · 1994 阅读 · 2 评论 -
2021SC@SDUSC PALISADE开源库(二)CKKS讲解系列(二)完整编码和解码
2021SC@SDUSC目录介绍CKKS编码相关代码执行(重要)将输入的实数进行共轭处理介绍在上一篇PALISADE开源库(二)CKKS讲解系列(一)普通编码和解码中,我们了解到,要实现CKKS加密方法和对加密复数向量的计算,我们必须构建一个编码器和一个解码器,将我们的复数向量转化为多项式。这个编码器——解码器步骤是必要的,因为加密、解密和其他机制也同样适用于多项式。因此,有必要有一种方法将我们的实数值向量转化为多项式。在本文中,我们将探讨如何实现原始论文Homomo原创 2021-10-11 14:43:16 · 2575 阅读 · 14 评论 -
2021SC@SDUSC PALISADE开源库(二)CKKS讲解系列(一)普通编码和解码
2021SC@SDUSC目录介绍CKKS编码介绍同态加密是一个很有前途的领域,它允许对加密数据进行计算。在本系列文章中,我们将会深入探讨 Cheon-Kim-Kim-Song (CKKS) 方案,该方案首次在论文Homomorphic Encryption for Arithmetic of Approximate Numbers 中讨论。CKKS允许我们对复数值(也是实数值)的向量执行计算。这个想法使我们将在Python中从头开始实现CKKS,然后通过使用这些加密原语,我们可以探.原创 2021-10-07 17:08:23 · 3329 阅读 · 16 评论 -
2021SC@SDUSC PALISADE开源库(一)安装与配置环境
目录PALISASE介绍PALISASE入门安装及配置环境测试代码可能遇到的问题1.在项目克隆的时候,网络屏蔽Github(山大校园网防火墙屏蔽GitHub),导致克隆下载失败【fatal:unabletoaccess'https://github.com/xxx/autowrite.git/':OpenSSLSSL_read:Connectionwasreset,errno10054】2.在进行cmake .. 的时候,提示cereal中找不到相应的文件...原创 2021-09-28 13:56:15 · 2558 阅读 · 4 评论