多项式的二进制 XGCD
Binary XGCD for polynomials
存在一个binary GCD algorithm for finding the greatest common divisor of a number. In general, the GCD can be extended to the XGCD,可以帮助找到一个域中的乘法逆
我正在处理表示多项式的二进制数。例如,位串 1101
表示 x^3 + x^2 + 1。我需要为一些已知的大素数 p 计算随机多项式模 x^p - 1 的模逆。但是,我需要在固定时间内完成(这意味着运行时间不应该取决于我正在取反的数字)。我知道如何使二进制 GCD 成为恒定时间,并且我知道如何为多项式实现 XGCD 以计算乘法逆元。我不知道的是(二进制)多项式是否存在等效的二进制 GCD(具有相应的 XGCD)?
是的。 "binary" GCD 适用于任何存在最小素数的环。对于整数,它是 2
,因此得名二进制。对于多项式,它是 x
。算法遵循同样的思路:对多项式进行减法,消去一个高次自由项,分解出x
的最高次方,一直进行下去,直到减法结果为零。
存在一个binary GCD algorithm for finding the greatest common divisor of a number. In general, the GCD can be extended to the XGCD,可以帮助找到一个域中的乘法逆
我正在处理表示多项式的二进制数。例如,位串 1101
表示 x^3 + x^2 + 1。我需要为一些已知的大素数 p 计算随机多项式模 x^p - 1 的模逆。但是,我需要在固定时间内完成(这意味着运行时间不应该取决于我正在取反的数字)。我知道如何使二进制 GCD 成为恒定时间,并且我知道如何为多项式实现 XGCD 以计算乘法逆元。我不知道的是(二进制)多项式是否存在等效的二进制 GCD(具有相应的 XGCD)?
是的。 "binary" GCD 适用于任何存在最小素数的环。对于整数,它是 2
,因此得名二进制。对于多项式,它是 x
。算法遵循同样的思路:对多项式进行减法,消去一个高次自由项,分解出x
的最高次方,一直进行下去,直到减法结果为零。