FHE简介

news2024/10/1 3:34:37

1. 引言

加密技术已经存在了数千年,用于相互发送秘密信息。例如,凯撒密码是最早的加密技术之一,可以追溯到公元前60年,其只由字母表中的字母交换组成。

随着互联网的出现,人们生成的私人数据量呈指数级增长,数据泄露和大规模监控也随之大幅增加。为此,发明了新的加密技术——最终在日常应用程序中主流采用的端到端加密。

但是端到端加密实际上是如何工作的呢?它将如何改变人们使用互联网的方式?

当今的数据保护方式为:
在这里插入图片描述
由于数据在处理过程中是未加密的,数据仍可被窃取。根据IBM 2023 Security report,有:

  • 当前涉及存储在云中数据的违规百分比为85%。
  • 2023年数据泄露的全球平均总成本月为445万美金。
  • 一家公司识别数据泄露所需的平均时长为277天。

现如今,对end-to-end(端到端)加密的需求迫在眉睫。

2. 同态加密简介

Fully Homomorphic Encryption(FHE),支持在不解密数据的情况下,对已加密数据进行处理。即意味着公司可在不窥探用户数据的情况下,为用户提供服务,且用户从功能上的体验是无差异的。

在数据传输和处理过程中,均使用的是已加密数据,这样链上不再仅是发送信息,而是端到端加密。

这不是黑魔法。
借助同态加密,可在不泄露任何个人数据的情况下使用任何线上服务。

从用户角度来看,服务不会改变:

  • 可一如既往地使用它。

但从服务端的角度来看:

  • 一切都是加密的——没有公司、政府或黑客能看到用户的数据。

3. FHE将如何改变未来

3.1 预防医学

想象一下,提前知道需做什么才能在一生中保持健康。人工智能越来越有可能做到这一点,但需要共享你所有的健康数据——从你的DNA到你的病史再到你的生活习惯。有了FHE,你可以在加密的同时发送所有这些数据,人工智能会以加密的健康建议做出回应,只有你才能看到。

如可推广为加密敏感数据的情感分析:
在这里插入图片描述

3.2 人脸识别

从科幻照进现实,人脸识别现在已成为人们日常体验的一部分。使用人脸识别进入建筑物,解锁手机,在照片中标记人物,并很快登录到各地的网站。然而,这需要有人拥有你的生物特征,如果掌握错误,该生物特征可能会被用来冒充你。使用FHE,可安全地进行身份验证,而不会有人窃取你的生物特征数据。

推广为加密图像处理,如加密图像数据滤波:
在这里插入图片描述

3.3 private smart contract

从设计上讲,区块链是公共的,这意味着流入web3应用程序的所有用户数据对整个世界都是可见的。有了FHE,可启用私人智能合约,其中的输入和输出是端到端加密的,这意味着你可以安全地构建使用敏感个人数据的去中心化应用程序,比如链上身份、私人NFT元数据或地理定位的Dapps。

如fhEVM:
在这里插入图片描述

fhEVM相应的private合约示例为:

contract EncryptedERC20 {
// A mapping from address to an encrypted balance.
mapping(address => euint32) internal balances;

// Transfers an encrypted amount.
function _transfer(address from, address to, euint32 amount) internal {
	// Make sure the sender has enough tokens.
  TFHE.req(TFHE.le(amount, balances[from]));

  // Add to the balance of `to` and subract from the balance of `from`.
  balances[to] = TFHE.add(balances[to], amount);
  balances[from] = TFHE.sub(balances[from], amount);
}

// Returns the balance of the caller encrypted under the provided public key.
function balanceOf(
	bytes32 publicKey,
	bytes calldata signature
) public view onlySignedPublicKey(publicKey, signature) returns (bytes memory) {
	return TFHE.reencrypt(balances[msg.sender], publicKey, 0);
}

3.4 internet

在这里插入图片描述

  • 当互联网首次出现时,通过HTTP地址访问网站。任何东西都没有加密,任何人都可以收听你在网上发送的内容。
  • 然后是HTTPS,它对传输中的数据进行加密。但服务端处理时数据是未加密的。
  • 相信FHE将实现一种新的互联网协议HTTPZ,在该协议中,一切都是端到端加密的。隐私不再重要,不是因为它不重要,而是因为它将通过互联网本身的设计来保证。

参考资料

[1] Zama A 6 minute introduction to Fully Homomorphic Encryption (FHE)

FHE系列博客

  • 技术探秘:在RISC Zero中验证FHE——由隐藏到证明:FHE验证的ZK路径(1)
  • 基于[Discretized] Torus的全同态加密指引(1)
  • 基于[Discretized] Torus的全同态加密指引(2)
  • TFHE——基于[Discretized] Torus的全同态加密 代码解析
  • 技术探秘:在RISC Zero中验证FHE——RISC Zero应用的DevOps(2)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1333000.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第11章 GUI Page429~430 步骤八 支持“十字”形

运行效果&#xff1a; 关键代码&#xff1a; 新增头文件&#xff1a; //item_cruciform.hpp #ifndef ITEM_CRUCIFORM_HPP_INCLUDED #define ITEM_CRUCIFORM_HPP_INCLUDED#include <cmath> #include "item_line.hpp"class CruciformItem : public IItem { pub…

图像识别SLIC、Haralick texture features(自备)

SLIC 简单线性迭代聚类(SLIC ),它采用k-means聚类方法来有效地生成超像素。 SLIC超像素分割详解&#xff08;一&#xff09;&#xff08;二&#xff09;&#xff08;三&#xff09;_超像素分割 样本-CSDN博客 超像素分割 & SLIC算法 & 使用示例_slic分割算法matlab-C…

C语言、c++实现超好玩植物大战僵尸(完整版附源码)

实现这个游戏需要Easy_X main.cpp //开发日志 //1导入素材 //2实现最开始的游戏场景 //3实现游戏顶部的工具栏 //4实现工具栏里面的游戏卡牌 #define WIN_WIDTH 900 #define WIN_HEIGHT 600 //定义植物类型 enum { WAN_DOU, XIANG_RI_KUI, ZHI_WU_COUNT }; #include<stdio.…

SpringMVC:整合 SSM 中篇

文章目录 SpringMVC - 04整合 SSM 中篇一、优化二、总结三、说明注意&#xff1a; SpringMVC - 04 整合 SSM 中篇 一、优化 在 spring-dao.xml 中配置 dao 接口扫描&#xff0c;可以动态地实现 dao 接口注入到 Spring 容器中。 优化前&#xff1a;手动创建 SqlSessionTempl…

『OPEN3D』1.1 点云处理

目录 1.open3d中的点云IO 2.点云的可视化 3 点云voxel下采样 4. 顶点法线估计 5.最小外界矩 6. 凸包计算 7. 点云距离计算 8. DBSCAN clustering聚类 9. RANSAC(Random Sample Consensus) 10. 点云平面分割 11. 隐藏点移除 12.outliers移除 13 最远点采样&#xf…

视频编码码率控制

什么是码率控制 码率控制是编码器的一个重要模块&#xff0c;主要的作用就是用算法来控制编码器输出码流的大小。虽然它是编码器的一个非常重要的部分&#xff0c;但是它并不是编码标准的一部分&#xff0c;也就是说&#xff0c;标准并没有给码控设定规则。我们平时用的编码器…

sql_lab之sqli注入中的cookie注入

Cookei注入&#xff08;gxa的从cookei注入&#xff09; 1.打开控制台 2.验证id2时的值 document.cookie"id2" 3.判断是上面闭合方式 document.cookie"id2 -- s" 有回显 说明是’单引号闭合 4.用order by 判断字段数 5.用联合查询判断回显点 接下来的…

html5 实现网页截屏 页面生成图片

效果 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"referrer" content"no-referrer" /><meta name"viewport"content"widthdevice-width,intial-sc…

前端开发新趋势:Web3 与虚拟现实的技术融合

在当今互联网技术日新月异的时代&#xff0c;Web技术也在不断地发展和变革。从前端开发的角度来看&#xff0c;新技术的涌现和旧技术的迭代让前端开发者们面临着前所未有的挑战和机遇。Web3 与虚拟现实&#xff08;VR&#xff09;的技术融合&#xff0c;正是当前前端开发领域的…

dpc与线程切换

中断服务例程 延迟过程调用 线程切换 键盘信号传输 1. 背景 我一般用ctrlaltdel能否呼出winlogon桌面作为Windows卡死&#xff08;hang&#xff09;还是个别程序卡死的鉴别手段。因为一则用户态的程序没办法干扰这个呼出流程&#xff0c;二则如果不能呼出任务管理器来终止进程…

openmediavault基本操作

omv基本操作 使用hostname访问共享文件夹设置1.挂载磁盘2.提交更改3.新建用户4.建立共享文件夹5.设置SMB/CIFS服务7.测试7.1.速度测试 使用hostname访问 把网口和wifi设置成DHCP,使用hostname访问,这样把NAS拿到任何地方都不需要配置了,自动联网进行访问. #网络->常规 #设…

搭建谷歌 Gemini,体验谷歌版GPT4

12.06 日谷歌 DeepMind CEO 和联合创始人 Demis Hassabis 正式推出了大模型Gemini 目前&#xff0c;Gemini 1.0 提供了三个不同的尺寸版本&#xff0c;分别如下&#xff1a; Gemini Ultra&#xff1a;规模最大、能力最强&#xff0c;用于处理高度复杂的任务&#xff1b;Gemin…

map容器的基本使用

文章目录 mapmap模板参数默认构造迭代器[ ]{ }inserterasefindlower_bound && upper_boundcountequal_range map和set容器&#xff0c;multimap和multiset是树形结构的关联式容器&#xff0c;这四种容器底层原理都是红黑树&#xff0c;容器中的元素是一个有序序列。 ma…

电子电器架构(E/E)演化 —— 主流主机厂域集中架构概述

电子电器架构(E/E)演化 —— 主流主机厂域集中架构概述 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。…

存储卡显示0字节怎么办?恢复0字节的存储小技巧

存储卡显示0字节是一个常见的故障现象&#xff0c;可能由多种原因引起。本文将详细分析存储卡出现此类问题的各种原因&#xff0c;并提供针对性的解决方法。通过深入了解这些原因和解决方案&#xff0c;读者可以有效地应对存储卡显示0字节的故障&#xff0c;从而恢复存储卡的正…

博主自制PDF转换工具丨支持PDF转图片丨PDF转word丨PDF转Excel丨PDF文本识别丨免费使用在线下载

博主自制PDF转换工具丨支持PDF转图片丨PDF转word丨PDF转Excel丨PDF文本识别丨免费使用在线下载 点我立即下载

CSB文件上传漏洞 -->Day4(图片挂马)

22二号&#xff0c;冬至啦&#xff0c;深圳这边只有5&#xff08;尊嘟好冷啊&#xff09;&#xff0c;写这篇文章的时候都已经是凌晨一点了&#xff0c;相信大部分的人都在温暖的被窝里面了吧&#xff01;&#xff01;&#xff08;可怜的我&#xff0c;还得写writeup&#xff0…

【XML】TinyXML 详解(一):介绍

【C】郭老二博文之&#xff1a;C目录 1、简介 优点&#xff1a; TinyXML 是一个简单、小型的 C XML 解析器&#xff0c;可以轻松集成到项目中。 TinyXML 解析 XML 文档&#xff0c;并根据该文档构建可读取、修改和保存的文档对象模型 (DOM) TinyXML 是在 ZLib 许可下发布的&a…

UG凸起命令

凸起命令是拉伸命令的补充&#xff0c;可以方便的对曲面进行拉伸切除。 当端盖中几何体类型选择默认的截面平面的时候&#xff0c;相当于拉伸命令 当端盖中几何体类型选择凸起的面的时候&#xff0c;相当于拉伸其实曲线变为选择曲线在凸起面的投影曲线&#xff0c;然后基于凸起…

栈的常见题型

1.有效的括号 char pairs(char a) {if(a})return {;if(a])return [;if(a))return (;return 0; } bool isValid(char* s) {char* stack(char*)malloc(sizeof(char)*10000);int top0;int lenstrlen(s);if(len%21)return false;for(int i0;s[i];i){char chpairs(s[i]);if(ch){if(t…