欢迎来到天天文库
浏览记录
ID:44948100
大小:135.00 KB
页数:29页
时间:2019-11-05
《计算机网络安全技术第4章new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章公开密钥密码体制前面介绍的对称密码体制就是传统密码体制,在传统密码体制中,加密密钥和解秘密钥是一样的,任何人只要获得加密密钥就可以得到解密密钥,从而可以对加密密钥加密的密文进行解密,获得明文。因此传统密码体制中,密钥是不公开的,任何通信的双方只有先确定密钥才能进行保密通信。在当今信息社会里,计算机及计算机通信网络已广泛用于社会的各个领域。利用计算机网络进行资金的转移、商业谈判、采购销售等商务活动比以前更加方便快捷,而这些商务活动的信息从某种意义上来说就是财富,因此其信息的保密是人们迫切需要的。假如一个计算机网络有n个用户,那么网络就需要有n(n-1)/2个密钥。当n
2、较大时,这个数是很大的。同时为了安全的需要,通信双方要不断的改变密钥,如此大的密钥要经常的产生、分配与更换,其困难性是可想而知的。有时甚至是不可能实现的;另方面,利用计算机网络进行以上活动,其信息的真实性也是人们迫切需要的。为了防止诈骗,通信双方必须对对方身份进行验证,有时还需要通信双方对信息进行签名,以便在发生纠纷时,能够提交第三者(如法院)进行仲裁。这一切都使传统的密码体制越来越不能适应计算机网络保密通信的要求了,人们迫切需要寻找新的密码体制。大家知道,现实社会中存在一些所谓单向“街道”,沿着这些街道从A地到B地很容易,而从B地到A地就很难,比如说一个大城市的电话簿,
3、给定一个人的姓名,你就可以很容易地按姓氏笔画查出他的电话号码;而任意给定一个电话号码,要知道是谁的电话号码就很困难,有时需要查阅整个电话簿。这就是单向函数。定义4.1.1函数f(x)是单向函数,如果给定x,求f(x)是容易的;而给定f(x),求x则是困难的,这里的难意味着即使世界上所有的计算机都用来计算这个难题,也要费很长时间。前面介绍的整数分解、背包和离散对数的NP-问题就是单向函数。1976年,美国学者Diffie和Hellman根据单向函数的概念提出了公开密码密钥体制,引起了密码学的一场革命。公开密钥密码体制从根本上克服了传统密码体制的困难,解决了密码分配和消息认证
4、等问题,特别适合计算机网络系统的应用。公开密钥密码体制简称公钥体制,其基本思想是利用求解某些数学难题的困难性,它与传统密码体制不同,用户的加密密钥和解密密钥不再相同,从加密密钥求解解密密钥是非常困难的。因此用户可以公开加密密钥,登记在网络的密钥数据库中,就像把自己的电话号码公开在电话号码本上,任何人要与某个用户U通信,只要在公开的密钥数据库中查得用户U的加密密钥,用此加密密钥将明文加密为密文,将密文传送到指定用户U,任何人没有解密密钥都不能恢复出明文。用户U可以用仅有自己知道的解密密钥对接收到的密文进行解密,恢复出明文,从而完成保密通信。在公钥体制中,加密密钥往往就是加密
5、变换,记为E,解密密钥往往就是解密变换,记为D。因此下面介绍几种常见的公钥体制。4.1RSA体制和Rabin体制在Siffie和Hellman提出了公开密钥密码体制的设想以后,先后由Merkle和Hellman提出了背包公钥体制,Rivest,Shamir和Adlmaml联合提出简称为RSA的公钥体制。背包密码体制稍后介绍,本节介绍RSA体制及其变形。1.RSA体制RSA体制是美国麻省理工学院(MIT)Rivest,Shamir和Adlerman于1978年提出来的,它是第一个成熟的、迄今为止理论上最为成功的密码体制,它的安全性基于数论中的Euler定理和计算复杂性理论中
6、的下述论断:求两个大素数的乘积是容易计算的,但要分解两个大素数的乘积,求出他们的素因子是非常困难的,它属于NP-完全类。下面讨论RSA加、解密过程。1)密钥生成(1)随机选取两个大素数(比如200位十进制数)p和q,令N=pq,随机选取两个整数e和d的积与(N)互素,即ed1mod(N);注:(N)就是第二章介绍的Euler函数。(2)公开N,e,作为E,记作E=(N,E);(3)保密p,q,d与(N)作为D,记作D=(p,q,d,(N))(其实p,q可以丢掉,但决不能泄漏);2)加密过程(1)在公开密钥数据库中查得用户U的公钥:E=(N,e);(2)将明文分
7、组x=x1x2…xr,使得每个xi≤N,i=1,2,…r;(3)对每组明文作加密变换yi=E(xi)≡xiemodN,i=1,2,…r;(4)将密文y=y1y2…yr传送给用户U。3)解密过程(1)先对每一组密文作解密变换xi=D(yi)≡yidmodN(2)合并组得到明文x=x1x2…xr。下面证明解密过程是正确的:设xi与N互素,即gcd(xi,N)=1∵ed≡1mod(N)∴存在某个整数k,使得ed≡1+k(N)D(yi)≡yidmodN≡xiedmodN≡xi1+k(N)modN≡xixik(N)modN≡xi
此文档下载收益归作者所有