Barrett reduction
约减概述
约减的定义(reduction):z(modp)z \pmod pz(modp)
优化约减的目的:取模操作的底层实现往往使用到的是除法,而除法操作往往是较为耗时的,因此需要把除法操作替换为不那么费时的其他操作。
Barrett 约减概述
单模数多约减:多个约减操作,其模数ppp是固定的,而zzz不同。
针对单模数多约减的情况,可以使用Barrett约减来进行优化操作。
Barrett约减算法的整体流程可以概括如下:
step 1.根据p,选定b和k,其中b代表的是基,满足b≥3b \ge 3b≥3,k=⌊logbp⌋+1k = \lfloor log_b^p \rfloor+1k=⌊logbp⌋+1,0≤z0 \le z0≤z<b2k\lt b^{2k}<b2k。
step 2.预计算

本文介绍了Barrett约减算法,一种优化单模数多约减操作的方法,通过将除法转换为移位、乘法和加减,减少计算时间。算法步骤包括选择基b、k,预计算μ,构造q^,以及对z进行特定的减法处理。文章还涉及正确性的数学推导。
最低0.47元/天 解锁文章
2952

被折叠的 条评论
为什么被折叠?



