第4章公钥密码体制课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第4章公钥密码体制课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 章公钥 密码 体制 课件
- 资源描述:
-
1、第4章公钥密码体制传统密码体制在应用中的缺陷 v密钥管理的麻烦密钥管理的麻烦v密钥难以传输密钥难以传输v不能提供法律证据不能提供法律证据v缺乏自动检测密钥泄密的能力缺乏自动检测密钥泄密的能力整 除v定理:设整数a和b,如果存在整数k,使b=ak,则说b能被a整除,记作:a|bv例:3|15,-15|60v性质:对所有整数a0,a|0、a|a成立 对任意整数b,1|b成立素数(prime numberprime number)v定义:如果整数p(p1)只能被1或者它本身整除,而不能被其他整数整除,则其为素数,否则为合数。v素数定理:v在各种应用中,我们需要大的素数,如100位的素数v素数是构成整
2、数的因子,每一个整数都是由一个或几个素数的不同次幂相乘得来的。(),()(),1lnlnxxxxxxxxx设是小于的素数的个数则且当最大公约数va和b的最大公约数是能够同时整除a和b的最大正整数,记为gcd(a,b)。v如果gcd(a,b)=1,则说a和b是互素的。v定理:设a和b是两个整数(至少一个非0),d=gcd(a,b),则存在整数x和y,使得ax+by=d特殊地,如果a和b互素,则有整数x和y,使得ax+by=1同余v设整数a,b,n(n 0),如果a-b是n的整数倍,则ab(mod n),即a同余于b模n。也可理解为a/n的余数等于b/n的余数。v(mod n)运算将所有的整数(无
3、论小于n还是大于n),都映射到0,1,n-1组成的集合。v模算术的性质:(a mod n)+(b mod n)=(a+b)mod n(a mod n)-(b mod n)=(a-b)mod n(a mod n)*(b mod n)=(a*b)mod n性质v有整数a,b,c,n(n 0):如果ab(mod n),bc(mod n)那么ac(mod n)如果ab(mod n),cd(mod n)那么a+cb+d,a-cb-d,acbd(mod n)v计算117 mod 13 v计算21234 mod 789 指数运算的优化启示:如求x16,直接计算的话需做15次乘法。然而如果重复对每个部分结果做
4、平方运算即求x,x2,x4,x8,x16则只需4次乘法。求am可如下进行,其中a,m是正整数:将m表示为二进制形式bk bk-1b0,即m=bk2k+bk-12k-1+b12+b0因此12012222kkkbbbbbmaaaaaa 例如:23=124+023+122+121+120a23 =?快速指数算法:(给定a,m)d=1;For i=k Downto 0 DO d=(dd)mod n;if bi=1 then d=(da)mod nreturn d.算法验证:例如 求7560 mod 561。将560表示为1 0 0 0 1 1 0 0 0 0迭代指数中间值(1 2 4 8 17 35
5、70 140 280 560)算法的中间结果(7 49 157 526 67 1)所以7560 mod 561=1。除法v设整数a,b,c,n(n 0),且gcd(a,n)=1。如果abac(mod n),那么bc(mod n)证明:gcd(a,n)=1,有x和y,使ax+ny=1两边同乘以(b-c):(b-c)(ax+ny)=b-c即:(ab-ac)x+n(b-c)y=b-c abac(mod n),即ab=ac+k1n,ab-ac 是n的倍数同时,n(b-c)y显然也是n的倍数所以,:(ab-ac)x+n(b-c)y也是n的倍数,假设是k2倍则式变为:b-c=k2n即bc(mod n)欧几
6、里德算法(Euclid)v用欧几里德算法求最大公约数。v求:gcd(482,1180)1180=2*482+216482=2*216+50216=4*50+1650=3*16+216=8*2+0所以gcd(482,1180)=2乘法逆元v如果gcd(a,b)=1,那么:存在a-1,使a*a-1 1 mod b存在b-1,使b*b-1 1 mod av这里,把a-1称为a模b的乘法逆元,b-1称为b模a的乘法逆元用扩展的欧几里德算法求乘法逆元vgcd(11111,12345)12345=1*11111+123411111=9*1234+51234=246*5+45=1*4+14=4*1+0v1=
7、5-1*4=5-1*(1234-246*5)=247*5-1*1234 =247*(11111-9*1234)-1*1234 =247*11111-2224*1234 =247*11111-2224*(12345-1*11111)=2471*11111-2224*12345费尔马小定理(FermatFermat)v如果p是一个素数,a不是p的倍数,则:ap-11(mod p)证明:设有一整数空间S=1,2,p-1再设有一函数(x)=ax(mod p)xS(1)对于任何xS,有(x)S(2)对于x和y(xy),有(x)(y)(3)根据乘法定理和除法定理 (p-1)!ap-1(p-1)!mod p
8、欧拉函数v(n):小于n且与n互素的正整数的个数v显然,对于素数p,有(p)=p-1v设有两个素数p和q,p q,那么对于n=pq,有:(n)=(pq)=(p)*(q)=(p-1)*(q-1)欧拉定理(EulerEuler)v对于任意互素的a和n,有a(n)1 mod n证明:对于整数n,与n互素的数有(n)个:令这些数为:R=x1,x2,x(n)用a与R中的每个元素相乘模n,得到集合S:S=ax1 mod n,x2 mod n,x(n)mod n 其实S就是R:(ax1 mod n)RS中的元素是唯一的那么:R中各元素相乘就等于S中各元素相乘:()()11modnniiiixaxn离散对数v
9、由Euler定理可知,互素的a和n,有a(n)1 mod n也就是说,至少存在一个整数m,使am 1 mod n成立v使得成立am 1 mod n的最小正幂m,称为a的阶、a所属的模n的指数,或a所产生的周期长。v本原根:如果使得am 1 mod n成立的最小正幂m:m=(n),则称a是n的本原根。指标v某素数p,有本原根a,且:X1=a1 mod p,X2=a2 mod p,Xp-1=ap-1 mod p,则:x1x2 xp-1令:S=x1,x2,xp-1,T=1,2,p-1则:S=P对于任意整数b,有br mod p (0rp-1)所以,对于b和素数p的本原根a,有唯一的幂i,使得:bai
10、 mod p,0ip-1指数i称为a模p的b的指标,记为inda,p(b)指标的性质vinda,p(1)=?vinda,p(a)=?v乘法性质v幂性质离散对数的计算v对于方程y=gx mod p给定g,x,p,计算y比较容易。但给定y,g,p,求x非常困难。X=indg,p(y)其难度与RSA中因子分解素数之积的难度有相同的数量级。公钥密码体制(Public key system)(Public key system)v公钥密码学与其他密码学完全不同:公钥算法基于数学函数而不是基于替换和置换使用两个独立的密钥v公钥密码学的提出是为了解决两个问题:密钥的分配数字签名v1976年Diffie和He
11、llman首次公开提出了公钥密码学的概念,被认为是一个惊人的成就。公钥密码体制的原理公钥体制公钥体制(Public key system)(Diffie(Public key system)(Diffie和和Hellman,1976)Hellman,1976)每个用户都有一对选定的密钥每个用户都有一对选定的密钥(公钥公钥k k1 1;私钥;私钥k k2 2),公开的,公开的密钥密钥k k1 1可以像电话号码一样进行注册公布。可以像电话号码一样进行注册公布。主要特点:主要特点:v加密和解密能力分开加密和解密能力分开v多个用户加密的消息只能由一个用户解读,(用于公共多个用户加密的消息只能由一个用户
12、解读,(用于公共网络中实现保密通信)网络中实现保密通信)v只能由一个用户加密消息而使多个用户可以解读(可用只能由一个用户加密消息而使多个用户可以解读(可用于认证系统中对消息进行数字签字)。于认证系统中对消息进行数字签字)。v无需事先分配密钥。无需事先分配密钥。公钥密码体制有4个组成部分v明文:算法的输入,它们是可读信息或数据,用M表示;v密文:算法的输出。依赖于明文和密钥,对给定的消息,不同的密钥产生密文不同。用E表示;v公钥和私钥:算法的输入。这对密钥中一个用于加密,为Ke,此密钥公开;一个用于解密,为Kd,此密钥保密。加密算法执行的变换依赖于密钥;v加密、解密算法 公钥密码体制下的秘密通信
13、 公钥加密体制的特点v加密和解密能力分开v多个用户加密的消息只能由一个用户解读,可用于公共网络中实现保密通信v用私钥加密的消息可以用对应的公钥解密,所以由一个用户加密消息而使多个用户可以解读,可用于认证系统中对消息进行数字签字v无需事先分配密钥v密钥持有量大大减少v提供了对称密码技术无法或很难提供的服务:如与哈希函数联合运用可生成数字签名,可证明的安全伪随机数发生器的构造,零知识证明等 保证机密性保证机密性 MEKbeE(M,Kbe)DKbdMKbe:Bob的公钥Kbd:Bob的私钥保证真实性保证真实性 Kad:Alice的私钥Kae:Alice的公钥MEKadE(M,Kad)DKaeM既保证
14、机密性又保证真实性既保证机密性又保证真实性 Kad:Alice的私钥Kae:Alice的公钥MEKbeE(C1,Kbe)DKbdMEKadC1=E(M,Kad)C1DKaeKbe:Bob的公钥Kbd:Bob的私钥公钥密码应满足的要求公钥密码应满足的要求v接收方接收方B B产生密钥对在计算上是容易的产生密钥对在计算上是容易的v发送方发送方A A用收方的公开钥对消息用收方的公开钥对消息mm加密以产生密文加密以产生密文c c在计算在计算上是容易的。上是容易的。v收方收方B B用自己的秘密钥对密文用自己的秘密钥对密文c c解密在计算上是容易的。解密在计算上是容易的。v敌手由密文敌手由密文c c和和B
15、B的公开密钥恢复明文在计算上是不可行的。的公开密钥恢复明文在计算上是不可行的。v敌手由密文敌手由密文c c和和B B的公开密钥恢复秘密密钥在计算上是不可的公开密钥恢复秘密密钥在计算上是不可行的行的v加解密次序可换,即加解密次序可换,即E EPKBPKBDDSKBSKB(m)=D(m)=DSKBSKBEEPKBPKB(m),(m),不是对不是对任何算法都做此要求。任何算法都做此要求。对公钥密码体制的攻击v和单钥密码体制一样,如果密钥太短,公钥密码体制也易受到穷搜索攻击。因此密钥必须足够长才能抗击穷搜索攻击。然而又由于公钥密码体制所使用的可逆函数的计算复杂性与密钥长度常常不是呈线性关系,而是增大得
16、更快。所以密钥长度太大又会使得加解密运算太慢而不实用。因此公钥密码体制目前主要用于密钥管理和数字签字。v对公钥密码算法的第2种攻击法是寻找从公开钥计算秘密钥的方法。目前为止,对常用公钥算法还都未能够证明这种攻击是不可行的。RSARSA算法算法RSA AlgorithmRSA Algorithm概况概况vMIT三位年青数学家R.L.Rivest,A.Shamir和L.AdlemanRivest等1978,1979发现了一种用数论构造双钥的方法,称作MITMIT体制体制,后来被广泛称之为RSARSA体制体制。v它既可用于加密、又可用于数字签字。vRSA算法的安全性基于数论中大整数分解的困难性。v迄
展开阅读全文