ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

模数为奇素数的二次同余方程

2022-07-14 16:34:26  阅读:236  来源: 互联网

标签:方程 二次 pmod 为奇 模数 同余 equiv


模数为奇素数的二次同余方程

求解二次同余方程\(x^2 \equiv n \pmod p\)(\(p\)为奇素数)

要求二次同余方程组,就必须先判断方程是否有解,这一部分我懒得写,在此略去。而当\(n=0\)显然只有\(x \equiv 0\)一个解。下面讨论\(n \not \equiv 0\) 的情况。

此时这个方程有且仅有两个解。证明如下:

若\(x \equiv x_1\)是方程的一个解,则\(x \equiv -x_1\)同样是方程的解,因此只需证明不存在更多解。设方程的两个解分别为\(x \equiv x_1\)和\(x \equiv x_2\),则\(n \equiv x_1 ^ 2 \equiv x_2 ^ 2\)。移项并因式分解可得

\[(x_1 + x_2)(x_1 - x_2) \equiv 0 \pmod p \]

我们分析这个式子,由于\(x_1 \not \equiv x_2\),所以\(x_1 - x_2 \not \equiv 0\),所以\(x_1 + x_2 \equiv 0\),即方程的解在模\(p\)意义下互为相反数,故方程有且仅有两个解。

Cipolla算法

为了求解模数为奇素数时的二次同余方程,我们引入\(\text{Cipolla}\)算法。

对于方程\(x^2 \equiv n \pmod p\) 我们先找到一个\(a\),使得\(a^2 - n\)是模\(p\)的二次非剩余,然后扩域,设\(i^2 \equiv a^2 - n\),此时\((a + i)^{\frac{p + 1}{2}}\)即为我们要求的\(x\)。

为什么?

注意到$$a^2 - i^2 \equiv (a + i)(a - i) \equiv n \pmod p$$

那么我们需要证明的就是$$(a + i)^{p + 1} \equiv (a + i)(a - i)$$

下面给出两个引理

\(\text{Lemma 1}\) $$i^p\equiv -i$$

这是因为

\[i^p \equiv i(i^{2})^{\frac{p - 1}{2}} \]

而\(i^2\)是模\(p\)的二次非剩余,所以

\[(i^2)^{\frac{p-1}{2}} \equiv -1 \]

代入上式即可

\(\text{Lemma 2}\)

对于模\(p\)意义下的任意整数\(x,y\),我们有$$(x+y)^p \equiv x ^ p + y ^ p$$

这是因为由二项式定理$$(x+y)^p \equiv \sum_{k=0}^p \binom{p}{k} x^k y^{p-k} \equiv x ^ p+y ^ p$$

现在考虑之前提出的式子

\[\begin{align*} (a + i)^{p + 1} &\equiv (a + i)(a+i)^p \\ &\equiv (a+i)(a^p+i^p) \\ &\equiv (a+i)(a-i) \end{align*} \]

得证

具体只要实现一个复数类就行了

标签:方程,二次,pmod,为奇,模数,同余,equiv
来源: https://www.cnblogs.com/DCH233/p/16478234.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有