← 最新论文
💻 computer science

Efficient Mod Approximation and Its Applications to CKKS Ciphertexts

本文提出了一种基于多项式插值和切比雪夫级数的新方法,实现了对 CKKS 同态加密方案中模函数在整个输入域上的高精度多项式近似,并据此设计了高效的数据打包方案及同态舍入与秘密份额转换等应用。

原作者: Yufei Zhou

发布于 2026-04-08
📖 1 分钟阅读☕ 轻松阅读

原作者: Yufei Zhou

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

这篇论文主要解决了一个在“隐私计算”领域非常棘手的问题:如何在数据加密的状态下,高效且准确地做“取余数”(Mod)运算,并利用这个能力把更多的小数据塞进同一个加密包里,从而节省上传时间和空间。

为了让你更容易理解,我们可以把这篇论文的内容想象成**“给加密数据搬家和打包”**的故事。

1. 背景:加密的“黑盒子”与“取余数”的难题

想象一下,你有一个魔法黑盒子(这就是 CKKS 同态加密方案)。

  • 它的超能力:你可以把数据(比如图片、基因数据)放进去,别人虽然看不到里面的内容,但可以在盒子上直接做加法或乘法。
  • 它的弱点:这个盒子只能做加减乘除,做不了“取余数”(Mod)

什么是“取余数”?
就像你有一堆苹果(比如 13 个),每 5 个装一袋,问最后剩下几个?答案是 3。这就是 13 mod 5 = 3
在数学里,这个“取余数”的操作就像是一个锯齿状的楼梯,它是断断续续的、不连续的。而那个“魔法黑盒子”只擅长处理平滑的曲线(多项式)。

  • 以前的做法:以前的科学家试图用平滑的曲线去模仿这个锯齿楼梯,但只能模仿其中一小段(比如只模仿 0 到 5 这一段)。一旦数据超过这个范围,模仿就完全乱套了,误差巨大。
  • 这篇论文的突破:作者发明了一种新魔法(基于切比雪夫级数多项式插值),能够在整个范围内(比如从 0 到 100 的所有整数)都非常精准地模仿这个“锯齿楼梯”。哪怕数据很大,它也能算得准,误差极小(小到 10810^{-8},几乎可以忽略不计)。

2. 核心创新:两个超级打包法(BitStack 和 CRTStack)

既然我们有了精准的“取余数”魔法,作者就利用它来发明了两个**“超级打包法”,专门用来处理那些数值很小**的数据(比如基因里的 0/1/2,或者图片里的像素值 0-255)。

想象你要把很多个小包裹(小数据)寄给远方的服务器,但快递箱(加密后的数据块)很贵,而且每个箱子能装的东西有限。

方法一:BitStack(比特堆叠法)—— 像“俄罗斯套娃”

  • 原理:把每个小数据看作一串二进制代码(比如 101)。作者把这些二进制代码像叠罗汉一样,一个接一个地“塞”进一个大整数里。
    • 比如:数据 A 是 1,数据 B 是 2。把它们拼起来变成 12 的组合。
  • 怎么拆开? 以前拆开这种堆叠很麻烦,需要一层层剥皮,容易出错。
  • 这篇论文的魔法:利用刚才发明的“取余数”魔法。
    • 想取出最底层的 A?直接对大整数做 mod 2^k(取余),剩下的就是 A。
    • 想取出 B?把 A 减掉,再除以 2,再做一次 mod
  • 比喻:就像你有一根很长的糖葫芦,每一颗山楂代表一个数据。以前你想吃第二颗,得把第一颗咬掉,再咬第二颗(串行,慢且容易碎)。现在有了“取余数”魔法,你可以直接变出第二颗,或者同时变出所有山楂(如果配合并行策略)。

方法二:CRTStack(中国剩余定理堆叠法)—— 像“多把锁的保险箱”

  • 原理:利用数学上的“中国剩余定理”。想象你有几个不同的锁(互质的数字,比如 3, 5, 7)。
    • 数据 A 是锁 3 的钥匙,数据 B 是锁 5 的钥匙。
    • 作者把它们组合成一个超级大数字,这个数字同时满足“除以 3 余 A"、“除以 5 余 B"。
  • 怎么拆开?
    • 想取 A?直接对大数字做 mod 3
    • 想取 B?直接对大数字做 mod 5
  • 优势可以并行! 就像你有三个工人,一个人负责开 3 的锁,一个人开 5 的锁,大家同时开工,速度极快。
  • 比喻:BitStack 是像剥洋葱,一层层剥;CRTStack 是像切蛋糕,大家同时切不同的块,互不干扰。

3. 实际应用:不仅仅是打包

除了打包,这个“取余数”魔法还能干别的:

  1. 四舍五入(Rounding)

    • 在加密状态下,很难把 3.7 变成 43
    • 有了取余数,我们可以算出 3.7 除以 1 的余数是 0.7。如果余数大于 0.5,就进位。这样就能在加密状态下精准地做“四舍五入”了。
  2. 秘密共享转加密(Secret Shares to HE)

    • 场景:以前,大家把秘密分成几份(秘密共享),各自拿一份,想计算时得大家凑在一起解密再计算,很麻烦。
    • 新魔法:现在,每个人拿着自己的那份秘密(加密状态),直接扔进这个“取余数”魔法里,服务器就能把它们自动拼成一个完整的加密数据,不需要任何人解密,也不需要大家互动。这就像把散落在各地的拼图碎片,直接在空中自动拼成了一幅完整的画。

4. 总结:这到底意味着什么?

  • 对普通人:这意味着你的数据(比如手机里的健康数据、基因数据)在上传到云端处理时,更隐私(全程加密),更省钱(上传的数据量变小了,流量费少了),更快(服务器处理效率高了)。
  • 对技术界:这篇论文填补了一个巨大的空白。以前大家觉得在加密数据上做“取余数”太难、太不准,所以很多应用(如神经网络推理、基因分析)没法用。现在,作者不仅解决了“准不准”的问题,还解决了“快不快”的问题,让隐私计算真正变得实用起来。

一句话总结
作者发明了一种**“万能取余数魔法”,把它用来把无数个小数据像叠积木一样塞进一个加密盒子里,不仅塞得更多**,而且拆得更快、更准,让隐私计算在云端跑得飞起。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →