在基于环上的同态加密方案,比如BGV,BFV或者CKKS,在经过乘法同态的时候,往往会导致密文的维度增加。比如由明文加密而成的密文,明文加密得到的密文为,则,维度变成了3。为了能高效的计算同态乘法,抑制密文增长,我们需要重线性化。
我们以CKKS为例
假设有密文和一次乘法后的密文,私钥,则对于,解密为,对于,解密为。(运算都是模p运算,p为明文空间的模,e为产生的噪声)
为了实现密文的重线性化,我们还需要一个辅助的密钥 ,其中。
则对进行重线性化后的密文。
证明如下:
由于e是噪声,相对于p来说很小,所以在有效解密时为0。故,新的密文是的一个2维密文。