第4章公钥密码系统.ppt
《第4章公钥密码系统.ppt》由会员分享,可在线阅读,更多相关《第4章公钥密码系统.ppt(77页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第4 4章章 公钥密码体系公钥密码体系 第第4章章 公钥密码体系公钥密码体系 4.1 4.1 公钥密码概述公钥密码概述4.2 RSA4.2 RSA密码系统密码系统4.3 Diffie-Hellman4.3 Diffie-Hellman密钥交换密钥交换4.4 4.4 数字签名数字签名4.54.5 数字签名的算法数字签名的算法4.6 加密算法综合分析与选择加密算法综合分析与选择4.7 PGP4.7 PGP第第4 4章章 公钥密码体系公钥密码体系 导读导读 解密密钥与加密密钥不同?解密密钥与加密密钥不同? 非对称密码系统的解密密钥与加密密钥是不同的。非对称密码系统的解密密钥与加密密钥是不同的。 一
2、个称为一个称为公开密钥(简称公开密钥(简称公钥公钥),另一个称为,另一个称为秘秘密密钥密密钥(或(或私人密钥,简称私人密钥,简称私钥私钥)。)。 这种密码体系也称为公钥密码体系。这种密码体系也称为公钥密码体系。 公钥密码除可用于加密外,还可用于公钥密码除可用于加密外,还可用于数字签名数字签名。 中华人民共和国电子签名法中华人民共和国电子签名法已于已于20052005年年4 4月月1 1日实行。日实行。第第4 4章章 公钥密码体系公钥密码体系 回顾回顾网络安全网络安全的五个目标的五个目标秘密秘密密钥密码体系密钥密码体系对称密钥密码体系对称密钥密码体系数据加密标准数据加密标准DES 、AES、ID
3、EA加密和解密用加密和解密用同一个同一个密钥密钥如何共享同一个密钥?如何共享同一个密钥?电子邮件电子邮件电话电话邮局邮寄邮局邮寄 以上三种方式安全以上三种方式安全?第第4 4章章 公钥密码体系公钥密码体系 1 公钥的起源公钥的起源 公钥密码体系于公钥密码体系于1976年由年由W. Diffie和和M. Hellman提出。提出。 公钥密码又叫公钥密码又叫非对称密码,非对称密码,这种密码体系采用了这种密码体系采用了一对一对不同的不同的密钥密钥加密密钥和解密密钥加密密钥和解密密钥; 这一对密钥,一个可以这一对密钥,一个可以公开公开(公钥公钥),另一个为用,另一个为用户户专用专用(私钥私钥)。4.1
4、 公钥密码概述 第第4 4章章 公钥密码体系公钥密码体系 2 数学原理数学原理-陷门单向函数陷门单向函数 公钥密码系统是公钥密码系统是基于陷门单向函数基于陷门单向函数的概念。的概念。 单向函数是易于计算但单向函数是易于计算但求逆求逆困难的函数困难的函数。 而陷门单向函数是在而陷门单向函数是在不知道不知道陷门陷门信息情况信息情况下求逆困难,而在下求逆困难,而在知道知道陷门信息时易于求陷门信息时易于求逆的函数。逆的函数。第第4 4章章 公钥密码体系公钥密码体系 (1)发送者用加密密钥PK(public key)对明文X加密后,接收者用解密密钥SK (secure key)解密,即可恢复出明文,或写
5、为:DSK(EPK(X) X 此外,加密和解密的运算可以对调,即 EPK(DSK(X) X。 (2)加密密钥是公开的,但不能用它来解密,即DPK(EPK(X) X (3)在计算机上可以容易地产生成对的PK和SK。 (4)从已知的PK实际上不可能推导出SK,即从PK到SK是“计算上不可行的”。 (5)加密和解密算法都是公开的。3 公钥密码算法的特点公钥密码算法的特点第第4 4章章 公钥密码体系公钥密码体系 4 公钥密码体系的优缺点公钥密码体系的优缺点公钥密码体系的优点:公钥密码体系的优点:能适应网络的能适应网络的开放性要求,密开放性要求,密钥管理相对简单,钥管理相对简单,并且可方便地并且可方便地
6、实现数字签名和身份实现数字签名和身份认证等功能认证等功能,是目前电子商务等技术的核心基础。,是目前电子商务等技术的核心基础。其缺点:其缺点:算法复杂,加密数据的算法复杂,加密数据的速度和效率较低速度和效率较低。因此在实际应用中,通常将因此在实际应用中,通常将对称对称加密算法和加密算法和非对称非对称加加密算法密算法结合结合使用。使用。通过这种方法可以通过这种方法可以有效地有效地提高加密的效率提高加密的效率并能简化对并能简化对密钥的密钥的管理。管理。第第4 4章章 公钥密码体系公钥密码体系 4 公钥密码体系的优缺点公钥密码体系的优缺点公钥密码体系的优点:公钥密码体系的优点:能适应网络的能适应网络的
7、开放性要求,密开放性要求,密钥管理相对简单,钥管理相对简单,并且可方便地并且可方便地实现数字签名和身份实现数字签名和身份认证等功能认证等功能,是目前电子商务等技术的核心基础。,是目前电子商务等技术的核心基础。其缺点:其缺点:算法复杂,加密数据的速度和效率较低。算法复杂,加密数据的速度和效率较低。因此在实际应用中,通常将因此在实际应用中,通常将对称对称加密算法和加密算法和非对称非对称加加密算法密算法结合结合使用。使用。通过这种方法可以通过这种方法可以有效地有效地提高加密的效率提高加密的效率并能简化对并能简化对密钥的密钥的管理。管理。第第4 4章章 公钥密码体系公钥密码体系 第一个完善的公开密钥算
8、法第一个完善的公开密钥算法RSA (取名字的首字母)(取名字的首字母)。 RSA密码系统的安全性基于大数分解的困难性。密码系统的安全性基于大数分解的困难性。 求一对大素数的乘积很容易,但要对这个乘积进行求一对大素数的乘积很容易,但要对这个乘积进行因因式分解式分解则非常困难(求逆)。则非常困难(求逆)。 因此,可以把一对大素数的因此,可以把一对大素数的乘积公开作为公钥乘积公开作为公钥,而把,而把素数作为私钥素数作为私钥,从而由一个公开密钥和密文中恢复出,从而由一个公开密钥和密文中恢复出明文的难度等价于明文的难度等价于分解两个大素数之积分解两个大素数之积。4.2 RSA密码系统4.2.1 RSA算
9、法第第4 4章章 公钥密码体系公钥密码体系 公钥密码系统一般都涉及数论的知识,如素数、公钥密码系统一般都涉及数论的知识,如素数、欧拉函数、中国剩余定理等等。欧拉函数、中国剩余定理等等。“三人同行七十()稀, 五树梅花二一()枝, 七子团圆正半月(),除百零五()便得知第第4 4章章 公钥密码体系公钥密码体系 若用整数若用整数X表示明文,用整数表示明文,用整数Y表示密表示密文文(X和和Y均小于均小于n),则加密和解密运算为:,则加密和解密运算为:加密:加密:Y Xe mod n 解密:解密:X Yd mod n (encryption discryption ) 1 加密算法第第4 4章章 公钥
10、密码体系公钥密码体系 现在讨论现在讨论RSA公开密钥密码体制中每个参数是如何选公开密钥密码体制中每个参数是如何选择和计算的。择和计算的。 计算计算n。用户秘密地选择两个大素数。用户秘密地选择两个大素数p和和q,计算出,计算出n pq。n称为称为RSA算法的模数。算法的模数。 计算计算(n)。 计算计算 n的欧拉函数的欧拉函数(n) (p 1)(q 1) 选择选择e。从。从1, (n) 1中选择一个中选择一个与与(n)互素的数互素的数e作为公开的加密指数。作为公开的加密指数。2 密钥的产生第第4 4章章 公钥密码体系公钥密码体系 计算计算d作为解密指数。作为解密指数。用户计算出满足下式的用户计算
11、出满足下式的ded 1 mod(n) 即:即:(ed 1) mod(n)=0 由此推出由此推出 ed =t (n)+1 (t 是大于等于是大于等于1的正整数)的正整数) 得出所需要的公开密钥和秘密密钥:得出所需要的公开密钥和秘密密钥:公开密钥公开密钥(即加密密钥即加密密钥)PK e, n秘密密钥秘密密钥(即解密密钥即解密密钥)SK d, n 其中,其中,p、q、(n)和和d就是就是秘密的陷门秘密的陷门(四项并不是相四项并不是相互独立的互独立的),这些信息不可以泄露。,这些信息不可以泄露。Congruence 同余第第4 4章章 公钥密码体系公钥密码体系 RSA加密消息m时(这里假设m是以十进制
12、表示的),首先将消息分成大小合适的数据分组,然后对分组分别进行加密。 每个分组的大小应该比n小? 设ci为明文分组mi加密后的密文,则加密公式为 ci=mie (mod n) 解密时,对每一个密文分组进行如下运算:mi=cid (mod n)(可用中国剩余定理推导)第第4 4章章 公钥密码体系公钥密码体系 举例举例:说明说明RSA的加的加/解密过程。解密过程。 选选p=5,q=11,则,则n=pq=55,(n)=(p1)(q1)=40 选择选择e , 与与(n)互素互素 e=7 d要满足要满足 ed 1 mod(n) d=23 ed=7*23=161 第第4 4章章 公钥密码体系公钥密码体系
13、算法分析算法分析 如果如果明文明文mi同同n不是互为素数(不是互为素数( m 取取p或或q ),就有可能出现消息暴露情况。就有可能出现消息暴露情况。 一个明文同一个明文同n有公约数的概率不大于有公约数的概率不大于1/p+1/q,因此,对于大的因此,对于大的p和和q来说,这种概率是非常小来说,这种概率是非常小的。的。第第4 4章章 公钥密码体系公钥密码体系 由加由加/解密公式可以得到加密表如表所示解密公式可以得到加密表如表所示表10.1 加 密 表明文明文密文密文明文明文密文密文明文明文密文密文明文明文密文密文1114928524248218163629394332342178312646514
14、49181732434753641192434344827728212136314914822312373851694242938475213122326163919533713727341465454第第4 4章章 公钥密码体系公钥密码体系 4.2.2 对对RSA算法的挑战算法的挑战 在在1977年年Rivest、Shamir及及Adleman提出公开钥密提出公开钥密码系统时,他们认为每秒钟百万次运算的计算机码系统时,他们认为每秒钟百万次运算的计算机可以在可以在4小时之内因子分解一个小时之内因子分解一个50位的数,但是分位的数,但是分解一个解一个100位的数要花几乎一个世纪位的数要花几乎一个
15、世纪,而,而200位的位的数大约要花数大约要花40亿年。亿年。 甚至考虑到计算速度可以再提高百万倍甚至考虑到计算速度可以再提高百万倍(当时尚(当时尚未出现),基于未出现),基于200位数的密码看来是十分安全的。位数的密码看来是十分安全的。第第4 4章章 公钥密码体系公钥密码体系 Mirtin Gardner在在1977年年“Scientific American”的专栏文章的专栏文章中介绍了中介绍了RSA。 为了显示这一技术的威力,为了显示这一技术的威力,RSA公司的研究人员用一个公司的研究人员用一个129位位的十进制数的十进制数N和一个和一个4位数位数e 对一个关于秃鹰的消息(对一个关于秃鹰
16、的消息(The magic words are squeamish ossifrage)作了编码。)作了编码。 Gardner刊登了那个刊登了那个密文,同时给出了密文,同时给出了N和和e。RSA公司还悬公司还悬赏赏100美元,奖给第一个破译这密码的人。美元,奖给第一个破译这密码的人。 然而数学史上往往有意外的事发生。这个叫阵的然而数学史上往往有意外的事发生。这个叫阵的RSA-129仅仅仅在十七年之后就败下阵来。一批松散组成的因子分解迷,仅在十七年之后就败下阵来。一批松散组成的因子分解迷,大约有六百多人,分布在二十几个国家。大约有六百多人,分布在二十几个国家。 他们经过八个月的努力最后于他们经过
17、八个月的努力最后于1994年年4月为月为RSA-129找到了找到了64位数和位数和65位数位数两个素数因子。两个素数因子。第第4 4章章 公钥密码体系公钥密码体系 1977年认为年认为512 bit的的n就很安全就很安全.512 bit对应十进制多少位对应十进制多少位?现在认为现在认为1024 bit才安全才安全!问题问题: 一个明文很大一个明文很大, 如何用非对称密钥加密如何用非对称密钥加密?分组分组!第第4 4章章 公钥密码体系公钥密码体系 公钥密码系统用于三个方面公钥密码系统用于三个方面 (1) 通信保密通信保密:此时将:此时将公钥作为加密密钥,私钥作为解公钥作为加密密钥,私钥作为解密密
18、钥密密钥,通信双方不需要交换密钥就可以实现保密通信,通信双方不需要交换密钥就可以实现保密通信。 Alice的公钥Joy明文输入加密算法,如RSA传输密文解密算法明文输出Alice的私钥Bob的公钥环TedAliceMike图10.1 通信保密 第第4 4章章 公钥密码体系公钥密码体系 (2) 数字签名数字签名:将:将私钥私钥作为加密密钥(数字签名),作为加密密钥(数字签名),公钥公钥作为解作为解密密钥(验证签名),可实现由一个用户对数据加密而使多个密密钥(验证签名),可实现由一个用户对数据加密而使多个用户解读。用户解读。Bob的公钥Joy明文输入加密算法,如RSA传输密文解密算法明文输出Bob
19、的私钥Alice的公钥环TedBobMike图10.2 数字签名 第第4 4章章 公钥密码体系公钥密码体系 (3) 密钥交换密钥交换:通信双方交换会话密钥,以加密:通信双方交换会话密钥,以加密通信双方通信双方后续连接后续连接所传输的信息。所传输的信息。 实际应用中,考虑实际应用中,考虑效率和安全性效率和安全性两个因素,通常两个因素,通常用非对称密钥密码传递用非对称密钥密码传递密钥密钥,用对称密钥密码系,用对称密钥密码系统实现统实现保密通信保密通信。Diffie -Hellman密钥交换协议密钥交换协议 -只能用来交换密钥只能用来交换密钥 公钥密码算法一般比对称算法慢公钥密码算法一般比对称算法慢
20、1000倍倍 第第4 4章章 公钥密码体系公钥密码体系 对称密钥与非对称密钥的比较对称密钥与非对称密钥的比较密钥密钥个数个数密钥是否密钥是否保密保密算法算法速度速度应用方面应用方面对称对称密钥密钥1保密保密置换、替换、置换、替换、移位、压缩、移位、压缩、扩展、异或扩展、异或快快保密通信保密通信非对非对称密称密钥钥2一个公开一个公开一个保密一个保密陷门单向函数陷门单向函数慢慢保密通信保密通信数字签名数字签名密钥交换密钥交换第第4 4章章 公钥密码体系公钥密码体系 RSA进行密钥分配的缺陷进行密钥分配的缺陷 通信的通信的某一方某一方决定密钥,决定密钥,密钥密钥不是不是保密通信双方保密通信双方共同协
21、商的结果。共同协商的结果。第第4 4章章 公钥密码体系公钥密码体系 4.3 Diffie-Hellman密钥交换密钥交换 4.3.1 Diffie-Hellman算法算法 Diffie-Hellman算法是算法是第一个第一个公开密钥算法,公开密钥算法,发明于发明于1976年。年。 Diffie-Hellman算法能够用于算法能够用于密钥分配密钥分配,但不,但不能用于加密或解密信息能用于加密或解密信息, 当然也不适用数字签当然也不适用数字签名。名。第第4 4章章 公钥密码体系公钥密码体系 l Diffie-Hellman算法的安全性在于在算法的安全性在于在有限域上计算离散有限域上计算离散对数非常
22、困难对数非常困难。 l 定义定义素数素数p的本原根的本原根(Primitive Root)为一种能生成为一种能生成1p1所有数的一个数,即如果所有数的一个数,即如果a为为p的本原根,则的本原根,则a mod p,a2 mod p,ap1 mod pl 两两互不相同,构成两两互不相同,构成1p1的的全体数的一个排列全体数的一个排列(例如例如p=11,a=2)。对于。对于任意数任意数b(bp)及素数及素数p的的本原根本原根a,可以,可以找到一个找到一个惟一惟一的指数的指数i,满足:,满足:b = ai mod p, 0ip1 称指数称指数i为以为以a为底模为底模p的的b的离散对数的离散对数。第第4
23、 4章章 公钥密码体系公钥密码体系 如果如果Alice和和Bob想在不安全的信道上交换密钥,他们可以采用如下步想在不安全的信道上交换密钥,他们可以采用如下步骤:骤: (1) Alice和和Bob协商一个大素数协商一个大素数p及及p的本原根的本原根a,a和和p可以公开;可以公开; (2) Alice秘密产生一个随机数秘密产生一个随机数x,计算,计算X=ax mod p,然后把,然后把X发发送给送给Bob; (3) Bob秘密产生一个随机数秘密产生一个随机数y,计算,计算Y= ay mod p,然后把,然后把Y发发送给送给Alice; (4) Alice计算计算k=Yx mod p; (5) Bo
24、b计算计算k=Xy mod p。 k和和k是恒等的,因为是恒等的,因为k= Yx mod p=(ay)x mod p=(ax)y mod p= Xy mod p= k 线路上的搭线窃听者只能得到线路上的搭线窃听者只能得到a、p、X和和Y的值,的值,除非能计算离散对除非能计算离散对数,恢复出数,恢复出x和和y,否则就无法得到,否则就无法得到k,因此,因此,k为为Alice和和Bob独立计算独立计算的秘密密钥。的秘密密钥。第第4 4章章 公钥密码体系公钥密码体系 图4-3 Diffie-Hellman密钥交换第第4 4章章 公钥密码体系公钥密码体系 下面用一个例子来说明上述过程。下面用一个例子来说
25、明上述过程。Alice和和Bob需进需进行密钥交换,如图行密钥交换,如图4-3所示,则:所示,则: 二者协商后决定采用素数二者协商后决定采用素数p=353及其本原根及其本原根a=3。 Alice选择随机数选择随机数x=97,计算,计算X=397 mod 35340,并,并发送给发送给Bob。 Bob选择随机数选择随机数y=233,计算,计算Y=3233 mod 353248,并发送给并发送给Alice。 Alice计算计算k=Yx mod p24897 mod 353=160。 Bob计算计算k=Xy mod p40233 mod 353=160。k和和k即为秘密密钥。即为秘密密钥。第第4 4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 章公钥 密码 系统
限制150内