自学内容网 自学内容网

基于小步大步法(BSGS)的同态加密多项式求值

摘要

本文介绍如何使用小步大步(Baby-Step-Giant-Step,BSGS)加速同态加密的多项式求值,尽量减少密文和密文乘法的次数。

公式

假设我们需要求多项式 p ( x ) = a 0 + a 1 x + a 2 x 2 + ⋯ + a n x n p(x)=a_0+a_1x+a_2x^2+\cdots+a_nx^n p(x)=a0+a1x+a2x2++anxn 在某一点 x x x 的值。

如果直接计算,需要计算 x 1 , x 2 , ⋯   , x n x^1,x^2,\cdots,x^n x1,x2,,xn,需要 n n n次密文乘法。
即使使用Horner法则计算:
p ( x ) = ( ⋯ ( ( a n x + a n − 1 ) x + a n − 2 ) x + ⋯   ) x + a 0 p(x)=(\cdots((a_nx+a_{n-1})x+a_{n-2})x+\cdots)x+a_0 p(x)=(((anx+an1)x+an2)x+)x+a0
也需要 n n n次的密文乘法。

在同态加密中, a i a_i ai与密文 x x x的代价是远远小于两个密文相乘的。

k 1 = k 2 , k 1 k 2 = n + 1 k_1=k_2,k_1k_2=n+1 k1=k2,k1k2=n+1,那么可以将 p ( x ) p(x) p(x)重新写为:
p ( x ) = ∑ j = 0 k 2 − 1 ( ∑ i = 0 k 1 − 1 a i + j k 1 x i ) x j k 1 p(x)=\sum_{j=0}^{k_2-1}(\sum_{i=0}^{k_1-1}a_{i+jk_1}x^i)x^{jk_1} p(x)=j=0k21(i=0k11ai+jk1xi)xjk1.

因此,我们需要计算 x 1 , x 2 , ⋯   , x k 1 − 1 x^1,x^2,\cdots,x^{k_1-1} x1,x2,,xk11 x k 1 , x 2 k 1 , ⋯   , x ( k 2 − 1 ) k 1 x^{k_1},x^{2k_1},\cdots,x^{(k_2-1)k_1} xk1,x2k1,,x(k21)k1.

k 1 = k 2 k_1=k_2 k1=k2,那么需要计算 2 n + 1 2\sqrt{n+1} 2n+1

然后根据公式计算,在每一次外部的乘法都会需要一次密文乘以密文,因此一共需要 3 n + 1 3\sqrt{n+1} 3n+1 次密文乘法。

然后,我们还可以继续利用Horner法则进行优化:
p ( x ) = ( ⋯ ( ( a ( k 2 − 1 ) k 1 x k 1 − 1 + a ( k 2 − 1 ) k 1 − 1 x k 1 − 2 + ⋯ + a ( k 2 − 1 ) k 1 − k 1 ) x k 1 + a ( k 2 − 2 ) k 1 − 1 x k 1 − 1 + ⋯ + a ( k 2 − 2 ) k 1 − k 1 ) x k 1 + ⋯   ) x k 1 + a k 1 − 1 x k 1 − 1 + ⋯ + a 0 p(x)=(\cdots((a_{(k_2-1)k_1}x^{k_1-1}+a_{(k_2-1)k_1-1}x^{k_1-2}+\cdots+a_{(k_2-1)k_1-k_1})x^{k_1}+a_{(k_2-2)k_1-1}x^{k_1-1}+\cdots+a_{(k_2-2)k_1-k_1})x^{k_1}+\cdots)x^{k_1}+a_{k_1-1}x^{k_1-1}+\cdots+a_0 p(x)=(((a(k21)k1xk11+a(k21)k11xk12++a(k21)k1k1)xk1+a(k22)k11xk11++a(k22)k1k1)xk1+)xk1+ak11xk11++a0.

这样就避免 x 2 k 1 , ⋯   , x ( k 2 − 1 ) k 1 x^{2k_1},\cdots,x^{(k_2-1)k_1} x2k1,,x(k21)k1.的额外计算。

参考文献

[1] Paterson, Michael S., and Larry J. Stockmeyer. “On the number of nonscalar multiplications necessary to evaluate polynomials.” SIAM Journal on Computing 2.1 (1973): 60-66.


原文地址:https://blog.csdn.net/watqw/article/details/142551021

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!