当前位置: 首页 > news >正文

FHE全同态加密简介

1. 何为FHE?

在这里插入图片描述

FHE (Fully homomorphic encryption):

  • 是一种隐私技术,支持直接对密文进行计算,而无需对密文先解密再计算。
  • 即,任何第三方或云厂商,都可对敏感信息的密文进行处理,而无需访问密文内的任何明文数据。

1.1 FHE历史

FHE历史演变路径为:

  • Ronald Rivest、Leonard Adleman 和 Mike Dertouzos 于1978年 On Data Banks and Privacy Homomorphisms 论文中,提出了“基于密文计算”的概念。
  • 2009年Craig Gentry 在其博士论文 A fully homomorphic encryption scheme 中,构建了首个支持通用电路的方案——通过加法和乘法来实例化FHE。

2. FHE用例

FHE可用于:

  • 隐私加强:如用于机器学习、云计算、FHE+ZKP+MPC实现链上gambling、加密搜索和数据库操作。
  • 链上私有交易、私有智能合约、专注隐私的VM如FHEVM等。

2.1 何为专注隐私的VM?

以下将“专注隐私的VM”称为“加密VM”。
加密VM环境支持:

  • 上传合约S和交易T
  • 计算S(T),在不公开S和(或)T的情况下,来做资产转移、swap等。
    • 如,某些云厂商提供合约隐私,某些云厂商提供数据隐私,而有的云厂商同时提供合约隐私和数据隐私。

实现加密VM的挑战在于:

  • 1)Overheads开销
  • 2)Breaking composability突破现有组合性
  • 3)Breaking dev tools突破现有开发工具
  • 4)Regulatory监管

2.1.1 Overheads

  • 需要将program转换为“FHE-friendly”表示,如只包含加法和乘法门的电路。相比于直接计算,这引入了大量的开销。
  • 对每个电路执行密码学运算,将单个操作符,替换为,一系列基于大数的复杂运算。这仍会增加开销。

具体区间与具体的计算,以上步骤将增加数十倍的开销。

2023年9月,Intel声称正在开发对FHE运算高效的定制芯片:

  • Intel plans custom accelerator chip, model for encrypted computing

挑战在于,该算法仍在进化,且有大量的参数选型。Sergey Gorbunov参与了2019年的 Homomorphic Encryption Standard 制定。至今仍有一些选型未完成。

电路设计的挑战在于需要非常准确的域和运算,来最大限度地利用固定电路拓扑。

有没有什么“突破”使FHE成为现实?当前还没有。

  • 正在算法和优化方面进行扎实但渐进的改进。从必须将程序转换为某种形式的THE友好表示(这将增加开销)到必须对更大的数字进行计算,这一切都不会改变。

2.1.2 Breaking composability

隐私破坏了可组合性。

  • 不能像编写公共数据[和程序]那样编写私有数据。
  • 也就是说,加密交易不能像明文值那样在智能合约中使用——接收加密交易的程序不能调用另一个程序,也不能向仅通过明文值操作的程序发送存款。这使得在一个生态之上构建另一生态更具挑战性。

2.1.3 Breaking dev tools

似乎很少有人讨论这一点,但在加密的领域中不可能有相同的监控/调试工具。如,

  • 假设客户打电话说“我的交易没有通过”。要调试此语句,需要知道问题是否与数据编码、加密、程序评估或管道中的其他任何地方有关。如果没有对数据本身的可见性(客户一开始就试图隐藏数据),这是非常具有挑战性的。

2.1.4 Regulatory

已经看到了保护隐私的token和网络的问题。可能会因为编写该软件而遇到麻烦。监管机构将如何接收和分类完全加密的环境还有待观察。

3. FHE的当前瓶颈

FHE的当前瓶颈有:

  • 1)为加强计算安全性,在加密期间会给密文添加一些“noise噪声”。
  • 2)当密文中累积了过多“噪声”时,会因过噪,而影响输出的精度。
  • 3)Bootstrapping自举 是一种常用去噪技术,但其是计算密集型的。
  • 4)不同的解决方案正在探索,在不给设计施加太多约束的情况下,有效去噪的方法,包括TFHE、CKKS、BGV等。

4. FHE领域项目

当前,FHE领域项目有:

  • @zama_fhe:TFHE + fhEVM
  • @FhenixIO:FHE L2 + coprocessor
  • @Privasea_ai:Ai X FHE
  • @octra:HFHE L1
  • @inconetwork:FHE L1
  • @Fair_Block:Modular FHE solution
  • @mindnetwork_xyz:Depin + AI X FHE
  • @SunscreenTech:FHE compiler
  • @zkHoldem:Gambling with FHE

5. FHE领域前景展望

将ZK推向今天的水平总共花费了大约10亿美元——这是一个很大的兴奋和潜力,但还有更多的生产用例有待观察。Sergey预计FHE将需要大约相同的资金才能达到目前的水平[需要大约9亿VC]。这是因为软件栈的类似部分需要重写,而且可以说需要重写更多。

Sergey认为工程师应该关注更多的垂直用例,并考虑端到端的开发人员体验。当然,考虑通用VM环境是有利可图的,但其应针对特定的工作负载进行优化。

谁将为保护隐私的固有管理费用支付美元(工程、维护和执行成本)还有待观察。

FHE领域需要更多的资金、更多的工程师、实用的用例和简单的开发环境。

参考资料

[1] Poopman 2024年4月7日twitter A simple explanation of FHE (Fully homomorphic encryption) 🥷🧾
[2] Sergey Axelar 2024年3月9日twitter To FHE, or not to FHE, that is the question.
[3] Sergey 2024年3月9日博客 To FHE, or not to FHE, that is the question.

FHE系列博客

  • 技术探秘:在RISC Zero中验证FHE——由隐藏到证明:FHE验证的ZK路径(1)
  • 基于[Discretized] Torus的全同态加密指引(1)
  • 基于[Discretized] Torus的全同态加密指引(2)
  • TFHE——基于[Discretized] Torus的全同态加密 代码解析
  • 技术探秘:在RISC Zero中验证FHE——RISC Zero应用的DevOps(2)
  • FHE简介
  • Zama TFHE-rs
  • Zama TFHE-rs白皮书(1)
  • Zama TFHE-rs白皮书(2)
  • ZK系统内隐私 VS. FHE系统内隐私
  • ZK vs FHE

相关文章:

FHE全同态加密简介

1. 何为FHE? FHE (Fully homomorphic encryption): 是一种隐私技术,支持直接对密文进行计算,而无需对密文先解密再计算。即,任何第三方或云厂商,都可对敏感信息的密文进行处理,而无需访问密文内…...

【vue】跨组件通信--依赖注入

import { provide,inject } from vue provide&#xff1a;将父组件的数据传递给所有子组件&#xff08;子孙都有&#xff09;inject&#xff1a;接收provide 项目文件结构 App.vue是Header.vue的父组件&#xff0c;Header.vue是Nav.vue的父组件 传值过程 App.vue <tem…...

Aritest+python+Jenkins解放双手iOS/Android自动化

ARITest、Python 和 Jenkins 可以结合在一起创建一个自动化测试解决方案&#xff0c;实现持续集成和持续测试的目标。以下是三者如何协同工作的基本概念&#xff1a; 1. **ARITest**&#xff1a; ARITest 是一款功能全面的自动化测试工具&#xff0c;提供 UI 自动化、接口自…...

Problem #7 [Medium]

This problem was asked by Facebook. Given the mapping a = 1, b = 2, … z = 26, and an encoded message, count the number of ways it can be decoded. For example, the message ‘111’ would give 3, since it could be decoded as ‘aaa’, ‘ka’, and ‘ak’. Y…...

MySQ数据库: MySQL数据库的安装配置 ,图文步骤详细,一篇即可完成安装完成! MySQL数据库如何与客户端连接

LiuJinTao&#xff1a; 2024年4月14日 文章目录 MySQL的安装配置1. 下载2. 安装 三、 MySQL 启动与停止1. 第一种 方式&#xff1a;2. 第二种方式&#xff1a; 四、MySQL 客户端连接2. 方式二&#xff1a; MySQL的安装配置 1. 下载 官方下载网址&#xff1a;https://www.mysq…...

vue3+vant自动导入+pina+vite+js+pnpm搭建项目框架

vue3vant自动导入pinavitejspnpm搭建项目框架 文章目录 vue3vant自动导入pinavitejspnpm搭建项目框架1. 安装pnpm&#xff08;如果还没有安装&#xff09;&#xff1a;2. 创建项目目录并进入该目录&#xff1a;3. 初始化项目&#xff1a;4. 安装Vite作为构建工具&#xff1a;5.…...

使用 Axios 处理 AxiosError 的三种常见方法

在使用 Axios 时处理 AxiosError 有几种常见的方法: 使用 try-catch 语句捕获异常: try {const response await axios.get(/api/data);// 处理响应数据 } catch (error) {if (error.response) {// 请求成功但状态码不在 2xx 范围console.log(error.response.data);console.l…...

linux上安装Tomcat

安装Tomcat 安装JDK https://www.oracle.com/java/technologies/downloads/#license-lightbox mkdir -p /usr/java tar xf jdk-11.0.22_linux-x64_bin.tar.gz ln -sv /usr/java/jdk /usr/java/jdk-11.0.22配置环境变量&#xff1a; cat > /etc/profile.d/java.sh <&…...

Ubuntu20.04安装ROS过程记录以及常见报错处理

官网安装步骤如下&#xff1a; http://wiki.ros.org/cn/noetic/Installation/Ubuntu#A.2BXwBZy1uJiMU- 第一个&#xff1a;添加ROS软件源 sudo sh -c echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-la…...

PaddleOCR 图片日期识别

目录 一 . 获取图片信息种对应坐标区域日期信息 &#xff08;类型为1&#xff1a;http链接 类型为 2本地图片路径&#xff09; 二 . ocr图片识别日期信息获取&#xff0c;调用获取图片区域相应位置方法 三 . 如有所需获取rtsp流回放格式 四 . 完整代码如下 &#xff08…...

HTML5学习记录

简介 超文本标记语言&#xff08;HyperText Markup Language&#xff0c;简称HTML&#xff09;&#xff0c;是一种用于创建网页的标准标记语言。 编辑器 下载传送门https://code.visualstudio.com/ 下载编辑器插件 标题 标题通过 <h1> - <h6> 标签进行定义。 …...

提升法律文书起草效率:AlphaGPT 助力律师快速生成诉讼和仲裁文件

法律文书起草对于法律专业人士而言是一项基础而关键的任务。无论是民事、刑事还是行政诉讼&#xff0c;以及仲裁案件&#xff0c;精确的法律文书撰写对于案件的成功至关重要。然而&#xff0c;这一过程往往既耗时又复杂&#xff0c;尤其是在处理复杂的案情和面对当事人难以理解…...

大数据之 Hive 快速搭建的详细步骤

Hive hive 搭建三种模式: 内嵌模式本地模式远程模式内嵌模式 Hadoop 和 Hive 整合 修改 hadoop/etc/下的 core-site.xml: <property><name>hadoop.proxyuser.root.hosts</name><value>*</value> </property> <property><nam…...

从入门到高级的99个python知识点

大家好&#xff0c;想掌握Python编程语言&#xff0c;从零基础的小白晋升为大神&#xff1f;没问题&#xff01;接下来我们将以轻松有趣的方式&#xff0c;逐一解锁Python学习路上的99个关键知识点。每一步都将结合实际应用场景、函数功能解析及简洁代码演示&#xff0c;带你深…...

设计模式之备忘录模式(上)

备忘录模式 1&#xff09;概述 1.定义 在不破坏封装的前提下&#xff0c;捕获一个对象的内部状态&#xff0c;并在该对象之外保存这个状态&#xff0c;可以在以后将对象恢复到原先保存的状态。 2.作用 备忘录模式提供了一种状态恢复的实现机制&#xff0c;使得用户可以方便…...

算法中二分搜索详解

文章目录 在有序数组中找num是否存在实现思路实现代码(里面运用了对数器)在有序数组中找>num的最左位置实现思路代码实现 在有序数组中找<num的最右位置实现思路实现代码 二分搜索不一定发生在有序数组上(比如寻找峰值问题)题目描述实现思路实现代码 在有序数组中找num是…...

关于无线充电项目总结IP6826

1、电路 1.1 选用芯片IP6826英集芯 支持PD3.0 5-15W 1.2 推荐电路 讲解这个是官方推荐图 注意以下几点&#xff1a; NTC是100K的别买错了 L就是线圈 我这选用的A11 6.3 uH 淘宝买的 需要陪400nf NPO或CBB 还可以10uh配250nf&#xff08;这个我没试过&#xff09; 如果led2闪烁…...

[CSS]样式属性+元素设置

哎呀&#xff0c;好多东西&#xff0c;根本记不住&#xff0c;更多的还是边用边记吧&#xff0c;这里的代码就当使用范例&#xff0c;但其实如果可以让gpt应该会更好&#xff0c;哎学吧&#xff0c;反正记得住当然更好 文本 属性名描述word-break单词换行。取值如下&#xff1…...

优雅关闭jar程序shell 脚本

参考竽道Linux部署 #!/bin/bash set -eDATE$(date %Y%m%d%H%M) # 基础路径 BASE_PATH/work/projects/yudao-server # 服务名称。同时约定部署服务的 jar 包名字也为它。 SERVER_NAMEyudao-server # 环境 PROFILES_ACTIVEdev# heapError 存放路径 HEAP_ERROR_PATH$BASE_PATH/he…...

基于51单片机多功能洗衣机控制(强洗弱洗漂洗)设计( proteus仿真+程序+设计报告+原理图+讲解视频)

基于51单片机多功能洗衣机控制(强洗弱洗漂洗)设计( proteus仿真程序设计报告原理图讲解视频&#xff09; 多功能洗衣机控制-强洗弱洗漂洗 1. 主要功能&#xff1a;2. 讲解视频&#xff1a;3. 仿真设计4. 程序代码5. 设计报告6. 原理图7. 设计资料内容清单资料下载链接&#xf…...

CVP(ChatGPT、Vector Database和Prompt)

CVP实际上指的是ChatGPT、Vector Database和Prompt的结合&#xff0c;这是一种新型的技术栈&#xff0c;用于构建智能应用。 首先&#xff0c;我们来看这三个组成部分&#xff1a; ChatGPT&#xff1a;这是一个强大的语言模型&#xff0c;它能够理解并生成自然语言文本。Chat…...

c语言-----数组知识汇总

前言 本文为我学习数组知识点之后&#xff0c;对c语言的数组部分进行的知识点汇总。 简单数组介绍 简单来说&#xff0c;数组就是一个数据组&#xff0c;像一个箱子&#xff0c;里面放有多个数据。 [1,2,3,4,5] 数组的定义 基础定义 语法&#xff1a; 数据类型 数组名[数组…...

【游戏开发之热更新技术】

游戏开发之热更新技术 热更新技术是指在不重新发布和安装应用的情况下&#xff0c;对已部署的应用程序进行更新和修补的技术。这种技术在现代软件开发中变得越来越重要&#xff0c;因为它能够为用户提供更加及时的服务和更好的体验。以下是一篇关于热更新技术的文章&#xff0…...

小红的白色字符串

题目描述 小红拿到了一个字符串&#xff0c;她准备将一些字母变成白色&#xff0c;变成白色的字母看上去就和空格一样&#xff0c;这样字符串就变成了一些单词。 现在小红希望&#xff0c;每个单词都满足以下两种情况中的一种&#xff1a; 1.开头第一个大写&#xff0c;其余为…...

Python+Django+Html网页版人脸识别考勤打卡系统

程序示例精选 PythonDjangoHtml人脸识别考勤打卡系统 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对《PythonDjangoHtml网页版人脸识别考勤打卡系统》编写代码&#xff0c;代码整洁&#xf…...

第1章、react基础知识;

一、react学习前期准备&#xff1b; 1、基本概念&#xff1b; 前期的知识准备&#xff1a; 1.javascript、html、css&#xff1b; 2.构建工具&#xff1a;Webpack&#xff1a;https://yunp.top/init/p/v/1 3.安装node&#xff1a;npm&#xff1a;https://yunp.top/init/p/v/1 …...

物联网会用到哪些数据开发

物联网&#xff08;IoT&#xff09;涉及大量的设备和传感器&#xff0c;产生的数据种类繁多&#xff0c;因此在物联网领域进行数据开发时&#xff0c;可能涉及以下几个方面&#xff1a; 数据采集与存储&#xff1a; 设备数据采集&#xff1a;从各种传感器和设备中采集数据&…...

[Linux]一篇文章带你搞定软硬连接

阅读导览&#xff1a; 先在windows中先见见软硬连接从名字、inode等方面分析软硬连接如何实现软硬连接硬链接注意事项软硬链接都用来干什么如何在windows中实现硬链接 文章目录 概念简述文件系统windows下的快捷方式--软硬链接的直观体现角度1&#xff1a;文件名角度2&#xff…...

AI常见关键术语

哈喽&#xff0c;大家好&#xff0c;我是小码哥&#xff0c;人工智能技术的快速发展带来了许多专业术语&#xff0c;这些词汇对于理解AI的工作原理和应用至关重要。以下是一些关键的AI术语&#xff0c;以及它们的专业解释和通俗总结。 一、核心概念 人工智能 (AI) 专业解释&am…...

DataX案例,MongoDB数据导入HDFS与MySQL

【尚硅谷】Alibaba开源数据同步工具DataX技术教程_哔哩哔哩_bilibili 目录 1、MongoDB 1.1、MongoDB介绍 1.2、MongoDB基本概念解析 1.3、MongoDB中的数据存储结构 1.4、MongoDB启动服务 1.5、MongoDB小案例 2、DataX导入导出案例 2.1、读取MongoDB的数据导入到HDFS 2…...

谷秋精品课程网站建设软件/百度怎么推广自己的信息

1.简述编译型与解释型语言的区别&#xff0c;且分别列出你知道的哪些语言属于编译型&#xff0c;哪些属于解释型。 答: 编译型语言&#xff1a; 使用专门的编译器&#xff0c;针对特定的平台&#xff0c;将高级语言源代码一次性的编译成可被该平台硬件执行的机器码&#xff0c;…...

不用js做网站/广州网站优化服务商

基本数据类型的包装类java.lang.Integer是我们频繁使用的一个系统类&#xff0c;那么通过一个示例反应出的几个问题来深入理解一下此类的源码。需求&#xff1a;实现Integer类型的两个数值交换。1 packagecn.integer;23 public classDemo {4 public static voidmain(String[] a…...

文章类型网站/网站seo优化

&#xff08;1&#xff09;r分量更大&#xff0c;则为红色 &#xff08;2&#xff09;判断深浅&#xff1a; 亮度越亮&#xff0c;则颜色越浅。 if(r*0.299 g*0.578 b*0.114 > T){ //浅色... }else{ //深色... }...

网站建设营销推广/乐陵seo优化

1.迅时语音网关培训资料 http://wenku.baidu.com/link?urlmSZj58fsrjMjkfIq2M3Lb9ZKA_PQ4au5ZccJ6FF3uh0sVaSmqJwfQr3LyDY9S1HvYOLbv6zw5ayyPYiyNxyojewaj5B1AiynXnbbm5gcE1a&qq-pf-topcqq.c2c转载于:https://www.cnblogs.com/hezhixiong/p/5266197.html...

北京网站优化怎么样/免费seo搜索优化

数据结构(一) 1. 概述 数据结构定义: 我们如何把现实中大量而复杂的问题以特定的数据类型和特定的存储结构保存到主存储器(内存)中,以及在此基础上为实现某个功能(如元素的CURD、排序等)而执行的相应操作&#xff0c;这个相应的操作也叫算法。 数据结构 元素 元素的关系 算法…...

外贸公司没网站/网络培训网站

在mybatis的mapper.xml和mapper文件映射时&#xff0c;注意返回为空的情况 这里写成对象不要写成int...