IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> SEAL全同态加密开源库(十) BFV-源码浅析 -> 正文阅读

[区块链]SEAL全同态加密开源库(十) BFV-源码浅析

前言

时光飞逝,前段时间我们一直在致力于分析SEAL库比较底层的核心代码,遵循的思路也是从底层往上层的应用层去挖掘,这样有利也有弊吧,好处自然就是深入了解底层实现机制,弊端就是缺少一个整体的把握。
so,从本篇开始,我们开始试图暂时跳脱出native/src文件夹,主要是底层代码基于我们的分工也完成的差不多了,接下来的一个月也到了收获的时节,我将开始试图分析examples文件夹下的代码。
与之前的工作相比,这些代码显得更具整体性,也能更好体现出SEAL的工作原理以及流程,算是对前面的集大成者了,因此很有分析的必要。

BFV

本篇我们将分析examples/1_bfv_basics.cpp。看一看SEAL对于bfv是如何实现的。
先照例补充一些理论基础。
对于全同态加密,之前介绍过了。经过研究,我们发现,现在主流的研究方案包括 FHEW、TFHE、GSW、BGV、BFV、CKKS。
其中 FHEW、TFHE、GSW为布尔电路上的实现,其特性:

  • 快速比较
  • 支持任意布尔电路
  • 快速 bootstrapping(噪声刷新过程,减少因密文计算而产生的噪音,降低失败可能性)

BGV、BFV是算数电路上的实现,其特性:

  • 在整数向量上进行高效的SIMD计算(使用批处理)
  • 快速高精度整数算术
  • 快速向量的标量乘法
  • Leveled design(通常不使用bootstrapping)

CKKS则是17年才提出来的,其特性:

  • 快速多项式近似计算
  • 相对快速的倒数和离散傅里叶变换
  • 深度近似计算,如逻辑回归学习
  • 在实数向量上进行高效的SIMD计算(使用批处理)
  • Leveled design(通常不使用bootstrapping)

OK,本篇我们重点介绍的是BFV。
BFV方案来源于文章 “Somewhat Practical Fully Homomorphic Encryption”,它是基于 RLWE (Ring-Learning With Errors)难题的全同态加密方案。
先来讲一下环上多项式环,这部分挺重要的,如果不了解的话,可能会对文章阅读造成困难。这里需要比较深厚的离散数学基础。
在这里插入图片描述
更多理论基础可以详见这篇博客:
https://www.zhihu.com/column/c_1320055686139813888

代码分析

继续写!
整个文件只有一个函数example_bfv_basics,然后在example.cpp文件中,当用户选择case1时,系统会调用这个函数,表明将要展示的是bfv算法的例子。

  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2021-12-07 12:04:48  更:2021-12-07 12:04:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 18:50:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计