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

SEAL全同态加密库解析:CKKS源码深入探究
本文详细分析了SEAL全同态加密库中CKKS加密方案的源码,从生成公钥、秘钥到加密解密操作,特别是公钥和密钥的生成过程,包括不同分布的随机数生成。此外,还介绍了密文间的加法运算实现。通过源码解析,有助于深入理解CKKS加密机制。

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

2021SC@SDUSC

2021-11-28

介绍

这篇文章我将从CKKS的源码进行入手,进一步理解CKKS的内部加密解密以及简单的加减乘等操作。

源码分析

生成公钥

在我之前的博客中,大体介绍了加密解密以及简单的加法,可以再去回顾一下,以便于了解。

生成组成公钥的要素 “ a ”

Element a(dug, elementParams, Format::EVALUATION);

生成秘钥 “ s ”

Element s;

给秘钥s进行赋值

不使用预先计算池中的随机多项式,分两步完成。支持离散高斯分布(RLWE),三元均匀分布(优化)和稀疏分布(sparse)情况。

switch (cryptoParams->GetMode()) {
   
   
    case RLWE:
      s = Element(dgg, elementParams
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值