二次剩余与Cipolla算法

二次剩余与Cipolla算法

若存在x,使得
x 2 ≡ a ( m o d p ) x^2\equiv a \pmod{p} x2a(modp)
成立且a不是p的倍数,则称a为模p的二次剩余。
下文只讨论p为奇素数的情况。

1、模p二次剩余的个数
对于一个素数p,p的二次剩余有(p-1)/2个,非二次剩余有(p-1)/2个。
因为有 ( p − x ) 2 ≡ x 2 ( m o d p ) (p-x)^2\equiv x^2 \pmod{p} (px)2x2(modp),所以在[1,(p-1)/2]范围内即可得到模p的所有二次剩余数,只需要证明在[1,(p-1)/2]范围内x2 两两不相等即可。
假设存在 x , y ∈ [ 1 , p − 1 2 ] x,y \in[1,\frac{p-1}{2}] x,y[1,2p1],有 x 2 ≡ y 2 ( m o d p ) x^2\equiv y^2\pmod{p} x2y2(modp),则有
x 2 − y 2 ≡ 0 ( m o d p ) ( x + y ) ( x − y ) ≡ 0 ( m o d p ) x^2-y^2\equiv 0\pmod{p}\newline (x+y)(x-y)\equiv 0\pmod{p} x2y20(modp)(x+y)(xy)0(modp)
根据x,y的取值范围,显然 1 < x + y < p 1<x+y<p 1<x+y<p,又因为 x ≠ y 且 − p < x − y < p x\ne y且-p<x-y<p x=yp<xy<p,所以上述等式不成立。

2、勒让德符号
勒让德符号,或二次特征,是一个由阿德里安-马里·勒让德在1798年尝试证明二次互反律时引入的函数。具体形式为
( n p ) = { 1 , n 为 p 的 二 次 剩 余 − 1 , n 不 为 p 的 二 次 剩 余 0 , n 为 p 的 倍 数 \left (\frac{n}{p}\right)= \left\{\begin{matrix} 1,n为p的二次剩余\\ -1,n不为p的二次剩余\\ 0,n为p的倍数 \end{matrix}\right. (pn)=1,np

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值