FHE全同态加密介绍——小白版

news2024/11/24 13:22:26

1. 何为FHE?

FHE中的evluation key p k e v a l pk_{eval} pkeval是public的,用于密文计算逻辑 f ( ⋅ ) f(\cdot) f()的evalute circuit中,但根据所处理数据加解密密钥的不同,可将FHE分为:

  • 1)对称FHE:即对数据的加解密密钥 s k sk sk是相同的,都是secret的,与AES对称加密类似。
  • 2)非对称FHE:即对数据加密采用公钥 p k pk pk,解密采用私钥 s k sk sk
    • 非常实用,支持多人贡献数据(使用公钥 p k pk pk加密),而仅,拥有私钥 s k sk sk的人可解密。
    • 借助不同于(如RSA、Elgamal等)常规加密算法的polymorphic encryption,使得对称FHE和非对称FHE,二者等价,可相互转换。
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

全同态加密(FHE):

  • 可防止数据盗窃和监视,使localization(本地化)变得不必要。
  • 数据在传输和处理过程中,都是端到端加密的。
  • FHE使数据能够在处理过程中始终保持加密,使公司能够在不访问用户数据的情况下提供服务。由于没有政府或黑客能够解密服务端数据,本地化变得不必要,这使公司节省了大量的云基础设施成本。
  • FHE调和了网络隐私,高效FHE将有助于从https://,大幅迈进httpz://。【让用户真正具有数据主权和隐私权。】
    在这里插入图片描述

在这里插入图片描述

FHE将改变现有数据管理和处理范式:

  • 用户个人所持有的健康数据、纳税等政府数据、投资等金融数据,是以密文形式发送给增值服务处理的。对于用户,借助FHE技术,可:
    • 强化用户数据隐私
    • 需获得用户许可
    • 用户真正拥有数据主权
  • 对于提供增值服务的提供商,若采用FHE技术:
    • 无法获悉用户数据的明文信息
    • 无数据泄露风险
    • 与服务部署位置无关,可使用云服务,使本地化变得无必要。
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

在这里插入图片描述
过去四十多年来,FHE的衍化可分为4代:

  • 第一代FHE:代表作为2009年Gentry和2010年DGHV。【均为“基于整数”分支】
  • 第二代FHE:代表作为2011年BGV、2012年LTV、2012年BFV(属leveled schemes分支)、2013年BLLN(属NTRU分支)。
  • 第三代FHE:代表作为2013年GSW、2014年FHEW(属fast bootstrapping分支)。
  • 第四代FHE:代表作为2016年CKKS(属leveled schemes分支)、2016年TFHE(属fast bootstrapping分支)。

1. 第一代FHE

第一代FHE:代表作为2009年Gentry和2010年DGHV。【均为“基于整数”分支】
在这里插入图片描述
明文数据为:

  • x , y ∈ { 0 , 1 } x,y\in\{0,1\} x,y{0,1}

对应有:

  • 加法同态运算:根据密文 E n c ( x ) , E n c ( y ) Enc(x),Enc(y) Enc(x),Enc(y),可计算出 E n c ( x ⊕ y ) Enc(x\oplus y) Enc(xy)。加法同态运算很快。【噪声是相加的】
  • 乘法同态运算:根据密文 E n c ( x ) , E n c ( y ) Enc(x),Enc(y) Enc(x),Enc(y),可计算出 E n c ( x ⊗ y ) Enc(x\otimes y) Enc(xy)。乘法同态运算很慢。【噪声是相乘的,噪声长度将翻倍。】

由于明文为二进制数据,其中:

  • ⊕ = + m o d    2 = x o r \oplus=+ \mod 2=xor =+mod2=xor
  • ⊗ = × m o d    2 = a n d \otimes=\times \mod 2=and =×mod2=and

对应的FHE电路为boolean电路:
在这里插入图片描述
但是用于FHE计算的密文数据中,存在噪声(noise)的概念,且:

  • 噪声会随时间累积:
    • 对于加法运算,两个密文的噪声是相加的。
    • 对于乘法运算,两个密文的噪声是相乘的。最终的噪声长度将翻倍。
  • 当噪声一定水平时,密文可正确被解密;当噪声高于一定水平时,则解密结果不正确。
    在这里插入图片描述

由于乘法运算的噪声是相乘的,最终的噪声长度按翻倍增长,则意味着:

  • 乘法运算的噪声,将随其深度,呈指数增长。
    在这里插入图片描述

这就意味着,少量的乘法运算,噪声就会淹没密文数据,即以上FHE方案本质为SHE方案(Somewhat homomorphic encryption,即只支持有限次数的乘法运算)。为解决SHE方案中噪声呈指数增长的问题,Gentry提出了一种巧妙的思路——引入了:

  • bootstrapping自举。如下图所示的自举方案,尽管可以降噪,但存在的问题在于,该自举计算非常慢。
    在这里插入图片描述

但借助上图的bootstrapping自举方案,可做任意深度的乘法运算,即可实现无限次数的乘法运算——称为initial FHE vision,与之前的SHE方案对比为:
在这里插入图片描述
其中:

  • initial FHE vision中的噪声呈常量增长:可支持任意次数乘法运算。
  • SHE方案中的噪声呈指数增长:仅支持有限次数乘法运算。
  • initial FHE vision 和 SHE方案,可混合使用。

2. 第二代FHE

在这里插入图片描述
在这里插入图片描述

第二代FHE:代表作为2011年BGV、2012年LTV、2012年BFV(属leveled schemes分支)、2013年BLLN(属NTRU分支)。

第二代FHE中,开始出现属于leveled schemes分支的FHE方案:2012年BFV。

所谓leveled schemes分支的FHE方案,是指:

  • 密文具有的噪声level为: ℓ ∈ { 1 , ⋯   , L } \ell\in\{1,\cdots,L\} {1,,L}
  • 2个密文加法运算后的噪声level为:取2个输入密文的最大噪声level。
  • 2个密文乘法运算后的噪声level为:取2个输入密文的最大噪声level,再加 1 1 1
  • 若密文的噪声level为 L + 1 L+1 L+1,则意味着该密文将无法被正确解密。
  • 噪声level为 L L L时,可通过bootstrapping,将噪声level降为 1 1 1
    在这里插入图片描述

这即意味着,leveled schemes分支中的FHE方案:

  • 其噪声是呈linear线性增长的。
  • 相比于第一代FHE方案,电路内需要做bootstrapping的次数要更少。
  • 有的第二代FHE方案中,引入了packing/batching概念——支持并行执行相同的boolean电路。
  • 有的第二代FHE方案中,电路不再受限于boolean(即 m o d    2 \mod 2 mod2),可为 m o d    p \mod p modp运算。
    在这里插入图片描述

3. 第三代FHE

在这里插入图片描述

第三代FHE:代表作为2013年GSW、2014年FHEW(属fast bootstrapping分支)。

  • 2013年GSW:做了概念简化,但基本上很慢。
  • 2014年FHEW(属fast bootstrapping分支):对bootstrapping进行了大幅改进。

4. 第四代FHE

在这里插入图片描述

第四代FHE:代表作为2016年CKKS(属leveled schemes分支)、2016年TFHE(属fast bootstrapping分支)。

2016年TFHE(属fast bootstrapping分支):

  • TFHE全称为Torus FHE
  • 使用torus R / Z \mathbb{R}/\mathbb{Z} R/Z,对第三代的FHEW进行了简化和通用化。所谓torus,本质为real numbers modulo 1 1 1——为 0 0 0 1 1 1之间的实数集合。

TFHE基本格式为:

  • 1)明文为bits,但可扩展(extendable)
  • 2)支持所有boolean gates,以及,MUX gate。
  • 3)每个操作都被bootstrapped
  • 4)bootstrapping速度快,通常为几十毫秒。
  • 5)安全性源自LWE(Learning With Errors)/RLWE(Ring Learning With Errors)。
  • 6)支持任意安全强度,如128 bits。
    在这里插入图片描述

参考资料

[1] Zama团队Pascal Paillier 2020年11月11日分享视频 001 Introduction to Homomorphic Encryption w/ Pascal Paillier(对应slide见:Introduction to Fully Homomorphic Encryption)
[2] Craig Gentry 于 2024年6月13日视频分享及slide FHE: Past, Present and Future

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全同态加密简介
  • FHE与TEEs区别:Downfall攻击
  • Greco:使用ZKP来证明FHE参与方的RLWE密文格式正确
  • FHE入门
  • Verifieable FHE(VFHE):使用Plonky2来证明Zama TFHE的“Bootstrapping的正确执行”

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

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

相关文章

Web后端开发概述环境搭建项目创建servlet生命周期

Web开发概述 web开发指的就是网页向后再让发送请求,与后端程序进行交互 web后端(javaEE)程序需要运行在服务器中 这样前端才可以对其进行进行访问 什么是服务器? 解释1: 服务器就是一款软件,可以向其发送请求,服务器会做出一个响应.可以在服务器中部署文件,让…

【ai】trition:tritonclient.utils.shared_memory 仅支持linux

Can’t find tritonclient.utils.shared_memory on WIN10 #4149yolov4的python客户端 导入以后,windows 的pycharm 就是看不到折腾了很久:SaviorEnv 环境下安装tritonclient[all]也会失败 (base) C:\Users\zhangbin>conda create -n SaviorEnv python=3.8 Collecting pack…

计算机体系结构和指令系统

1.计算机体系结构 - 五大部件 - 冯 诺依曼 计算机的特点 1.计算机有五大部件组成 2.指令和数据以同等地位存储于存储器,可按照地址访问 3.指令和数据用二进制表示 4.指令由操作码和地址码组成 5。存储程序 6.以计算器为中心(输入、输出设备与存储器…

成都市水资源公报(2000-2022年)

数据年限:2000-2022年,无2009年 数据格式:pdf、word、jpg 数据内容:降水量、地表水资源量、地下水资源量、水资源总量、蓄水状况、平原区浅层地下水动态、水资源情况分析、供水量、用水量、污水处理、洪涝干旱等

[XYCTF新生赛]-PWN:EZ1.0?(mips,mips的shellcode利用)

查看保护 查看ida 这里用的是retdec,没安装的可以看这个[CTF]-PWN:mips反汇编工具,ida插件retdec的安装-CSDN博客 这里直接看反汇编貌似看不出什么,所以直接从汇编找 完整exp: from pwn import* context(log_leveldebug,archmip…

【机器学习】在【Pycharm】中的应用:【线性回归模型】进行【房价预测】

专栏:机器学习笔记 pycharm专业版免费激活教程见资源,私信我给你发 python相关库的安装:pandas,numpy,matplotlib,statsmodels 1. 引言 线性回归(Linear Regression)是一种常见的统计方法和机器学习算法&a…

Nature Climate Change | 中国科学院地理资源所吴朝阳课题组发表生物多样性调控植被物候的研究成果!

本文首发于“生态学者”微信公众号! 植被春季物候对气候变化的响应通常是通过测量其温度敏感性(ST,温度每升高1度,植被提前展叶的天数)来量化。ST是植被在当地历史气候环境的选择压力下演化形成的最优策略,…

基于GRU自回归解码模拟人类股票交易实现高胜率

这里是基于encoder-decoder和注意力机制 模型代码,sigmoid对资产进行调仓。训练直接使用收益作为优化函数 import torch import torch.nn as nn from dataloader import create_dataloadersclass Attention(nn.Module):def __init__(self, hidden_dim):super(Attention, self…

C++集中营笔记(1)第一节课和第二节课

第一节课linux的使用 1.Linux 常用命令 [chenbogon ~]$ cd ~ [chenbogon ~]$ cd /home [chenbogon home]$ mkdir cpp-test mkdir: cannot create directory ‘cpp-test’: Permission denied [chenbogon home]$ sudo mkdir cpp-testWe trust you have received the usual lec…

Leetcode 78 数组子集

题目描述: 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的 子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1: 输入:nums [1,2,3] 输出&#xff1…

pyqt 文件浏览列表视图和图标视图

pyqt 文件浏览列表视图和图标视图 目的效果代码 目的 使用pyqt实现文件浏览列表视图和图标视图,像电脑文件浏览一样。如下图所示。 效果 代码 import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget, QToolBar, QAction, Q…

商城自动化测试实战 —— 登录+滑块验证

hello大家好,我是你们的小编! 本商城测试项目采取PO模型和数据分离式架构,采用pytestseleniumjenkins结合的方式进行脚本编写与运行,项目架构如下: 1、创建项目名称:code_shopping,创建所需项目…

基于单片机光纤测距系统的设计与实现

摘要 : 光纤由于其频带宽 、 损耗低及抗干扰能力强等优点已被广泛地应用在通信 、 电子及电力方面 , 是我们生产生活中必不可少的媒介。 在实际的光纤实验 、 安装 、 运营和维护工作中 , 一种精准 、 轻便和易操作的光纤测距系统显得尤为重…

粉色专业月子会所服务网站源码pbootcms模板

模板介绍 随着时代的发展,月子中心这个产业已越来越盛行,小编挣了一款粉色专业月子会所服务网站源码pbootcms模板供大家下载,适合家政、月嫂服务、母婴护理、月子会所、保姆服务等相关业务,响应式自适应的源码下载设计让您快速编…

百度网盘下载速度慢的解决办法

目录 一、背景 二、解决办法 1、点击三个竖点,再点设置 2、点击传输,再点击去开启该功能 3、点击同意,开启优化速率 三、结果 四、备注 一、背景 当你不是百度网盘会员时,你在使用百度网盘下载时,是否下载速度太…

B站CEO陈睿:超8000万用户在看AI内容

AI圈最近又发生了啥新鲜事? 该栏目以周更频率总结国内外前沿AI动态,感兴趣的可以点击订阅合集以及时收到最新推送 B站CEO陈睿:每月超过8000万用户在平台看AI内容 B站15周年庆上B站董事长兼CEO陈睿发表演讲,公布了B站上AI的内容…

【自然语言处理】预训练语言模型实现与应用

预训练语言模型实现与应用 1 任务目标 1.1 案例简介 ​ 2018年,Google提出了预训练语言模型BERT,该模型在各种NLP任务上都取得了很好的效果。与此同时,它的使用十分方便,可以快速地对于各种NLP任务进行适配。因此,B…

GraalVM windows系统初体验

传统的jvm需要 经历 java ->class ->装载、链接、初始化、使用、卸载等步骤,启动非常慢且费内存, graalvm则是AOT编译器把字节码直接翻译成机器识别的二进制编码的本地镜像,大大提高了启动速度和减少内存消耗 官网:https:…

LLM端侧部署系列 | 手机上运行47B大模型?上交推理框架PowerInfer-2助力AI手机端侧部署

0. 引言 黄梅时节家家雨,青草池塘处处蛙。 有约不来过夜半,闲敲棋子落灯花。 当下,在移动设备上部署大型模型的趋势是愈演愈烈。Google推出了AI Core,使得Gemini Nano可以在智能手机上部署。此外,近期传闻苹果在iOS …