ImageVerifierCode 换一换
格式:PPT , 页数:30 ,大小:146KB ,
资源ID:1120471      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-1120471.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(06数论算法.ppt)为本站会员(天天快乐)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

06数论算法.ppt

1、第6章 数论算法,6.1 整数的表示,设B1为一正整数,对任一正整数a,在B进制下可唯一地表示为 ,0aim的情形8 do ci ai+carry9 carry ci/B 10 ci ci mod B11 for it+1 to m对mn的情形12 do ci bi+carry13 carry ci/B 14 ci ci mod B15 if carry016 then cicarry17 return c若将a,b的较大位数记为n,不难看出ADD过程的运行时间是(n)。,减法运算,SUB(a, b)计算a-b,假定ab1 for i0 to m2 do ciai-bi3 if ci04 th

2、en cici+B5 ai+1 ai+1-16 for im+1 to n7 do ciai8 if ci09 then cici+B10 ai+1 ai+1-111 消去c的高位012 return c算法中第15的for循环重复m次,而第610行的for循环重复n-m次,故算法的运行时间为(n)。,乘法运算,PRODUCT(a, b)1 for i0 to m2 do carry03 for j0 to n4 do ci+jbiaj+ ci+j +carry5 carryci+j/B6 ci+jci+j mod B7 if carry08then ci+jcarry9 return c若、

3、b都是n+1位B进制数,则过程的运行时间为O(n2)。,带余除法,定理6-1(除法定理)对任意整数a和正整数n,存在唯一的整数q和r使得La = qn + r,0 r b且(an-1a1a0)b。记 ,若bn-1B/2,则商a/b=q必有 -2q 。,算法伪代码描述,DIVISION(a, b) 对n+1位及m+1位正整数a,b计算式(1)中的q和r1 if ab2 then q0, ra3 return q and r4 if a=b5 then q16 r07 return q and r8 if bmB/2计算规格化因子d9 then dB/(bm+1)10 else d111 uda,

4、 vdb, n u的位数-1, mv的位数-1规格化12 r(unun-1un-m+1)13 for jn-m downto 014 do if r 0且d | a,则|d| |a|。若d | a,则我们说a是d的一个倍数。若d不能整除a,我们记为da。注意d | a当且仅当-d | a,由于a的一个约数的相反数也是a的约数,所以,不失一般性,定义约数是非负的。即若d | a 且d 0,我们说d是a的一个约数。,余数和模等价类,如果两个整数a和b除以n的余数相同,我们称a和b关于模n同余,记为ab (mod n)。显然,ab (mod n)当且仅当存在整数k,使得a-b=kn。利用同余关系将整

5、数集合Z进行划分。我们把所有关于模n的余数为r(0 r 1只有平凡约数1和a被称为是一个素数。素数有很多特性并在数论中扮演者核心角色。有无穷多个素数,即由所有素数构成的集合P是无限集合。一个整数a1不是素数则称其为合数。,公约数和最大公约数,若整数d是a的约数且d也是b的约数,则d是a和b的公约数。两个不全为0的整数a和b的最大公约数是a和b的公约数的最大者。记为gcd(a, b)。定理6-3若a和b是任意不全为0的整数,则gcd(a, b)是a和b的线性组合的集合ax + by : x, yZ中正的元素的最小者。,互质,两个整数a,b称为是互质的若它们只有公约数1,即若gcd(a, b) =

6、 1。定理6-7对任意的整数a,b和p,若有gcd(a, p) = 1且gcd(b, p) = 1,则gcd(ab, p) = 1。定理6-8对任意非0整数a和b,若d=gcd(a, b),则gcd(a/d, b/d)=1。推论6-9若acbc (mod n),gcd(c, n)=d。则ab (mod n/d)。,唯一分解,定理6-11(唯一分解)合数a可以写成唯一的乘积形式,其中pi是素数,p1 p2 b 1且EUCLID(a, b)执行了k 1次递归调用,则a Fk+2 且b Fk+1。定理6-14(Lam定理):对任一整数k 1,若a b 1且b 0,n 0。定理6-15对未知数为x的方

7、程ax b (mod n)有解当且仅当gcd(a, n) | b。定理6-16设d = gcd(a, n),并假定有整数x和y使得d = ax + ny(例如,通过EXTENDED-GCD的计算)。若d | b,则方程ax b (mod n)有一个作为它的解的值,满足x0 = x(b/d) mod n。定理6-17假定方程ax b (mod n)是可解的(即d | b,其中d = gcd(a, n))且x0是该方程的一个解。则此方程关于模n恰有d个不同的解xi = x0 + i(n/d),i = 0, 1, ., d 1。,算法伪代码描述,MODULAR-LINEAR-EQUATION-SOL

8、VER(a, b, n)1 (d, x, y) EXTENDED-EUCLID(a, n)2 S3 if d | b4 then x0 x(b/d) mod n5 for i 0 to d 16 do SS(x0 + i(n/d) mod n 7 return SMODULAR-LINEAR-EQUATION-SOLVER执行O(lg n + gcd(a, n)次算术运算,这是因为EXTENDED-EUCLID执行O(lg n)次算术运算,第45行的for循环的每次迭代执行常数次算术运算。,重复B次方计算幂,计算ab mod n,其中a、b是非负整数n是正整数。将b表示为B-进制形式,可有效地

9、用重复B次方解决此问题。设b=bkBk+bk-1Bk-1+b1B+b0,则,算法伪代码描述,MODULAR-EXPONENTIATION(a, b, n)1 d 12 设(bkbk-1.b1b0)为b的B进制表达式3 for i k downto 04 do d dB mod n5 if bi 06 then d 7 return d如果输入a、b和n是二进制位数,则所需的算术运算次数为O()而所有的位操作次数为O(3)。,6.5 素数检测,定理 6-21(Euler定理)对任一整数n1,对所有的aZ*na(n)1 (mod n)。其中,(n)是第6.4.1节定义的Eule的phi函数。推论6

10、-22(Fermat定理)若p是素数,则对任意的aZ*pap-1 1 (mod p)。,利用Fermart定理的伪素数判定过程,PSEUDOPRIME(n)1 if MODULAR-EXPONENTIATION(2, n - 1, n)1 (mod n)2 then return PRIME 我们希望3 else return COMPOSITE 明确地,Miller-Rabin的随机素数检测,Miller-Rabin的算法如下检测素数。输入n2是一个被测试的奇数,s是要随机选取的用于测试的基值个数。算法利用随机数发生器RANDOM(1, n-1)返回一个满足1 a n1的整数a。代码还利用一

11、个辅助过程WITNESS,使得WITNESS(a, n)为TRUE当且仅当a是合数n的一个“证词”,即,若a可能作为n是合数的一个证明。,提供合数证据,WITNESS(a, n)1 设n - 1 = 2tu, 其中t 1 且u 是奇数2 x0 MODULAR-EXPONENTIATION(a, u, n)3 for i1 to t4 do xix2i-1 mod n5 if xi = 1且xi-11且xi-1n 16 then return TRUE7 if xt18 then return TRUE9 return FALSE,素数检测,MILLER-RABIN(n, s)1 for j 1

12、 to s2 do a RANDOM(1, n - 1)3 if WITNESS(a, n)4 then return COMPOSITE 按定义5 return PRIME 几乎肯定,Miller-Rabin素数检测的错误率,定理6-27若n是一个奇合数,则n是合数的证词个数至少为(n - 1)/2。定理6-28对任意的奇整数n 2和正整数s,MILLER-RABIN(n, s)出错的概率至多为2-s。于是,选择s=50,就几乎能满足任意可想象的应用。,6.6 整数分解,TRY-DIVISION(n)1 for d2 to 2 do if d|n3 then return d过程TRY-DI

13、VISION可以保证在 次试商后得到n的一个因数。设n的位数为,则的运行时间为(2 )=(222/2)=O(2/2)。,Pollard的探索法,POLLARD-RHO(n)1 i 12 x1 RANDOM(0, n - 1)3 S4 y x15 k 26 repeat7 SS xi 8 d gcd(|y - xi|, n),9 if d 1 and d n10 then return d11 i i + 112 if i = k13 then y xi14 k 2k15 xi (x2i-1-1) mod n16 until xiS17 return n,POLLARD-RHO的以( )次期望的算术运算求得n的小素数因数p。,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报