定义4.1 设m为正整数,若同余式x2≡a(modm),(a,m)=1,有解,则a称为模m的二次剩余,否则称为模m的二次非剩余
定义4.2 勒让德符号:(pa),当a为模p的二次剩余时,值为1;非2次剩余时值为-1,若p∣a则值为0
定理4.1 p为素数,若a≡b(modp),则(pa)=(pb)
求同余式x2≡a(modp)的解可以看成是在有限域Zp中求多项式x2−a的根。
定理4.2 欧拉判别法则:p为奇素数,则对于任意整数a,(pa)≡a2p−1(modp)
证明:
设g是Zp的本原元,则Zp∗={g0,g1,...,gp−2}
对于所有0≤i≤2p−1,(g2i)2p−1=(gp−1)i=1,(g2i+1)2p−1=(gp−1)ig2p−1,g2p−1=−1(由g为本原元可知g2p−1=1,但(g2p−1)2=1,故其只能为-1),故(g2p−1)2i+1=−1
由于考虑模p的二次同余式,因此a可以看做是Zp中与之同余等价的元素
当a≡g2i(modp),0≤i<2p−1,多项式x2−a=x2−g2i有根±gi,故(pa)=1≡a2p−1(modp)
当a≡g2i+1(modp),0≤i<2p−1,多项式x2−a=x2−g2i+1一定没有根。否则若x02=g2i+1,那么1=(x02)2p−1=(g2i+1)2p−1=−1矛盾。故(pa)=−1≡a2p−1(modp)
由上述定理可知,模p的二次剩余有2p−1个(本原元的所有偶数次幂)
推论 设p为奇素数,则
(p1)=1
(p−1)=(−1)2p−1
(pab)=(pa)(pb)
(pan)=(pa)n,n>0
定理4.3 设p为奇素数,则(p2)=(−1)8p2−1
证明:构造证明
(p−1)!≡1⋅3⋅5⋅...⋅(p−2)⋅2⋅4⋅...⋅(p−1)
对于4k+1型的p有
≡1⋅(p−2)⋅3⋅(p−4)⋅5⋅...⋅2p−3⋅(p−2p−1)⋅22p−1⋅(2p−1!)(modp)(后面一半所有偶数提个2出来,前半部分可以交替提一个-1)
≡(−1)4p−1⋅22p−1⋅(2p−1!)2(modp)
对于4k+3型的p有
≡1⋅(p−2)⋅3⋅(p−4)⋅5⋅...⋅(p−2p−3)⋅2p−1⋅22p−1⋅(2p−1!)(modp)
≡(−1)4p−3⋅22p−1⋅(2p−1!)2(modp)
Wilson定理知(p−1)!≡−1(modp),及(2p−1!)2≡(−1)2p+1(modp) (转化为(−1)2p−1(p−1)!) 可知当p≡±1(mod8)时,22p−1≡1(modp),当p≡±3(mod8)时,22p−1≡−1(modp),综合验证得22p−1≡(−1)8p2−1(modp),由欧拉判别法则(p2)=(−1)8p2−1
定理4.4 二次互反律:p,q是互素奇素数,则(pq)=(−1)2p−12q−1(qp)
证明:太复杂了,不要求掌握
定义4.3 雅可比符号:m=∏i=1npi,pi是奇素数,对于任意整数a定义a模m的雅可比符号为(ma)=∏i=1n(pia),m为奇素数时,其雅克比符号就是勒让德符号。
定理4.5 设m为正奇数,a≡b(modm)⇒(ma)=(mb)
定理4.6 设m为正奇数,则
(1) (m1)=1
(2) (mab)=(ma)(mb)
(3) (man)=(ma)n
(4) (m−1)=(−1)2m−1
(5) (m2)=(−1)8m2−1
定理4.7 设m,n为正奇数,则(mn)=(−1)2m−12n−1(nm)
定义4.4 二次剩余问题:未知n的分解式的情况下,一般性地判断一个整数a是否是模n的二次剩余是一个难解的问题,称为二次剩余问题。
加密算法1——Rabin加密算法
Alice选择两个4k+3型的素数(称为Blum素数)p,q,计算n=pq,将p,q作为私钥公开n。
加密:明文为整数m,密文c=m2(mod n)
解密:解同余方程c=x2(mod n)可以得到4个解,选择其中有意义的解作为明文m。
计算方法——a=x2(mod p),p=4k+3的解法
若上式有解,则在[0,p-1]中一定有解,因此数字不大时可以对a一直加p直到找到一个完全平方数即可(这种方法对p无4k+3的限制,但是p很大时不方便)
由(pa)=1由欧拉判别法则a2p−1≡1(modp),故有(a4p−1)2≡a(modp),故解为x≡±a4p−1(modp)
加密算法2——Goldwasser-Micali加密算法
Alice选择两个不同的素数p,q,和整数y满足(py)=(qy)=−1。计算n=pq,p和q座位私钥公开n,y
加密:将二进制整数m作为明文,第i位记为bi,对于每一位,随机选择0<xi<n,若该位为0计算ci=xi2(mod n),否则计算ci=yxi2(mod n),密文为所有的c
解密:若ci为模n的二次剩余,则判断bi=0,否则bi=1
定义4.5 设<g>是一个由元素g生成的一个n元循环群,则对于任意a∈<g>,存在0≤i<n,a=gi,称i为以g为底a的指标,记作indga。求指标的问题,在密码学中通常称为离散对数问题。n充分大的整数时求解离散对数问题为一个难解问题。
定理4.8 设<g>是一个n元循环群,a∈<g>,如果对于正整数m有:
(1) am=e
(2) 对于任意素因子p|m,apm=e,则ord(a)=m,且m|n
定义4.8 原根:设m为正整数,整数a满足(a,m)=1,a模m的阶ordm(a)是指a(mod m)在Zm∗中的阶;如果Zm∗为循环群,整数a称为模m的原根是指a(mod m)为Zm∗的生成元
根据上述定义,a所在模m剩余类中所有整数的模m阶均为ordm(a)
根据原根定义:当m=2,4时,模m原根分别为1,3
一般地,当且仅当m=2,4,pa,2pa(p为奇素数,a≥1),模m有原根
定理4.9 设<g>是一个n元循环群,a,b∈<g>,则indgab≡indga+indgb(mod n)
证明:indga=x,indgb=y,则gx+y=ab=gindgab
即gx+y−indgab=e,又ord(g)=n,故n|x+y-indgab,故结论成立
定义4.9 设m是大于1的正整数,如果n次同余式xn=a(mod m), (a,m)=1有解,则a称作模m的n次剩余,否则为模m的n次非剩余。
定理4.14 (高次剩余)设m为大于1的正整数,g为模m的一个原根,(a,m)=1,d=(n,φ(m)),那么xn=a(mod m)有解的充要条件为adφ(m)≡1(modm)
证明:g为模m的一个原根,所以Zm∗=<g>,xn≡a(modm)有解的充要条件是indgxn=indga⇒nindgx≡indga(modφ(m))(注意模m的循环群一共只有φ(m)个元素,因此要模φ(m)!),令X=indgx,则有nX≡indga(modφ(m))
该一次同余式有解的充要条件为(n,φ(m))|indga,即d|indga,等价于indga≡ 0(mod d)
由定理2.4(4)有dφ(m)indga≡0(modφ(m))。两边取“指数”得adφ(m)≡1(modm),故原命题成立。
注:该定理还能帮助求解高次同余式的解数。对于同余式ax≡b(modm),其有解的充要条件为(a,m)∣b,且通解可以写成x=x0+(a,m)mt,t=0,1,...,(a,m)−1的形式,因此解的数量为(a,m)。那么nX≡indga(modφ(m))的解数应该有(n,φ(m))个