密码学中的关键概念与算法解析
1. 雅可比符号
雅可比符号是勒让德符号向所有奇数的推广。设 (n) 是一个奇数正整数,其素因数分解为 (n = p_1^{a_1}p_2^{a_2}\cdots p_k^{a_k}),其中素数 (p_1,\cdots,p_k) 互不相同,(x) 是一个整数。那么 (x) 模 (n) 的雅可比符号等于 (x) 关于每个素数的勒让德符号的乘积,即 (\left(\frac{x}{n}\right)=\left(\frac{x}{p_1}\right)^{a_1}\left(\frac{x}{p_2}\right)^{a_2}\cdots\left(\frac{x}{p_k}\right)^{a_k})。若 (n) 为素数,雅可比符号就等同于勒让德符号。即使在 (n) 的素因数分解未知的情况下,也可通过二次互反律高效计算雅可比符号。
2. 卡拉楚巴算法
卡拉楚巴算法(KA)于 1962 年被引入,用于多项式乘法。与传统乘法方法相比,它以增加加法运算为代价,减少了系数乘法的次数。
2.1 基本卡拉楚巴算法
考虑两个一次多项式 (A(x)=a_1x + a_0) 和 (B(x)=b_1x + b_0),引入辅助变量 (D_0 = a_0b_0),(D_1 = a_1b_1),(D_{0,1}=(a_0 + a_1)(b_0 + b_1)),则 (C(x)=A(x)B(x)=D_1x^2+(D_{0,1}-D_0 - D_1)x + D_0)。这种方法需要三次乘法和四次加法,而传统方法需要 (n^2) 次乘法和 ((n - 1)^2) 次加法(这里 (n = 2),即四次乘法和一次加法)。显然,该算法也可用于整数
超级会员免费看
订阅专栏 解锁全文
1040

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



