基于小步大步法(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 a<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值