想象你有一口保险箱,里面锁着一袋传家宝金币。你想把这袋金币送到首饰师傅那里,请他把金币熔成一条项链——可你绝不愿意交出钥匙。传统加密世界里,这是个死局:想加工,必须开锁;开了锁,秘密就暴露了。同态加密要解决的,正是这个看似不可能的问题。它给保险箱装上“魔法加工口”:师傅隔着钢板打磨、熔铸、拼接,全程看不见金币本身,完工后把项链递还给你,你亲自开锁取出,成品与亲手加工的分毫不差。这件“魔法保险箱”,就是同态加密——它允许数据在加密状态下被直接运算,运算结果解密后与直接在明文上运算完全一致。本文将带你从概念、分类、经典算法到工程应用,一步步拆解这个神奇领域:从只会做加法的 Paillier 保险箱,到 Gentry 打造的全能加工台,再到让保险箱永葆崭新的保养技术——自举。

岗位关联

掌握同态加密原理,是进入隐私计算、安全机器学习等前沿领域的敲门砖。理解“数据可用不可见”如何实现,将帮助你在云计算、医疗、金融等数据敏感的行业设计真正安全可靠的系统架构。

目录
  1. 可视化演示
  2. 同态加密概述
  3. 分类体系
  4. Paillier方案
  5. Gentry方案
  6. 自举技术
  7. 层级同态加密
  8. 云计算应用
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

同态加密允许在密文上直接计算,结果解密后等同于明文计算结果。本文详解部分同态加密与全同态加密的区别、Paill... 切换模式查看不同维度。

本节配有交互动效(进入视口后自动加载,约 3KB)。

同态加密基本:核心原理 动态展示关键流程与数据流动 交互控件调节参数实时渲染 f(x) = transform(x) 核心概念的可视化呈现

同态加密概述

假设你有一口保险箱,里面存着一袋金币。你想让工匠把它熔成项链,却绝不愿意交出钥匙。传统加密世界里这是死局——想加工,必然先开锁。同态加密却给出了“魔法保险箱”:箱壁上有加工口,工匠可以隔着钢板打磨、熔铸、拼接,全程看不见金币本身,可最终递给你的项链,与你亲自开箱加工的成品一模一样。

1978 年,Rivest、Adleman 和 Dertouzos 在论文中首次提出“在加密数据上做运算”的构想,称之为“隐私同态”。此后三十年间,密码学家只找到支持单一运算的部分方案,直到 2009 年 Craig Gentry 用理想格构造出第一个全同态加密方案,才让这个梦想真正落地。

同态加密的核心性质,是密文运算与明文运算之间的“可交换性”。如果存在一对运算 ⊙ 和 ⊕,使得“先加密再运算”的结果解密后,等于“先运算再加密”的结果,那么这个加密方案对运算 ⊕(密文侧表现为 ⊙)就是同态的:

有了这纸“承诺书”,数据所有者就可以放心地把保险箱交给任何不可信的加工方:云服务器、第三方分析团队——它们只需照着图纸操作加工口,永远接触不到真实数据。这正是“数据可用不可见”理念的源头,也是理解后续所有方案的起点。

E(m1)⊙E(m2)=E(m1⊕m2)\displaystyle E(m_1) \odot E(m_2) = E(m_1 \oplus m_2)
这个公式是说:保险箱加工口做出来的“成品”,和开箱后直接加工的成品完全一致——只是前者全程没有人见过里面的东西。
  1. 加密函数 E把明文锁进保险箱的操作,将消息 m 转换为密文
    E(⋅)\displaystyle E(\cdot)
  2. 密文运算 ⊙在保险箱外对锁好的箱子执行的加工动作
    E(m1)⊙E(m2)\displaystyle E(m_1) \odot E(m_2)
  3. 明文运算 ⊕打开保险箱后对物品直接做的加工动作
    m1⊕m2\displaystyle m_1 \oplus m_2
  4. 等号成立两条路径结果相同——这就是魔法加工口的承诺书
    E(m1)⊙E(m2)=E(m1⊕m2)\displaystyle E(m_1) \odot E(m_2) = E(m_1 \oplus m_2)

分类体系

市面上的保险箱分三档:只能锁门的普通箱;带一个搅拌口的半自动箱;配备全套机械臂的全能箱。同态加密同样分三档——部分同态、有些同态、全同态,区别只在于“加工口的种类”和“能连续加工多少次”。

部分同态(PHE)只支持加法或乘法中的一种运算,但通常次数不限;有些同态(SWHE)同时支持加法与乘法,却因噪声累积只能做浅层计算;全同态(FHE)则能在密文上执行任意深度的加乘组合电路,好比拥有无限加工能力的终极保险箱。三者能力递增,计算开销也递增。

以代数式表达,加法同态与乘法同态分别要求:

买保险箱时,档位越高价格越贵;同态加密同理,能力越强计算开销越大。理解这三档阶梯,才能在实际工程中恰当选择——只做聚合统计,用便宜的 Paillier 即可;要跑复杂模型,才需动用全同态。

E(m1+m2)=E(m1)⊕E(m2),E(m1×m2)=E(m1)⊗E(m2)\displaystyle E(m_1 + m_2) = E(m_1) \oplus E(m_2), \qquad E(m_1 \times m_2) = E(m_1) \otimes E(m_2)
  1. 加法同态密文侧的 ⊕ 在明文侧恰好对应加法
    E(m1+m2)=E(m1)⊕E(m2)\displaystyle E(m_1 + m_2) = E(m_1) \oplus E(m_2)
  2. 乘法同态密文侧的 ⊗ 在明文侧恰好对应乘法
    E(m1×m2)=E(m1)⊗E(m2)\displaystyle E(m_1 \times m_2) = E(m_1) \otimes E(m_2)
  3. 全同态定义两类密文运算同时成立且可任意组合
    FHE: ⊕ 与 ⊗ 可无限次组合\displaystyle \text{FHE: } \oplus \text{ 与 } \otimes \text{ 可无限次组合}

Paillier方案

1999 年诞生的 Paillier 加密,就是那台“只装了一个搅拌口”的保险箱。它只提供加法同态一种加工能力,但构造精巧、效率可观,而加法已足以支撑投票统计、数据聚合等大量真实业务,堪称性价比之王。

Paillier 的安全性建立在“合数剩余困难假设”上:给定大合数 n 的平方,要判断一个数是否形如 r^n 是计算上困难的。公钥为 (n, g),其中 n = pq 是两大素数的乘积,g 是模 n² 中的生成元(常取 n+1)。加密时还要随机选一个与 n 互素的数 r——每次上锁都换一把新锁芯,这正是“相同明文反复加密却得到不同密文”的秘密。

加密公式为:

正因为这台“加法保险箱”能反复搅拌金币堆——每堆金币的数量加密后相乘,打开就是总量——它天然适合计票、加总、聚合等场景。缺点是只有一个加工口,想让它在密文上做明文乘法,就无能为力了。

c=gm⋅rn mod n2\displaystyle c = g^{m} \cdot r^{n} \bmod n^2
  1. 模数 n两个大素数 p、q 的乘积,构成公钥主体
    n=p×q\displaystyle n = p \times q
  2. 底数 g公开的生成元,常用最方便的 n+1
    g=n+1\displaystyle g = n + 1
  3. 随机数 r每次加密取一个与 n 互素的数,保证密文不固定
    r∈Zn∗\displaystyle r \in \mathbb{Z}_n^{*}
  4. 密文合成明文藏在 g 的指数里,随机项作为烟雾弹
    c=gm⋅rn mod n2\displaystyle c = g^{m} \cdot r^{n} \bmod n^2
  5. 加法同态验证两块密文相乘,指数相加、随机项合并,形态依然合法
    E(m1)⋅E(m2)=gm1+m2(r1r2)n=E(m1+m2)\displaystyle E(m_1) \cdot E(m_2) = g^{m_1 + m_2}(r_1 r_2)^n = E(m_1 + m_2)

Gentry方案

如果说 Paillier 只有一个搅拌口,那么 2009 年 Gentry 推出的就是“全能加工台”:既能搅拌,又能切割、焊接、钻孔,且加工顺序可任意编排。一个悬置三十年的密码学梦想,至此变为现实。

Gentry 的天才构造分三步:先用理想格构造一个“有些同态”方案(SWHE),它能做不少加法和乘法,但受噪声限制深度有限;再证明核心定理——如果这个方案能“同态地评估自己的解密电路”(即 bootstrappable),它就能把有限深度扩展成无限深度,升级为全同态。第三步自然就是构造出这样的方案并完成证明。

这套打法的关键条件可以写成:

Gentry 的意义远超一个具体方案:它证明了“只要解密电路足够简单,同态加密就能自我刷新”。此后 BGV、BFV、CKKS 等全同态方案无不在这个框架上做工程优化——把理想格换成更高效的代数结构,把自举次数尽量压缩。

Dec∈CE⇒FHE 可行\displaystyle \text{Dec} \in \mathcal{C}_E \quad \Rightarrow \quad \text{FHE 可行}
  1. 可评估电路类 C_E保险箱加工能力所能覆盖的指令范围
    CE={C:E 能同态评估电路 C}\displaystyle \mathcal{C}_E = \{ C : E \text{ 能同态评估电路 } C \}
  2. 解密电路 Dec“打开保险箱”这个动作本身也是一条加工指令
    Dec(c,sk)\displaystyle \text{Dec}(c, sk)
  3. 自举条件只要解密电路足够浅、落在可评估范围内,刷新就能实现
    Dec∈CE⇒FHE\displaystyle \text{Dec} \in \mathcal{C}_E \Rightarrow \text{FHE}

自举技术

保险箱每用一次,内壁就多一道划痕。划痕(噪声)多了,锁可能卡住,甚至箱里的宝贝受损。你想把保险箱送回原厂清理,可原厂清洁也要开锁——这又回到了矛盾原点。自举(Bootstrapping)就是在死胡同里凿出的第三条路。

自举的思路是:把钥匙也锁进一只保险箱,再把“开锁清洁”的动作交给箱内的机械臂完成。整个动作隔着钢板执行,外人依然看不到任何秘密。对应到加密世界,就是用加密后的私钥同态地执行一遍解密电路,从而在不暴露明文的前提下,把密文的噪声刷回初始水平。

具体流程如下——输入一颗噪声逼近上限的“脏密文”和加密过的私钥,同态执行解密电路:

代价是极高的计算量——一次自举可能比上万次普通运算还贵。这也是为什么全同态加密虽在 2009 年就已诞生,直到近年硬件加速与算法优化并进后,才逐渐具备实用价值。

c′=Recrypt(c)=Eval(fDec,c,E(sk))\displaystyle c' = \text{Recrypt}(c) = \text{Eval}\left(f_{\text{Dec}}, c, E(sk)\right)
  1. 脏密文 c噪声接近阈值的密文,快要“打不开锁”了
    c,Noise(c)≈Bmax⁡\displaystyle c, \quad \text{Noise}(c) \approx B_{\max}
  2. 加密私钥 E(sk)钥匙也被锁进保险箱,旁人无权触碰
    E(sk)\displaystyle E(sk)
  3. 同态解密 Eval把“打开保险箱”作为加工指令,在密文域内执行
    Eval(fDec,c,E(sk))\displaystyle \text{Eval}(f_{\text{Dec}}, c, E(sk))
  4. 新鲜密文 c'同一明文的新封装,噪声重置回初始水平
    Noise(c′)≈B0≪Bmax⁡\displaystyle \text{Noise}(c') \approx B_0 \ll B_{\max}

层级同态加密

既然每次自举保养费不菲,保险公司便推出“有限保养套餐”:合同约定这台保险箱最多加工 L 次,之后必须更换。层级同态加密(Leveled HE)就是这个套餐——允许计算深度 L,电路一深,解密结果就可能出错。

在层级方案中,安全参数(模数 q、格维度 n)要随着 L 一起扩大,因为噪声预算必须覆盖整个电路深度。参数越大运算越慢,因此 L 的设定必须在“够用”与“高效”之间折中。拿到实际电路时,工程师先算它的乘法深度,再反向确定参数。

正确解密的边界条件是密文噪声低于阈值。设噪声经过 L 层计算后增长到 B_L,密文模数为 q,则必须满足:

现代主流方案普遍采用“参数预分配”策略:先算电路深度,再据此选模数。工程上常把层级方案与自举混用——浅层部分用便宜的层级参数,只在噪声逼近上限时才做一次自举,把保养费压到最低。

BL<q8\displaystyle B_L < \frac{q}{8}
  1. 密文模数 q决定噪声容量的“钢壁厚度”
    q\displaystyle q
  2. 噪声增长每层乘法噪声约放大 (2d+1) 倍
    BL≈B0⋅(2d+1)L\displaystyle B_L \approx B_0 \cdot (2d+1)^L
  3. 解密条件噪声必须稳稳低于 q 的八分之一,否则解密出错
    BL<q8\displaystyle B_L < \frac{q}{8}
  4. 参数权衡深度 L 越大,需要的 q 越大
    q=poly(L,λ)\displaystyle q = \text{poly}(L, \lambda)

云计算应用

故事回到开头:你有一箱金币,想租用云端“超级加工厂”的算力。传统做法是把金币明文寄过去,等于连钥匙也交出;同态加密则让你只寄出锁好的保险箱,工厂隔着加工口完成工序,再寄回成品。你开箱验货,分毫不差。

云端外包是最典型的落地场景:医院把加密病历发给云平台做统计,平台在密文上完成加总,返回密文统计结果;银行把加密名单交给行业协会做联合查询,各方只能看到交集,看不到彼此的原始数据。整个过程数据始终以密文形态存在,真正实现“可用不可见”。

以电子投票为例,计票环节就是一次漂亮的加法同态。假设每位选民的选票 mᵢ ∈ {0,1} 被加密为 cᵢ,计票器只需将全部密文选票相乘,再解密即得票数总和:

当然,同态加密不是银弹:密文尺寸膨胀、计算开销惊人、密钥管理复杂。但在医疗、金融、政务等高敏感场景中,它提供了传统加密无法想象的能力——数据在第三方手中全程加密运算,这正是未来“数据不动产”时代的基础设施。

∏i=1kE(mi)=E(∑i=1kmi)\displaystyle \prod_{i=1}^{k} E(m_i) = E\left(\sum_{i=1}^{k} m_i\right)
  1. 逐票加密每张选票锁进独立的保险箱
    ci=E(mi),mi∈{0,1}\displaystyle c_i = E(m_i), \quad m_i \in \{0,1\}
  2. 密文连乘计票器对所有密文执行乘法(对应明文加法)
    ∏i=1kci\displaystyle \prod_{i=1}^{k} c_i
  3. 解密计数密文乘积解密后,恰好是全部选票之和
    E(∑i=1kmi)⇒∑i=1kmi\displaystyle E\left(\sum_{i=1}^{k} m_i\right) \Rightarrow \sum_{i=1}^{k} m_i

AI 应用场景

医疗健康数据的安全聚合分析

阶段:数据采集与预处理(隐私保护)

解决的问题:医院之间的病历数据不能直接共享,传统脱敏方案统计精度下降,且仍有重识别风险。同态加密让各医院将指标加密上传,数据平台在密文上直接加总,任何一方都无法窥探原始记录。

具体案例:某区域医疗联盟的三家医院使用 Paillier 方案,将各自患者“血糖控制达标率”加密上传,数据平台在密文上计算加权平均,各医院解密后获得区域整体指标,全程无人接触患者原始数据。

金融风控黑名单隐私查询

阶段:特征建模与推理(多方安全计算)

解决的问题:银行要向行业协会提交欺诈黑名单,但不能把客户信息明文交给协会;协会也不能把整个名单交给银行。同态加密让查询在密文状态下完成,双方数据零泄露。

具体案例:某城商行加入反欺诈联盟,将加密的客户风险分与联盟标记在密文上做聚合匹配,判断客户是否命中黑名单,全程只交换密文,不交换任何明文字段。

电子投票与民意调查

阶段:结果聚合(防篡改与隐私保护)

解决的问题:传统电子计票系统可见单张选票,存在胁迫与收买风险。同态加密的“密文连乘”让计票器只见密文不见票面,计票过程无需可信第三方。

具体案例:高校学生会选举使用 Paillier 加法同态计票:每位同学的选票加密上传,计票节点对所有密文连乘,最终解密得到总票数,任何节点都无法单独解开单票。

Python 演示

python90 行
import randomimport math  def is_prime(n, rounds=5):    """Miller-Rabin 素性检测"""    if n < 2:        return False    if n % 2 == 0:        return n == 2    d = n - 1    r = 0    while d % 2 == 0:        d //= 2        r += 1    for _ in range(rounds):        a = random.randint(2, n - 2)        x = pow(a, d, n)        if x in (1, n - 1):            continue        for _ in range(r - 1):            x = x * x % n            if x == n - 1:                break        else:            return False    return True  def random_prime(bits):    """生成指定位数的素数"""    while True:        p = random.getrandbits(bits) | (1 << (bits - 1)) | 1        if is_prime(p):            return p  def l_func(x, n):    return (x - 1) // n  def keygen(bits=12):    """Paillier 密钥生成"""    p = random_prime(bits)    q = random_prime(bits)    n = p * q    g = n + 1    lam = (p - 1) * (q - 1) // math.gcd(p - 1, q - 1)    mu = pow(lam, -1, n)    return (n, g), (lam, mu, n)  def encrypt(pub, m):    """加密: c = g^m * r^n mod n^2"""    n, g = pub    r = random.randint(1, n - 1)    while math.gcd(r, n) != 1:        r = random.randint(1, n - 1)    return pow(g, m, n * n) * pow(r, n, n * n) % (n * n)  def decrypt(priv, c):    """解密: m = L(c^lam) * mu mod n"""    lam, mu, n = priv    return l_func(pow(c, lam, n * n), n) * mu % n  def add_cipher(pub, c1, c2):    """加法同态: 密文相乘 = 明文相加"""    n, _ = pub    return c1 * c2 % (n * n)  def main():    pub, priv = keygen(bits=12)    m1, m2 = 8, 15    c1 = encrypt(pub, m1)    c2 = encrypt(pub, m2)    c_sum = add_cipher(pub, c1, c2)    m_dec = decrypt(priv, c_sum)    print("明文: {} + {}".format(m1, m2))    print("密文1: {}".format(c1))    print("密文2: {}".format(c2))    print("密文乘积(对应相加): {}".format(c_sum))    print("解密结果: {}".format(m_dec))    print("验证: {}".format(m_dec == m1 + m2))  if __name__ == "__main__":    main()
目的:完整实现一个简化版 Paillier 加法同态加密系统,演示“密文相乘 = 明文相加”的核心性质。
  1. p = random_prime(bits)生成大素数,相当于锻造保险箱的钢材
  2. g = n + 1Paillier 中 g 的经典简化选择,省去复杂的生成元搜索
  3. lam = (p - 1) * (q - 1) // math.gcd(p - 1, q - 1)卡迈克尔函数 λ,决定解密指数的关键材料
  4. mu = pow(lam, -1, n)计算 λ 模 n 的逆元,解密公式中的“万能钥匙”
  5. pow(g, m, n * n) * pow(r, n, n * n) % (n * n)加密公式 c = g^m · r^n mod n²,把明文锁进保险箱
  6. l_func(pow(c, lam, n * n), n) * mu % nL 函数配合逆元还原明文,打开保险箱的过程
  7. return c1 * c2 % (n * n)加法同态的精华:两块密文相乘,解出的是明文之和!

常见误区

误区“同态加密不就是普通加密多了个可计算功能嘛,密文稍微大点,速度慢一点,忍忍就过去了。”

正解同态加密的开销是数量级的差距:密文从几百字节膨胀到几十 KB 甚至数 MB,密文尺寸可能是明文的几千倍;运算比普通加密慢几十万倍,一次自举甚至需要数秒到数分钟。它不是“稍微贵一点”,而是“贵到必须专门优化架构”。

为何常见:人们习惯用普通加密的性能直觉来类比,忽略了“可计算密文”的数学结构复杂度远超 AES 这类对称加密。

误区“Paillier 能在密文上做加法和乘法,那它不就是全同态吗?”

正解Paillier 只支持加法同态——它的密文乘法解出的是明文加法,即 E(a)·E(b)=E(a+b),并不是明文乘法。要真正在密文上实现明文乘法,需要密文自乘 n 次或是整套不同方案。全同态要求加法和乘法同态同时成立,Paillier 远远做不到。

为何常见:没有分清“密文上的运算”与“明文上的运算”的对应关系,把密文相乘误当成明文相乘。

误区“有了自举技术,就能随便做任意深度的运算,性能不是问题。”

正解自举的开销远高于普通同态运算,一次自举相当于执行几百到上千次同态乘法。工程师会极力避免频繁自举,而是先用层级参数跑浅层电路,仅在噪声逼近上限时才刷新一次。

为何常见:只看到自举“刷新噪声”的功能,却忽视了它的计算成本曲线是陡峭的指数级。

误区“既然同态加密这么强,以后所有系统都用它就行了。”

正解同态加密只解决“密文上可计算”的场景。对于纯粹的存储与传输,传统 AES/RSA 快几个数量级且生态成熟。同态加密密度大、速度慢、密钥管理复杂,通常只在确需外包计算的场景才值得使用——它是专用工具,不是万能钥匙。

为何常见:不了解各类加密技术的最优适用区间,以为“功能越强越先进”。

面试题

Q1. 同态加密最核心的独特优势是什么?

单选题 · easy

  • A.密文可直接参与计算← 正确答案
  • B.密钥长度可以缩短
  • C.算法加密速度更快
  • D.密钥无法被破解

答案:A。同态加密的核心在于密文上能直接执行运算,结果解密后等于明文运算结果——这正是“魔法保险箱的加工口”,实现数据可用不可见。其余选项并非同态加密的独有能力。

Q2. Paillier 方案支持哪种同态运算?

单选题 · easy

  • A.加法同态计算← 正确答案
  • B.乘法同态计算
  • C.全同态计算
  • D.异或同态计算

答案:A。Paillier 是加法同态方案:密文相乘对应明文相加,E(a)·E(b)=E(a+b)。它没有乘法同态能力,也不属于全同态,更不支持异或。

Q3. Paillier 加密中底数 g 的常见取法是什么?

单选题 · easy

  • A.取 n 加一即可← 正确答案
  • B.取 n 减一即可
  • C.取两倍 n 即可
  • D.取平方 n 即可

答案:A。Paillier 常用简化选择 g=n+1。此时 (n+1)^m 二项式展开后与明文 m 有直接的线性关系,让加密与解密计算都大幅简化。

Q4. 全同态加密 FHE 的完整含义是什么?

单选题 · mid

  • A.任意次密文加乘运算← 正确答案
  • B.仅支持加法维度运算
  • C.只能进行乘法运算
  • D.不需要解密直接输出

答案:A。FHE 要求密文上能执行与明文对应的任意次加法与乘法组合电路。只有加法或只有乘法都只是部分同态,全同态是两者的无限深度扩展。

Q5. 噪声在同态加密中会带来什么影响?

单选题 · mid

  • A.提高方案的安全性
  • B.限制密文运算深度← 正确答案
  • C.加快解密处理速度
  • D.缩短密钥长度开销

答案:B。每次同态运算都会让密文噪声增大,噪声超过阈值后解密就会出错,因此噪声直接限制了可执行运算的次数,也就是电路深度。

Q6. 自举(Bootstrapping)的核心思想是什么?

单选题 · mid

  • A.在密文内执行解密← 正确答案
  • B.删除旧密钥换新钥
  • C.压缩密文的长度
  • D.降低加密的轮数

答案:A。自举用加密后的私钥同态地执行解密电路,得到同一明文的新鲜密文,噪声被重置。相当于把钥匙也锁进保险箱,让机械臂在箱内完成开锁清洁。

Q7. 层级同态加密中的“层级”指的是什么?

单选题 · mid

  • A.允许密文运算深度← 正确答案
  • B.密钥管理的层次
  • C.网络传输的分层
  • D.多轮加密的次数

答案:A。层级指电路允许的乘法深度 L。层级方案根据 L 来选参数,超过 L 层后噪声会越过阈值,解密失败。它是“有限保养套餐”中的使用额度。

Q8. 下列哪些属于同态加密的标准分类?

多选题 · mid

  • A.部分同态加密← 正确答案
  • B.有些同态加密← 正确答案
  • C.完全同态加密← 正确答案
  • D.对称同态加密

答案:ABC。标准分类为部分同态(PHE)、有些同态(SWHE)与完全同态(FHE)。“对称同态”不是密码学的合法分类术语,属于干扰项。

Q9. Gentry 全同态方案的主要贡献包含哪些?

多选题 · hard

  • A.首次构造出全同态← 正确答案
  • B.引入理想格构造← 正确答案
  • C.提出自举刷新噪声← 正确答案
  • D.彻底消除了所有噪声

答案:ABC。Gentry 用理想格构造 SWHE,提出自举(同态解密)刷新噪声,首次实现全同态加密。但自举不是消除噪声,而是把它刷回低水平,D 错误。

Q10. 同态加密的典型落地应用场景有哪些?

多选题 · hard

  • A.云计算环境隐私计算← 正确答案
  • B.医疗健康数据聚合← 正确答案
  • C.金融风控信用查询← 正确答案
  • D.视频图像压缩编码

答案:ABC。同态加密适合需要对加密数据做分析外包的场景:云上隐私计算、医疗数据聚合、金融联合风控。视频压缩编码是高速流式处理,同态加密的开销完全不匹配。