隐私计算中的非线性函数很难算,或者开销很大。三角函数更是如此,Squirrel文章中提出了一种高效的计算方式,感觉可以作为一种通用优化方案。
参考文献:Squirrel: A Scalable Secure Two-Party Computation Framework for Training Gradient Boosting Decision Tree [USENIX Security 23]
在基于秘密分享机制的两方安全计算场景下:
sin ( x ) = sin ( ⟨ x ⟩ 0 + ⟨ x ⟩ 1 ) = sin ( ⟨ x ⟩ 0 ) ⋅ cos ( ⟨ x ⟩ 1 ) + sin ( ⟨ x ⟩ 1 ) ⋅ cos ( ⟨ x ⟩ 0 ) \sin(x) = \sin(\langle x\rangle_0 + \langle x\rangle_1) = \sin(\langle x\rangle_0)\cdot \cos(\langle x\rangle_1) + \sin(\langle x\rangle_1)\cdot \cos(\langle x\rangle_0) sin(x)=sin(⟨x⟩0+⟨x⟩1)=sin(⟨x⟩