【发布时间】:2018-09-01 15:53:45
【问题描述】:
在不允许除法运算的情况下,如何在 HELib 或 SEAL 等同态加密库中实现截断?
我有两个浮点数a=2.3,b=1.5,我将其缩放为具有 2 位精度的整数。因此我的编码器看起来基本上像这样encode(x)=x*10^2。假设enc(x)是加密函数,那么enc(encode(a))=enc(230)和enc(encode(b))=enc(150)。
在乘法时,我们得到a*b=enc(23*15)=enc(34500) 的巨大值,因为缩放因子也乘了。这意味着除非我可以截断结果,否则我的输入呈指数增长,因此trunate(enc(34500))=truncate(enc(345))。
我认为这样的截断函数是不可能的,因为它不能用多项式表示。尽管如此,我想知道如何在数学上执行这种截断是否有任何技巧,或者它是否只是一个未解决的问题?
【问题讨论】:
标签: encryption truncation seal