21、密码学中的乘法优化、椭圆曲线密码系统及数字签名新范式

密码学中的乘法优化、椭圆曲线密码系统及数字签名新范式

乘法运算优化

在某些计算中,提取 $b$ 个根所需的乘法次数计算较为复杂。当计算 $M$ 时,大约需要额外进行 $W/4$ 次乘法运算。总体而言,提取 $b$ 个根所需的乘法次数为 $2c - W + W/4 + c - log N$。

为了减少提取 $MIIE$ 因子时的乘法次数,我们可以采用一些技巧。目标是计算 $y^{z_1} \pmod{N}$ 和 $y^{z_2} \pmod{N}$。若 $z_1$ 和 $z_2$ 是随机的,看起来需要 $c \cdot (log z_1 + log z_2)$ 次模乘法。但实际上,我们可以先计算 $y^{z_1 \land z_2} \pmod{N}$(其中 $z_1 \land z_2$ 表示 $z_1$ 和 $z_2$ 的按位与运算),再计算 $y^{z_1 \land \neg z_2}$ 和 $y^{z_2 \land \neg z_1}$,最后将适当的结果相乘得到 $y^{z_1}$ 和 $y^{z_2}$。当 $z_1$ 和 $z_2$ 在 $1$ 到 $N$ 的范围内随机选取时,计算这三个中间乘积大约需要 $log N + \frac{3}{4} \cdot log N$ 次乘法,且除了存储三个中间结果所需的空间外,几乎没有额外的存储成本。

我们还可以利用上述技巧,在计算 $M$ 的过程中顺便计算 $M_p$ 和 $M_p$,成本为 $\frac{1}{4}(log X_1 + log X_2)$ 次乘法。因为计算 $M$ 的最后阶段涉及将 $M_1$ 提升到某个指数 $R$,将 $M_2$ 提升到某个指数 $L$,且递归的所有层级都是如此。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值