离散数学课件初等数论

上传人:宝路 文档编号:47652810 上传时间:2018-07-03 格式:PPT 页数:22 大小:782.14KB
返回 下载 相关 举报
离散数学课件初等数论_第1页
第1页 / 共22页
离散数学课件初等数论_第2页
第2页 / 共22页
离散数学课件初等数论_第3页
第3页 / 共22页
离散数学课件初等数论_第4页
第4页 / 共22页
离散数学课件初等数论_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《离散数学课件初等数论》由会员分享,可在线阅读,更多相关《离散数学课件初等数论(22页珍藏版)》请在金锄头文库上搜索。

1、初等数论v主要内容 素数 最大公约数与最小公倍数 同余 在计算机科学中的应用19.1 素数1. 整除 定义1:设a, b是两个整数,且a0, 若存在整数c 使 b=ac,则称b 被a 整除,或 a 整除b,记作 a|b. 此时, 又称 b 是a 的倍数,a是b 的因子. 把 a不整除 b 记作 a b.性质:令a,b,c为整数,有如下结论:1)若a |b且a |c, 则 x, y, 有a | xb+yc.2)若a |b且b |c, 则a |c.3)若 a |b,那么对于所有整数 m0都有 a | mb.19.1 素数2. 素数 定义2:大于 1 且只能被 1 和自身整除的正整数称为素数 (质数

2、)。大于 1 又不是素数的正整数称为合数。算术基本定理:每个正整数都可以唯一地表示为素数的乘 积,其中素数因子从小到大依次出现,即例1:100, 641, 999的素因子分解为:100=2255=2252641=641999=33337=333719.1 素数定理 2:如果n是合数,那么n必有一个小于或等于 的素 因子。 证:如果n是合数,它有一个因子a,使得1 a n,于是 ,这样 ,这个因子或是素数,或是有素因子。无论哪种情况,n都有小于或等于的素因子例2:证明101是素数。证明思路:101不含有不超过 的素因子。19.1 素数定理 3:有无穷多个素数。梅森数(Marin Mersenne

3、): 2p1, 其中p为素数。 当n是合数时, 2n1一定是合数,2ab1=(2a1)(2a(b1)+2a(b2)+2a+1). 梅森数可能是素数, 也可能是合数: 221=3, 231=7, 251=31, 271=127都是素数, 而2111=2047=2389是合数. 到2002年找到的最大梅森素数是2134669171, 有4百万位. 19.2 最大公约数和最小公倍数vd是a与b的公因子(公约数): d |a且d |b vm是a与b的公倍数: a | m且b | m定义3:设a和b是两个不全为0的整数, 称a与b的公因子中最大的为a与b的最大公因子, 或最大公约数, 记作gcd(a,b

4、). 设a和b是两个非零整数, 称a与b最小的正公倍数为a与b的 最小公倍数, 记作lcm(a,b). 例3 gcd(12,18)=6, lcm(12,18)=36. 对任意的正整数a, gcd(0,a)=a, gcd(1,a)=1, lcm(1,a)=a. 19.2 最大公约数和最小公倍数定理4: (1) 若a | m, b | m, 则 lcm(a,b)| m. (2) 若d |a, d |b, 则d | gcd(a,b).证 (1) 记M=lcm(a,b), 设m=qM+r, 0rD, 注意到d |a, D|a, 由(1), 得m |a. 同理, m |b. 即, m是a和b的公因子,

5、与D是a和b的最大公约数矛盾. 19.2 最大公约数和最小公倍数利用整数的素因子分解, 求最大公约数和最小公倍数. 设其中p1,p2,pk是不同的素数, r1,r2,rk,s1,s2,sk是非负整数. 则gcd(a,b)=lcm(a,b)=例4 求150和220的最大公约数和最小公倍数.解 150=2352, 168=2337.gcd(150,168)=21315070=6,lcm(150,168)=23315271=4200. 欧几里得算法-辗转相除法除法算法: a=qb+r, 0r 0)g = x;x = y%x;y = g;return g; 试跟踪求gcd(36,15)时,变量值变化:

6、y x gC语言代码:19-3 同余定义4: 设m是正整数, a和b是整数. 如果m|ab, 则称a模 m同余于b, 或a与b模m同余, 记作ab(mod m). 如果a与b模 m不同余, 则记作a b(mod m). 例如, 153(mod 4), 160(mod 4), 14 2(mod 4), 15 16(mod 4). 下述两条都是a与b模m同余的充分必要条件: (1) a mod m = b mod m. (2) a=b+km, 其中k是整数.19-3 同余性质:同余关系是等价关系。 模m等价类: 在模m同余关系下的等价类. am, 简记作a。 Zm: Z在模m同余关系下的商集。 在

7、Zm上定义加法和乘法如下: a, b,a+b=a+b, ab=ab. 例6:写出Z4的全部元素以及Z4上的加法表和乘法表. 解 Z4=0,1,2,3, 其中i=4k+i |kZ, i=0,1,2,3.0 1 2 3 0 1 2 3+ 0 1 2 3 1 2 3 0 2 3 0 1 3 0 1 20 1 2 3 0 1 2 3 0 0 0 0 0 1 2 3 0 2 0 2 0 3 2 119-3 同余例7: 3455的个位数是多少? 解:设3455的个位数为x,则3455x(mod10).由341(mod 10), 有 3455=34113+3337(mod 10), 故3455的个位数是7.

8、19-3 同余 模m逆 定义5 如果ab1(mod m), 则称b是a的模m逆元,记作a1(mod m)或a1.a1(mod m)是方程ax1(mod m)的解. 性质: 当a与m互素时, 方程 x a-1(mod m) 有唯一解即:ax km = 1 当a与m不互素时, 此方程无解。 一个数关于某一个模m的乘法逆元不一定存在。如 2关于模14的乘法逆元不存在,因为2与14不 互素扩展的Euclid算法v 求乘法逆元: 先用Euclid算法求得gcd(a, n) = 1 从1开始逆推,直到得到1 = ax kn 则x为a关于模n的乘法逆元例8:求5关于模14的乘法逆元 辗转相除:14 = 5

9、2 + 4 5 = 4 + 1 逆推:1 = 5 - 4 = 5 - (14 - 5 2) = 5 3 - 14 因此,5关于模14的乘法逆元为3。扩展的Euclid算法例9:求10关于模17的乘法逆元17 = 10 + 710 = 7 + 37 = 3 2 + 11 = 7 - 3 2 = 7 - (10 7) 2= 7 3 - 10 2= (17 10) 3 - 10 2= 17 3 - 10 5= 17 3 - 17 10 + 17 10 - 10 5 = 10 12 - 17 7所以10关于模17的乘法逆元为1219-4 应用v 伪随机数产生 随机数:随机变量的观察值 伪随机数(0,1

10、)上的均匀分布U(0,1): a(0a1), P0Xa=a 线性同余法选择4个非负整数: 模数m, 乘数a, 常数c和种子数x0, 其中 2am, 0cm, 0x0m, 用递推公式产生伪随机数序列: xn=(axn1+c) mod m, n=1,2,取 un=xn/m, n=1,2,作为U(0,1)伪随机数. 19-4 应用线性同余法产生的序列的质量取决于m, a和c. 例如 m=8, a=3, c=1, x0=2, 得到7,6,3,2,7,6,周期为4 m=8, a=5, c=1, x0=2, 得到3,0,1,6,7,4,5,2,3,0,1, 周期为8. a=0, 得到c, c, c, a=

11、1, 得到x0+c, x0+2c, x0+3c, 乘同余法: c=0(x00)的线性同余法, 即xn=axn1 mod m, n=1,2,. 最常用的均匀伪随机数发生器:m=2311, a=75的乘同余法, 它的周期是2312。密码学恺撒(Caesar)密码 加密方法: ABCDEFGH I J KLMNOPQRS TUVWXYZDEFGH I JKLMNO PQRS TUVWXYZ ABC 明文: SEE YOU TOMORROW 密文: VHH BRX WRPRUURZ18 4 4 24 14 20 19 14 12 14 17 17 14 2221 7 7 1 17 23 22 17 1

12、5 17 20 20 17 25 加密算法 E(i)=(i+k)mod 26, i=0, 1,25, 解密算法 D(i)=(ik)mod 26, i=0, 1,25 其中密钥k是一取定的整数, 这里取k=3. 加密算法线性同余加密算法E(i)=(ai+b)mod 26, i=0, 1,25, 其中a与26互素. 维吉利亚(Vigenere)密码 把明文分成若干段, 每一段有n个数字, 密钥k=k1k2kn,加密算法E(i1i2in)=c1c2cn, 其中cj=(ij+kj)mod 26, ij=0,1,25, j=1, 2, n. RSA公钥密码 私钥密码:加密密钥和解密密钥都必须严格保密 公钥密码 (W.Diffie,M.Hellman,1976 ):加密密钥公开,解密 密钥保密RSA公钥密码(R. Rivest, A. Shamir, L. Adleeman,1978) 取2个大素数p和q(pq), 记n=pq, (n)=(p1)(q1). 选择正 整数w, w与(n)互素, 设d=w1(mod(n). 将明文数字化, 分成若干段, 每一个明文段mn. 加密算法 c=E(m)=mwmod n, 解密算法 D(c)=cdmod n, 其中加密密钥w和n是公开的, 而p,q, (n)和d是保密的.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号