二次剩余
一个数
对二次剩余求解,也就是对常数
通俗一些,可以认为是求模意义下的开方。这里只讨论
后文可能在模
Legendre 符号
通过 Legendre 符号可以判断一个数
下表为部分 Legendre 符号的值
Euler 判别准则
对于奇素数
证明
引理:令
引理的证明:(充分性)假设
(必要性)假设
而因为
因为
考虑同余方程
所以当
又因上述引理,
即得 Euler 判别准则,也可以推断出 Legendre 符号为完全积性函数。
二次剩余和二次非剩余的数量
对于奇素数
证明
引理:对于
引理的证明:根据 Fermat 小定理,当
其中
根据 Euler 判别准则,对于
特殊情况时的算法
对于同余方程
那么
Atkin 算法
仍然考虑上述同余方程,此时
证明:
其中
那么
得证。
Cipolla 算法
Cipolla 算法用于求解同余方程
在复数域
后文考虑对于系数属于有限域
选择
若
证明:
令
又因为二项式定理
可以发现只有当
所以
若
所以
Legendre 算法
对于同余方程
证明:考虑选择一个
存在环态射
那么
所以
Tonelli-Shanks 算法
Tonelli-Shanks 算法是基于离散对数求解同余方程
令
证明:
而
所以
若
所以
剩下的问题是如何计算
因为
正确性显然。
习题
参考文献
- https://en.wikipedia.org/wiki/Quadratic_residue
- https://en.wikipedia.org/wiki/Euler%27s_criterion
- Daniel. J. Bernstein. Faster Square Roots in Annoying Finite Fields.
- S. Müller, On the computation of square roots in finite fields, Design, Codes and Cryptography, Vol.31, pp. 301-312, 2004
- A. Menezes, P. van Oorschot and S. Vanstone. Handbook of Applied Cryptography, 1996.
build本页面最近更新:2022/5/8 12:57:57,更新历史
edit发现错误?想一起完善? 在 GitHub 上编辑此页!
people本页面贡献者:hly1204, ShaoChenHeng, Chrogeek, Enter-tainer, Great-designer, nanmenyangde, sshwy, StudyingFather, TachikakaMin, Xeonacid, xyf007
copyright本页面的全部内容在 CC BY-SA 4.0 和 SATA 协议之条款下提供,附加条款亦可能应用