1. 背景

在使用pailler算法加密后,只能对密文做整数加乘,遇到小数情况想到用分数来表示,这样运算过程中只涉及到整数。

2. java实现分数 分数加法通分时,注意分母取最小公倍数。

3. 密文场景注意事项

分数涉及时,分子是密文,分母是明文,这样在做通分的时候,恰好运用pailler加密支持标量乘的特性。
另外密文减法可以转换为加法实现,e(m1-m2)=e(m1+(-m2))=e((-m2)+m1)=e(-m2)+e(m1) 其中m表示明文,e(m)表示对m加密
基于此,可以实现此分数类型的加、减、平均、加权平均、标量乘运算,其他运算类型暂未考虑【先满足当下需求。。。】
密文加减乘除适用性

参数对类型



(正,正)

1

1

(正,负)

0

0

(负,正)

1

0

(负,负)

0

1

4. 拓展

pailler加密算法已经能支持很多的密文计算,计算效率还待测试,尤其在大数据场景下;