信息安全数学基础 Chapter 4——二次剩余与方根
定义4.1 设m为正整数,若同余式x2≡a(modm),(a,m)=1x^2\equiv a(\mod m),(a,m)=1x2≡a(modm),(a,m)=1,有解,则a称为模m的二次剩余,否则称为模m的二次非剩余
定义4.2 勒让德符号:(ap)(\frac{a}{p})(pa),当a为模p的二次剩余时,值为1;非2次剩余时值为-1,若p∣ap|ap∣a则值为0
定理4.1 p为素数,若a≡b(modp)a\equiv b(\mod p)a≡b(modp),则(ap)=(bp)(\frac{a}{p})=(\frac{b}{p})(pa)=(pb)
求同余式x2≡a(modp)x^2\equiv a(\mod p)x2≡a(modp)的解可以看成是在有限域Zp\mathbb Z_pZp中求多项式x2−ax^2-ax2−a的根。
定理4.2 欧拉判别法则:p为奇素数,则对于任意整数a,(ap)≡ap−12(modp)(\frac{a}{p})\equiv a^{\frac{p-1}{2}}(\mod p)(pa)≡a2p−1(modp)
证明:
设ggg是Zp\mathbb Z_pZp的本原元,则Zp∗={g0,g1,...,gp−2}\mathbb Z_p^*=\{g^0,g^1,...,g^{p-2}\}Zp∗={g0,g1,...,gp−2}
对于所有0≤i≤p−120\le i\le \frac{p-1}{2}0≤i≤2p−1,(g2i)p−12=(gp−1)i=1,(g2i+1)p−12=(gp−1)igp−12,gp−12=−1(g^{2i})^{\frac{p-1}{2}}=(g^{p-1})^i=1,(g^{2i+1})^{\frac{p-1}{2}}=(g^{p-1})^ig^{\frac{p-1}{2}},g^{\frac{p-1}{2}}=-1(g2i)2p−1=(gp−1)i=1,(g2i+1)2p−1=(gp−1)ig2p−1,g2p−1=−1(由g为本原元可知gp−12≠1g^{\frac{p-1}{2}}\ne 1g2p−1=1,但(gp−12)2=1(g^{\frac{p-1}{2}})^2= 1(g2p−1)2=1,故其只能为-1),故(gp−12)2i+1=−1(g^{\frac{p-1}{2}})^{2i+1}=-1(g2p−1)2i+1=−1
由于考虑模p的二次同余式,因此a可以看做是Zp\mathbb Z_pZp中与之同余等价的元素
当a≡g2i(modp),0≤i<p−12a\equiv g^{2i}(\mod p),0\le i<\frac{p-1}{2}a≡g2i(modp),0≤i<2p−1,多项式x2−a=x2−g2ix^2-a=x^2-g^{2i}x2−a=x2−g2i有根±gi,故(ap)=1≡ap−12(modp)(\frac{a}{p})=1\equiv a^{\frac{p-1}{2}}(\mod p)(pa)=1≡a2p−1(modp)
当a≡g2i+1(modp),0≤i<p−12a\equiv g^{2i+1}(\mod p),0\le i<\frac{p-1}{2}a≡g2i+1(modp),0≤i<2p−1,多项式x2−a=x2−g2i+1x^2-a=x^2-g^{2i+1}x2−a=x2−g2i+1一定没有根。否则若x02=g2i+1x_0^2=g^{2i+1}x02=g2i+1,那么1=(x02)p−12=(g2i+1)p−12=−11=(x_0^2)^{\frac{p-1}{2}}=(g^{2i+1})^{\frac{p-1}{2}}=-11=(x02)2p−1=(g2i+1)2p−1=−1矛盾。故(ap)=−1≡ap−12(modp)(\frac{a}{p})=-1\equiv a^{\frac{p-1}{2}}(\mod p)(pa)=−1≡a2p−1(modp)
由上述定理可知,模p的二次剩余有p−12\frac{p-1}{2}2p−1个(本原元的所有偶数次幂)
推论 设p为奇素数,则
(1p)=1(\frac{1}{p})=1(p1)=1
(−1p)=(−1)p−12(\frac{-1}{p})=(-1)^\frac{p-1}{2}(p−1)=(−1)2p−1
(abp)=(ap)(bp)(\frac{ab}{p})=(\frac{a}{p})(\frac{b}{p})(pab)=(pa)(pb)
(anp)=(ap)n,n>0(\frac{a^n}{p})=(\frac{a}{p})^n,n>0(pan)=(pa)n,n>0
定理4.3 设p为奇素数,则(2p)=(−1)p2−18(\frac{2}{p})=(-1)^{\frac{p^2-1}{8}}(p2)=(−1)8p2−1
证明:构造证明
(p−1)!≡1⋅3⋅5⋅...⋅(p−2)⋅2⋅4⋅...⋅(p−1)(p-1)!\equiv 1\cdot 3\cdot 5\cdot ... \cdot (p-2)\cdot 2\cdot 4\cdot ... \cdot (p-1)(p−1)!≡1⋅3⋅5⋅...⋅(p−2)⋅2⋅4⋅...⋅(p−1)
对于4k+1型的p有
≡1⋅(p−2)⋅3⋅(p−4)⋅5⋅...⋅p−32⋅(p−p−12)⋅2p−12⋅(p−12!)(modp)\equiv 1\cdot (p-2)\cdot 3\cdot (p-4)\cdot 5\cdot ...\cdot \frac{p-3}{2}\cdot (p-\frac{p-1}{2})\cdot 2^{\frac{p-1}{2}}\cdot (\frac{p-1}{2}!)(\mod p)≡1⋅(p−2)⋅3⋅(p−4)⋅5⋅...⋅2p−3⋅(p−2p−1)⋅22p−1⋅(2p−1!)(modp)(后面一半所有偶数提个2出来,前半部分可以交替提一个-1)
≡(−1)p−14⋅2p−12⋅(p−12!)2(modp)\equiv (-1)^{\frac{p-1}{4}}\cdot 2^{\frac{p-1}{2}}\cdot(\frac{p-1}{2}!)^2(\mod p)≡(−1)4p−1⋅22p−1⋅(2p−1!)2(modp)
对于4k+3型的p有
≡1⋅(p−2)⋅3⋅(p−4)⋅5⋅...⋅(p−p−32)⋅p−12⋅2p−12⋅(p−12!)(modp)\equiv 1\cdot (p-2)\cdot 3\cdot (p-4)\cdot 5\cdot ...\cdot(p-\frac{p-3}{2})\cdot\frac{p-1}{2}\cdot 2^{\frac{p-1}{2}}\cdot (\frac{p-1}{2}!)(\mod p)≡1⋅(p−2)⋅3⋅(p−4)⋅5⋅...⋅(p−2p−3)⋅2p−1⋅22p−1⋅(2p−1!)(modp)
≡(−1)p−34⋅2p−12⋅(p−12!)2(modp)\equiv (-1)^{\frac{p-3}{4}}\cdot 2^{\frac{p-1}{2}}\cdot(\frac{p-1}{2}!)^2(\mod p)≡(−1)4p−3⋅22p−1⋅(2p−1!)2(modp)
Wilson定理知(p−1)!≡−1(modp)(p-1)!\equiv -1(\mod p)(p−1)!≡−1(modp),及(p−12!)2≡(−1)p+12(modp)(\frac{p-1}{2}!)^2\equiv(-1)^{\frac{p+1}{2}}(\mod p)(2p−1!)2≡(−1)2p+1(modp) (转化为(−1)p−12(p−1)!(-1)^{\frac{p-1}{2}}(p-1)!(−1)2p−1(p−1)!) 可知当p≡±1(mod8)p\equiv ±1(\mod 8)p≡±1(mod8)时,2p−12≡1(modp)2^{\frac{p-1}{2}}\equiv 1(\mod p)22p−1≡1(modp),当p≡±3(mod8)p\equiv ±3(\mod 8)p≡±3(mod8)时,2p−12≡−1(modp)2^{\frac{p-1}{2}}\equiv -1(\mod p)22p−1≡−1(modp),综合验证得2p−12≡(−1)p2−18(modp)2^{\frac{p-1}{2}}\equiv(-1)^{\frac{p^2-1}{8}}(\mod p)22p−1≡(−1)8p2−1(modp),由欧拉判别法则(2p)=(−1)p2−18(\frac{2}{p})=(-1)^{\frac{p^2-1}{8}}(p2)=(−1)8p2−1
定理4.4 二次互反律:p,q是互素奇素数,则(qp)=(−1)p−12q−12(pq)(\frac{q}{p})=(-1)^{\frac{p-1}{2}\frac{q-1}{2}}(\frac{p}{q})(pq)=(−1)2p−12q−1(qp)
证明:太复杂了,不要求掌握
定义4.3 雅可比符号:m=∏i=1npi,pim=\prod_{i=1}^np_i,p_im=∏i=1npi,pi是奇素数,对于任意整数a定义a模m的雅可比符号为(am)=∏i=1n(api)(\frac{a}{m})=\prod_{i=1}^n(\frac{a}{p_i})(ma)=∏i=1n(pia),m为奇素数时,其雅克比符号就是勒让德符号。
定理4.5 设m为正奇数,a≡b(modm)⇒(am)=(bm)a\equiv b(\mod m)\Rightarrow (\frac{a}{m})=(\frac{b}{m})a≡b(modm)⇒(ma)=(mb)
定理4.6 设m为正奇数,则
(1) (1m)=1(\frac{1}{m})=1(m1)=1
(2) (abm)=(am)(bm)(\frac{ab}{ m})=(\frac{a}{m})(\frac{b}{m})(mab)=(ma)(mb)
(3) (anm)=(am)n(\frac{a^n}{m})=(\frac{a}{m})^n(man)=(ma)n
(4) (−1m)=(−1)m−12(\frac{-1}{m})=(-1)^{\frac{m-1}{2}}(m−1)=(−1)2m−1
(5) (2m)=(−1)m2−18(\frac{2}{m})=(-1)^{\frac{m^2-1}{8}}(m2)=(−1)8m2−1
定理4.7 设m,n为正奇数,则(nm)=(−1)m−12n−12(mn)(\frac{n}{m})=(-1)^{\frac{m-1}{2}\frac{n-1}{2}}(\frac{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很大时不方便)
由(ap)=1(\frac{a}{p})=1(pa)=1由欧拉判别法则ap−12≡1(modp)a^{\frac{p-1}{2}}\equiv 1(\mod p)a2p−1≡1(modp),故有(ap−14)2≡a(modp)(a^{\frac{p-1}{4}})^2\equiv a(\mod p)(a4p−1)2≡a(modp),故解为x≡±ap−14(modp)x\equiv ±a^{\frac{p-1}{4}}(\mod p)x≡±a4p−1(modp)
加密算法2——Goldwasser-Micali加密算法
Alice选择两个不同的素数p,q,和整数y满足(yp)=(yq)=−1(\frac{y}{p})=(\frac{y}{q})=-1(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,amp≠ea^{\frac{m}{p}}\ne eapm=e,则ord(a)=m,且m|n
定义4.8 原根:设m为正整数,整数a满足(a,m)=1,a模m的阶ordm(a)是指a(mod m)在Zm∗\mathbb Z_m^*Zm∗中的阶;如果Zm∗\mathbb Z_m^*Zm∗为循环群,整数a称为模m的原根是指a(mod m)为Zm∗\mathbb Z_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≡\equiv≡indga+indgb(mod n)
证明:indga=x,indgb=y,则gx+y=ab=gindgabg^{ind_gab}gindgab
即gx+y−indgab=eg^{x+y-ind_gab}=egx+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,φ\varphiφ(m)),那么xn=a(mod m)有解的充要条件为aφ(m)d≡1(modm)a^{\frac{\varphi(m)}{d}}\equiv 1(\mod m)adφ(m)≡1(modm)
证明:g为模m的一个原根,所以Zm∗=<g>,xn≡a(modm)\mathbb Z_m^*=<g>,x^n\equiv a(\mod m)Zm∗=<g>,xn≡a(modm)有解的充要条件是indgxn=indga⇒nindgx≡indga(modφ(m))ind_gx^n=ind_ga\Rightarrow nind_gx\equiv ind_ga(\mod \varphi(m))indgxn=indga⇒nindgx≡indga(modφ(m))(注意模m的循环群一共只有φ(m)\varphi(m)φ(m)个元素,因此要模φ(m)\varphi(m)φ(m)!),令X=indgx,则有nX≡indga(modφ(m))nX\equiv ind_ga(\mod \varphi(m))nX≡indga(modφ(m))
该一次同余式有解的充要条件为(n,φ(m))|indga,即d|indga,等价于indga≡\equiv≡ 0(mod d)
由定理2.4(4)有φ(m)dindga≡0(modφ(m))\frac{\varphi(m)}{d}ind_ga\equiv 0(\mod \varphi(m))dφ(m)indga≡0(modφ(m))。两边取“指数”得aφ(m)d≡1(modm)a^{\frac{\varphi(m)}{d}}\equiv 1(\mod m)adφ(m)≡1(modm),故原命题成立。
注:该定理还能帮助求解高次同余式的解数。对于同余式ax≡b(modm)ax\equiv b(\mod m)ax≡b(modm),其有解的充要条件为(a,m)∣b(a,m)|b(a,m)∣b,且通解可以写成x=x0+m(a,m)t,t=0,1,...,(a,m)−1x=x_0+\frac{m}{(a,m)}t,t=0,1,...,(a,m)-1x=x0+(a,m)mt,t=0,1,...,(a,m)−1的形式,因此解的数量为(a,m)(a,m)(a,m)。那么nX≡indga(modφ(m))nX\equiv ind_ga(\mod \varphi(m))nX≡indga(modφ(m))的解数应该有(n,φ(m))(n,\varphi(m))(n,φ(m))个
信息安全数学基础 Chapter 4——二次剩余与方根相关推荐
- 信息安全数学基础 Chapter 1——整除
定理1.1 任意给定整数a和正整数b>0,存在唯一的一对整数q,0≤r≤b,使得a=qb+r 推论1 任意给定整数a和正整数b<0,存在唯一的一对整数q, 0 ≤ r ≤ ∣ b ∣ 0\ ...
- 信息安全数学基础 Chapter 3——有限域(二)
定理3.20 设Fq\mathbb F_qFq为q元有限域,f(x)∈Fq[x]f(x)\in \mathbb F_q[x]f(x)∈Fq[x]为n次不可约多项式,那么有f(x)∣xqn−xf(x ...
- 信息安全数学基础(仅供个人复习使用)
信息安全数学基础(供个人复习使用): 第1章: 1.求出100以内的所有素数 100 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 7 ...
- 计算机数学基础教案,信息安全数学基础教案(禹勇)
教 师 教 案 ( 2009-2010 学年第 一 学期 ) 课 程 名 称:信息安全数学基础 授 课 学 时:40学时 授 课 班 级:信息安全专业,-60班 任 课 教 师:禹勇 教 师 职 称: ...
- 信息安全数学基础(一)
信息安全数学基础 --第一章 整数的可除性 文章目录 信息安全数学基础 --第一章 整数的可除性 前言 一.整数的概念.欧几里得除法 1.1整除的概念 1.2Eratoshenes筛法(平凡除法) 1 ...
- 信息安全数学基础——模重复平方计算法(两种方法实现C+JAVA)
你好,我是罡罡同学! 代码谱第一页忘掉心上人,最后一页...... 前言 正在学习信息安全数学基础这门课程. 编程实现模重复平方计算法. 先介绍一下模重复平方算法 一.模重复平方算法 图片来自大学MO ...
- 补充---信息安全数学基础第四章习题答案
补充-信息安全数学基础第四章习题答案 (补充了网上能找到的一些答案) 前三章的答案以后发吧~~~ 图片:
- 信息安全数学基础知识点学习笔记(一)
信息安全数学基础学习笔记(一) 第一章.整数的可除性 整除的概念.欧几里得除法 整除的概念 素数的概念 Eratoshenes筛法 欧几里得除法--最小非负余数 素数的平凡判别 欧几里得除法-- 一般 ...
- 人工智能数学基础2:指数、方根及对数运算公式
☞ ░ 点此跳转到老猿Python博文目录░ 一.指数公式 二.方根运算 在a.b大于0的情况下: 三.对数运算 2.1.对数的定义 2.2.对数运算 由上面的第一个公式可以得知: 2.3.常用对数 ...
最新文章
- Android 侧滑栏 (DrawerLayout)
- python内置方法就是内置函数_python内置函数
- Ponemon:2018年度数据泄露成本分析报告
- gtx1080 驱动 linux,CentOS 7安装Nvidia GTX1080显卡驱动
- 基于mcp940反编译Minecraft源代码
- iOS开发UI篇—字典转模型
- Python 字符串和列表的转化 ,简单到尖叫
- 一千五百个优雅的中国女孩的名字
- 服务器开机信号,机柜服务器BMC开关机控制系统及方法
- iOS 数组模型排序
- 【Prison Break】第五天(4.1)
- CHIL-SQL-UPDATE 语句
- java 余弦值_获取Java中给定值的双曲余弦值
- MySQL从创建数据库到删库跑路之旅
- 【第 001 期 · 文献领读】——MRI专题
- 2022出海拉美:巴西电商市场现状及网红营销特点
- 微信小程序开发校园论坛网站+后台
- Selenium 设置代理chrome
- 算法之回溯算法-24点问题
- CDN里面的一些名词你知道是什么意思吗?