@2021SC@SDUSC 源码分析: bfvrns的样例及用法

2021SC@SDUSC

今天来对pke中的样例进行一个理解

这部分准备了一些基本的预定数值

并由此产生了以下的参数

在激活参数的过程中 做了哪些工作呢

首先是使用encodingParams对明文进行了一个封装

然后根据若干参数 ( 加密等级等 ) 进行了一个对加密上下文的封装

这个cryptoContext 在上几次的分析中也可以见得 是加密过程中随机参数以外的主要凭据

cryptoContext是可以自己选择激活特性的 这里是选择了 加密以及部分同态

以下为我们演示了这个上下文具备的基本能力 首先是获取明文的模

以及ElementParams和CyclotomicOrder

由第三组用例是可以发现 这个加密上下文的模块也是封装了一些常用的数值计算的模块

这以下的实例就是我们在上几次分析中看到的 产生公私密钥的过程了 这里仍有一个上次遗漏的点 就是这个密钥生成甚至可能是失败的 不知道是以什么标准来判别的

现在就是在演示如何去打包加密明文了 明文以数组的形式传入

将密文都存储起来 使用PU进行加密

接下里就是比较感兴趣的部分了 对两个密文进行同态的乘

验证同态计算的正确性

由此可以看出开放的计算接口是非常丰富的

从一个工程库的角度来讲 我觉得这是非常友好的接口 即使难以理解背后的详细机制

但是这部分的样例就已经足够让人明白其基本的用法了 封装省去了非常多繁复的细节 也让书写这样的加密操作变得更为愉悦

这样的大型工程的一大难点就是在设计时如何去把握其接口的合理形式

 这一点上 这个加密库做的相当的出色

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值