文档库 最新最全的文档下载
当前位置:文档库 › RSA公钥密码体制

RSA公钥密码体制

RSA公钥密码体制
RSA公钥密码体制

RSA公钥密码体制

计算机网络环境下信息的保密性、完整性、可用性和抗抵赖性,都需要采用密码技术来解决,密码技术是信息安全的核心和关键技术。数据加密过程就是通过加密系统把原始的数字信息(明文),按照加密算法变换成与明文完全不同得数字信息(密文)的过程。密码体制大体分为对称密码(又称为私钥密码)和非对称密码(又称为公钥密码)两种。公钥密码在信息安全中担负起密钥协商、数字签名、消息认证等重要角色,已成为最核心的密码。

非对称算法也叫做公开密钥算法,用作加密的密钥不同于用作解密的密钥,而且解密密钥不能根据加密密钥计算出来(至少在合理假定的长时间内)。之所以叫做公开密钥算法,是因为加密密钥能够公开,即陌生者能用加密密钥加密信息,但只有用相应的解密密钥才能解密信息。但是从公钥中推导出私钥是很难的。 RSA、DSA等算法属于非对称算法,其中以RSA的应用最为广泛,不仅能用于加密同时又可以数字签名。

图1 公开密匙密码体制

RSA算法的优点是密钥空间大,缺点是加密速度慢,如果RSA和DES结合使用,则正好弥补RSA的缺点。即DES用于明文加密,RSA用于DES密钥的加密。由于DES加密速度快,适合加密较长的报文;而RSA可解决DES密钥分配的问题。

1 RSA公钥密码体制的优势

1.1 解决大规模网络应用中密钥的分发和管理问题

公钥密码加密密钥通常是公开的,而解密密钥是秘密的,由用户自己保存,不需要往返交换和传递,大大减少了密钥泄露的危险性。同时,在网络通信中使用对称密码体制时,网络内任何两个用户都需要使用互不相同的密钥,只有这样,才能保证不被第三方窃听,因而N个用户就要使用N(N–1)/2个密钥。在大型网络中,如果有100万个用户,则要使用4950万个密钥,密钥量太大,难以管理,而且使用起来非常麻烦。采用公钥密码体制,对于N个用户,每个用户只要保存好自己的一对密钥(一个公开,一个保密)即可,这样总共只需要产生N对密钥。仍以100万个用户为例,只需100万对密钥,需要秘密保存的仅100万个私钥,二者相差近50万倍,数量大大减少,

而且分发简单,安全性好。由此可见,只有公钥密码才能方便、可靠地解决大规模网络应用中密钥的分发和管理问题。

1.2 实现网络中的数字签名机制

对称密钥技术由于其自身的局限性,无法提供网络中的数字签名。这是因为数字签名是网络中表征人或机构的真实性的重要手段,数字签名的数据需要有惟一性、私有性,而对称密钥技术中的密钥至少需要在交互双方之间共享,因此,不满足惟一性、私有性,无法用做网络中的数字签名。相比之下,公钥密码技术由于存在一对公钥和私钥,私钥可以表征惟一性和私有性,而且经私钥加密的数据只能用与之对应的公钥来验证,其他人无法仿冒,所以,可以用做网络中的数字签名服务。具体而言,一段消息以发送方的私钥加密之后,任何拥有与该私钥相对应的公钥的人均可将它解密。由于该私钥只有发送方拥有,且该私钥是密藏不公开的,所以,以该私钥加密的信息可看做发送方对该信息的签名,其作用和现实中的手工签名一样有效而且具有不可抵赖性。如果某个客户不慎将自己的私钥泄露并且没有及时发觉,获知该私钥的任何一个用户都可以使用该私钥“冒充签名”,在法律上来看这种“冒充签名”依然具有法律效应,就如同某个人丢失了银行卡和密码一样。

2 RSA公钥密码体制

RSA是Rivest,Shamir,Adleman提出基于数论的非对称密钥体制。RSA是建立在大整数分解的困难上的,是一种分组密码体制。

1)RSA建立方法如下:①首先随机选两个大素数p,q,计算n=p·q;②计算欧拉函数φ(n)=(p-1)(q-1);③任选一个整数e为公开加密密钥,求出秘密解密密钥d:ed≡1 mod

φ(n),即:(ed–1)modφ(n)=0,由此推出ed=tφ(n)+1(t是大于等于1的正整数)。

2)加密/解密:将明文分成长度小于n位的明文块m,加密过程是:c=E(m,e)=memod n,解密过程是:m=D(c,d)=cd mod n。在用于数字签名时,发送方只须用己方的解密密钥d先"加密"即可,因为只有发送方自己知道自己的d,收方只有用对应的e"解密"才能知道明文,同时也验证了发方的身份

2 RSA公钥密码体制的应用

2.1 数字签名

长期以来的日常生活中,对于重要的文件,为了防止对文件的否认,伪造,篡改等等的破坏,传统的方法是在文件上手写签名。但是在计算机系统中无法使用手写签名,而代之对应的数字签名机制。数字签名应该能实现手写签名的作用,其本质特征就是仅能利用签名者的私有信息产生签名。因此,当它被验证时,它也能被信任的第三方(如法官)在任一时刻证明只有私有信息的唯一掌握者才能产生此签名。

数字签名具有以下特点:①签名是可信的;②签名是不能伪造的;③签名是不可重用的;④签名后的文件是不能更改的;⑤签名是不能否认的。

由于非对称密码体制的特点,对于数字签名的实现比在对称密码体制下要有效和简单的多。

2.2 RSA公钥签名技术

数字签名可以用秘密密钥利,也可用公开密钥。但采用秘密密钥是建立在有一个众人信任的中间机构的基础上,而采用公钥加密法进行数字签名则不受此限制,收发两方之间不需要任何可信赖机构。假定公开密钥加密和解密算法除了满足D(E(P))=P外,还能满足E(D(P))=P(RSA满足这两个条件,所以这个假定并不是不现实的)。那么发方A就可以通过EB(DA(P))的转换,将一条签名的明文信息P发给收方B。注意,A知道自己的私有解密密钥DA,还知道B的公开密钥EB,所以建立这条信息的工作应由A来做。当B收到这条消息后,他象往常一样用自己的私有密钥将它解密,得到DA(P)。他将这条信息放在一个安全的地方,然后用EA解密,得到初始的明文。需要说明的是,虽然使用公开密钥加密法进行数字签名的是一个很好的方法,但仍有一些问题存在于它们所应用的环境而不是算法。只有当DA保密时,B才能证明某条信息是A发送来的。如果A公开了它的私有密钥,那么证据就不成立了,因为任何人包括B都可以发送这条消息。

本文中主要介绍了加密技术在网络安全中的应用,加密算法中主要介绍了非对称加密算法RSA,并对其优势做了阐述,最后对RSA公钥密码体制的应用进行了介绍和分析。

参考文献:

[1]段云所:网络信息安全讲稿.北京大学计算机系,2001

[2]余登安::计算机信息网络安全初探.电脑知识与技术,2008.11

[3]戴双玲:信息网络安全体系的探讨.新疆石油科技,2008.3

[4]江常青:国家基础信息网络安全保障与评估,通信市场,2007.3

相关文档